A place where all infrastructure is taken care of.
Background
The following tools are used:
Areas
Each folder takes care of an area of infrastructure. Each area has a package that is used as the entry point, so it is a facade.
Setup
To setup a new area follow the following:
- Run
pulumi new
.
- Choose the template you need, if in doubt choose
go
.
- The stack name should always be
prod
.
Applications (apps)
This consists of my open source projects https://github.com/alexfalkowski being deployed to kubernetes.
Install
The above is for a new application. If you want to setup all current apps, run the following.
❯ make -C area/apps setup
Delete
To remove all the apps, you need to run the following:
❯ make -C area/apps delete
Cloudflare (cf)
The code is bases on the package https://www.pulumi.com/registry/packages/cloudflare/.
DigitalOcean (do)
The code is bases on the package https://www.pulumi.com/registry/packages/digitalocean/.
GitHub (gh)
The code is based on the package https://www.pulumi.com/registry/packages/github/.
The original idea was inspired from https://github.com/dirien/pulumi-github.
Creation
There is a caveat when creating repositories, that requires a 2 step process.
The first step is to have:
EnablePages: false
Then the second PR, we set it to:
EnablePages: true
The reason for this is that there seems to be a timing issue with creating the master
branch.
Kubernetes (k8s)
This contains all the packages our cluster needs.
Setup
To ge the cluster ready, you need to run the following:
❯ make -C area/k8s setup update
Delete
To remove all the apps, you need to run the following:
❯ make -C area/k8s delete
Dependencies