Start with getting familiar with the geodesic.
Get intimately familiar with docker inheritance and multi-stage docker builds. We use this pattern extensively.
Check out our terraform-aws-components for reference architectures to easily provision infrastructure
Tons of tools/clis are used as part of our solution. We distribute these tools in a couple of different ways.
- Geodesic bundles most of these tools as part of the geodesic base image
- Our packages repo provides an embeddable
Makefilesystem for installing packages in other contexts (e.g.
build-harness). This can also be used for local ("native") development contexts.
Here are some of the most important tools to be aware of:
If using kubernetes, then also review these tools:
Helm is central to how we deploy all services on kubernetes.
- helm is essentially the package manager for Kubernetes (like
gemfor Ruby, and
- helm charts are how kubernetes resources are templatized using Go templates
- helmfiles are used to define a distribution of helm charts. So if you want to install prometheus, grafana, nginx-ingress, kube-lego, etc, we use a
helmfile.yamlto define how that's done.
We provide a staggering number of Terraform modules in our GitHub. This number is growing every week and we're also accepting module contributions.
Before writing your own modules, review our Best Practices for working with Terraform modules.
Everything we provide on our GitHub wouldn't have been possible if it weren't for our phenomenal customers and the support of the community contributing bug-fixes, filing issues and submitting a steady stream of Pull Requests.
We welcome any Terraform module submissions, Helm charts, and generally any other useful tools that others could benefit from. Our only requirement is that they be licensed under
Drop us a line at [email protected] to get in touch with us about contributing.
Review our glossary if there are any terms that are confusing.
File issues anywhere you find the documentation lacking by going to our docs repo.
Join our Slack Community and speak directly with the maintainers
We provide "white glove" DevOps support. Get in touch with us today!
Schedule Time with us.