blob: 8eb3049cff4afe3921c2d09a44503b172204eef6 [file]
#!/bin/bash
set -euxo pipefail
# Get all the Buildkite agent tokens.
mkdir -p /etc/buildkite-agent-metrics
cat > /etc/buildkite-agent-metrics/trusted <<EOF
BUILDKITE_AGENT_TOKEN=$(gcloud secrets versions access latest --secret="bazel-trusted-buildkite-agent-token" --project bazel-public)
GCP_PROJECT=bazel-public
EOF
cat > /etc/buildkite-agent-metrics/testing <<EOF
BUILDKITE_AGENT_TOKEN=$(gcloud secrets versions access latest --secret="bazel-testing-buildkite-agent-token" --project bazel-untrusted)
GCP_PROJECT=bazel-untrusted
EOF
cat > /etc/buildkite-agent-metrics/untrusted <<EOF
BUILDKITE_AGENT_TOKEN=$(gcloud secrets versions access latest --secret="bazel-buildkite-agent-token" --project bazel-untrusted)
GCP_PROJECT=bazel-untrusted
EOF
# Download the latest buildkite-agent-metrics release.
curl -fsSL -o /usr/local/bin/buildkite-agent-metrics \
https://storage.googleapis.com/bazel-ci/buildkite-agent-metrics/20190906-8188dca2affcd2ffd45875af6761adacbe60bf28/buildkite-agent-metrics-linux-amd64
chmod +x /usr/local/bin/buildkite-agent-metrics
# Create systemd unit files for each service.
cat > /etc/systemd/system/buildkite-agent-metrics@.service <<'EOF'
[Unit]
Description=Buildkite Agent Metrics (%i)
After=network.target
[Service]
Type=exec
Restart=always
RestartSec=10
StartLimitIntervalSec=0
EnvironmentFile=/etc/buildkite-agent-metrics/%i
ExecStart=/usr/local/bin/buildkite-agent-metrics -token $BUILDKITE_AGENT_TOKEN -interval 30s -backend stackdriver -stackdriver-projectid $GCP_PROJECT
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start buildkite-agent-metrics@trusted.service
systemctl start buildkite-agent-metrics@testing.service
systemctl start buildkite-agent-metrics@untrusted.service