Getting Started
Geodesic
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.
Tools
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
Makefile
system 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:
Kubernetes
Kubernetes is a massive part of our solutions. Our Kubernetes documentation is geared towards leveraging our Terraform EKS modules and helmfile
.
Helm
Helm is central to how we deploy all services on kubernetes.
- helm is essentially the package manager for Kubernetes (like
npm
for Node,gem
for Ruby, andrpm
for RHEL) - 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.yaml
to define how that's done.
Terraform
Study up on our Best Practices for working with terraform. Get started quickly provisioning infrastructure by referencing our terraform-aws-components.
Terraform Modules
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.
Contributing Back
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 APACHE2
.
Drop us a line at [email protected] to get in touch with us about contributing.
Getting Help
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.