Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Same. The simple fact that every PR can deploy a full stack, including RDS and managed Redis if desired, automatically in it's own namespace with proper DNS pointing to services is a massive win for us. As in, if you label the PR then it all happens automatically and then it all shuts down automatically when the PR is closed.


Do you have any resource to how to set that up? I’m interested!


Should make a blog post but in short:

- Every service is deployed via a Helm chart and using containers

- GitHub actions build the container and deploy the helm chart

Some of the details that matter:

- ACK is used to create AWS services (RDS, Redis, etc.) via Helm charts (we also have a container option for helm charts as it's faster and less expensive)

- External Secrets is used to create secrets in the new namespace and also do things like generate RDS passwords

- ExternalDNS creates DNS entries in Route53 from the Ingress objects

- Namespace name is generated automatically from the branch name

- Docker images use the git hash for the tag

Some things that are choices:

- Monorepo although each service aims to be as self-contained as possible.

- Docker context is the git root as this allows for a service to include shared libraries from the repo when creating a container. This is for case where we break the previous rule.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: