Skip to content
 
 

Repository files navigation

Elastic CI Stack for GCP

Railway fork. Everything Railway-specific lives under railway/: the packer layer that builds our agent image on top of Buildkite's published one, plus its own README. The rest of this tree, including packer/linux/ and templates/, is upstream's and builds their image, so a change there never reaches our pools. Put pool changes under railway/ and send everything else upstream.

main is upstream main plus railway/ plus five small patches to upstream files, which are what an upstream sync has to carry forward:

  • buildkite_spawn: agents per instance, from variables.tf through modules/compute/{main,variables}.tf into the buildkite-spawn metadata, templates/scripts/bootstrap-buildkite-agent, and templates/config/buildkite-agent.cfg.template (name=...-%spawn, spawn=).
  • health_check_type / health_check_request_path: http autohealing checks (variables.tf, modules/compute/{main,variables}.tf).
  • root_disk_type validation accepts hyperdisk (modules/compute/variables.tf).
  • zones validation tolerates an unknown value at plan time (variables.tf).
  • Metrics function audience uses the function's own URI (modules/buildkite-agent-metrics/main.tf).

Sync with git merge upstream/main on a branch and merge that PR with a merge commit, so upstream stays an ancestor of main; git diff <upstream base> main -- . ':!railway' shows exactly the patch set above and nothing else.

Build status

Terraform modules for running autoscaling Buildkite agents on Google Cloud Platform.

Documentation

Full documentation is available at https://buildkite.com/docs/agent/v3/gcp/elastic-ci-stack/elastic-ci-stack.

Repository documentation:

Getting Started

The module ships with a set of default values which can be overridden as needed, but should be sufficient for most use cases.

module "elastic-ci-stack-for-gcp" {
  source  = "buildkite/elastic-ci-stack-for-gcp/buildkite"
  version = "~> 0.4.0"

  # Required
  project_id                  = "your-gcp-project"
  buildkite_organization_slug = "your-org-slug"
  buildkite_agent_token       = "YOUR_AGENT_TOKEN"
}

Contributing

See Contributing Guidelines.

License

MIT

About

An auto-scaling cluster of build agents running on your own GCP infrastructure.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages