Skip to content

Developer On-boarding

This documentation is meant for new developers at Caktus Consulting Group. It describes our particular setup and development workflow. It is not meant as a prescription but as a path that is well tested and known to work. Of course there are some steps, which if not followed, will result in an inability to use or access services, or result in a difficult time seeking help from your fellow developers. So if you know the consequences of straying from the Golden Path feel free to play around with these setup steps. If you are fresh-faced and apple cheeked, best to follow exactly.

See you on the other side and happy coding.

Caktus' "Golden Path"

Note

Assumptions about what is or is not "Golden Path", or even if it is a good idea to have a Golden Path, were made solely by me (Jeremy Gibson). Today. During shipit.

We (okay I) have stolen the idea of the Golden Path from a Spotify blog post. The idea is, as they put it in their post, that:

Quote

This is the way we support an easy and streamlined way of working. If you are an adventurer you can of course leave the Golden Path and do your own thing, but then you will not have the same support.

Core Stack

The following are the primary technologies that we use right now.

  1. Python
  2. Django
  3. Wagtail
  4. PostgreSQL
  5. Ansible
  6. React
  7. Kubernetes
  8. AWS

Dev Environment Summary (Google Drawing)

Support Stack

hic sunt dracones

This is where those of you who feel like striking off from the Golden Path would typically do so.

This stack is more fungible than the core stack and may change, or may not even apply.

If you are working on a project that comes from jade-truffle, then these will be assumed.

  1. direnv
  2. pip-tools
  3. pyenv
  4. nvm
  5. invoke-kubesae
  6. Docker

Experimental Stack

  1. Poetry
  2. PDM

Note

If you have an M1 start there.

  1. M1
  2. AWS Setup
  3. Kubernetes Setup

Last update: 2024-05-08