tvl-depot/ops/buildkite
Vincent Ambo af44916312 test(ops/buildkite): Validate Terraform configuration in CI
Change-Id: Ieef4d7d0a717107ee67432474683f3344b6561f8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5842
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 test(ops/buildkite): Validate Terraform configuration in CI 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)