Perhaps the best place to start would be how to ma...
# prefect-contributors
Perhaps the best place to start would be how to map the description in the doc onto pods and services: • UI: the user inteface that provides a visual dashboard for mutating and querying metadata • Apollo: the main endpoint for interacting with the server • PostgreSQL: the database persistence layer where metadata is stored • Hasura: the GraphQL API that layers on top of Postgres for querying metadata • GraphQL: the server’s business logic that exposes GraphQL mutations • Towel: runs utilities that are responsible for server maintenance • _Scheduler_: schedules and creates new flow runs • _Zombie Killer_: marks task runs as failed if they fail to heartbeat • _Lazarus_: reschedules flow runs that maintain an unusual state for a period of time
Can hasura and postgres be in same pod, with postgres container optional, and an init container to do creation and/or upgrade? If nothing else accesses postgres directly, we could avoid having a service for it.
I have had very good luck moving off from Docker and into Podman, which pretty much rewards moving everything into a pod. Something that I've found helpful is once a pod is setup in Podman, a kube config Pod v1 file can be generated. It's super helpful for lining up deployments and services later. An example container-by-container example of creating a pod with Prefect server using Podman: