Packaging temporal server and client in a standalone-application

Hi Folks,

I am thinking of using Temporal in a client-side deployed product which is distributed as a binary. The product itself will be written in Golang.

Due to the distribution mechansim, the binary needs to be self-contained.

As covered in - All the ways to run a Temporal Cluster | Temporal Documentation

I should be able to run the Temporal Server inside a goroutine by importing the server package. Similarly, I can also run the workers by creating the temporal client inside another goroutine.

With this approach, it should be possible to create a self-hosted application containing both the Temporal server, the client and the activities, right?