tvl-depot/ops/buildkite
Vincent Ambo 469189afd3 feat(ops/buildkite): Import tvl-kit pipeline
Change-Id: I21f6e0adba3dca3be741761a226ab6810d8bcf8d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5841
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-06-06 11:05:12 +00:00
..
.gitignore feat(ops/buildkite): Bootstrap Buildkite Terraform configuration 2022-06-06 11:05:12 +00:00
default.nix feat(ops/buildkite): Bootstrap Buildkite Terraform configuration 2022-06-06 11:05:12 +00:00
README.md docs(ops/buildkite): Add documentation about this config 2022-06-06 11:05:12 +00:00
steps-depot.yml feat(ops/buildkite): Import main depot pipeline 2022-06-06 11:05:12 +00:00
steps-tvl-kit.yml feat(ops/buildkite): Import tvl-kit pipeline 2022-06-06 11:05:12 +00:00
tvl.tf feat(ops/buildkite): Import tvl-kit pipeline 2022-06-06 11:05:12 +00:00

Buildkite configuration

This contains Terraform configuration for setting up our Buildkite pipelines.

Each pipeline (such as the one for depot itself, or exported subsets of the depot) needs some static configuration stored in Buildkite.

Through //tools/depot-deps a tf-buildkite binary is made available which contains a Terraform binary pre-configured with the correct providers. This is automatically on your $PATH through direnv.

However, secrets still need to be loaded to access the Terraform state and speak to the Buildkite API. These are available to certain users through //ops/secrets.

This can be done with separate direnv configuration, for example:

# //ops/buildkite/.envrc
source_up
eval $(age --decrypt -i ~/.ssh/id_ed25519 $(git rev-parse --show-toplevel)/ops/secrets/tf-buildkite.age)