tvl-depot/ops/buildkite
Vincent Ambo 72f91f032b refactor(ops/buildkite): Use tools.checks.validateTerraform
Remove some code duplication.

Change-Id: I7ff49e728e1bd584bca3b84cdc033d93e60aefc2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5851
Tested-by: BuildkiteCI
Reviewed-by: asmundo <asmundo@gmail.com>
2022-06-07 09:32:13 +00:00
..
.gitignore feat(ops/buildkite): Bootstrap Buildkite Terraform configuration 2022-06-06 11:05:12 +00:00
default.nix refactor(ops/buildkite): Use tools.checks.validateTerraform 2022-06-07 09:32:13 +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)