actions-runner-controller/charts/actions-runner-controller/templates
Yusuke Kuoka ab1c39de57
feat: HorizontalRunnerAutoscaler Webhook server (#282)
* feat: HorizontalRunnerAutoscaler Webhook server

This introduces a Webhook server that responds GitHub `check_run`, `pull_request`, and `push` events by scaling up matched HorizontalRunnerAutoscaler by 1 replica. This allows you to immediately add "resource slack" for future GitHub Actions job runs, without waiting next sync period to add insufficient runners.

This feature is highly inspired by https://github.com/philips-labs/terraform-aws-github-runner. terraform-aws-github-runner can manage one set of runners per deployment, where actions-runner-controller with this feature can manage as many sets of runners as you declare with HorizontalRunnerAutoscaler and RunnerDeployment pairs.

On each GitHub event received, the webhook server queries repository-wide and organizational runners from the cluster and searches for the single target to scale up. The webhook server tries to match HorizontalRunnerAutoscaler.Spec.ScaleUpTriggers[].GitHubEvent.[CheckRun|Push|PullRequest] against the event and if it finds only one HRA, it is the scale target. If none or two or more targets are found for repository-wide runners, it does the same on organizational runners.

Changes:

* Fix integration test
* Update manifests
* chart: Add support for github webhook server
* dockerfile: Include github-webhook-server binary
* Do not import unversioned go-github
* Update README
2021-02-07 17:37:27 +09:00
..
NOTES.txt Start collaborating to develop a Helm chart 2020-11-14 20:15:42 +09:00
_github_webhook_server_helpers.tpl feat: HorizontalRunnerAutoscaler Webhook server (#282) 2021-02-07 17:37:27 +09:00
_helpers.tpl Add GitHub Actions to publish helm chart (#257) 2021-01-24 15:37:01 +09:00
auth_proxy_role.yaml Ensure the chart is passing acceptance tests 2020-11-14 21:58:16 +09:00
auth_proxy_role_binding.yaml Ensure the chart is passing acceptance tests 2020-11-14 21:58:16 +09:00
auth_proxy_service.yaml Ensure the chart is passing acceptance tests 2020-11-14 21:58:16 +09:00
certificate.yaml Ensure the chart is passing acceptance tests 2020-11-14 21:58:16 +09:00
ci-secret.yaml Add GitHub Actions to publish helm chart (#257) 2021-01-24 15:37:01 +09:00
deployment.yaml Add support for additional environment variables (#271) 2021-01-25 09:00:03 +09:00
githubwebhook.deployment.yaml feat: HorizontalRunnerAutoscaler Webhook server (#282) 2021-02-07 17:37:27 +09:00
githubwebhook.role.yaml feat: HorizontalRunnerAutoscaler Webhook server (#282) 2021-02-07 17:37:27 +09:00
githubwebhook.secrets.yaml feat: HorizontalRunnerAutoscaler Webhook server (#282) 2021-02-07 17:37:27 +09:00
githubwebhook.service.yaml feat: HorizontalRunnerAutoscaler Webhook server (#282) 2021-02-07 17:37:27 +09:00
githubwebhook.serviceaccount.yaml feat: HorizontalRunnerAutoscaler Webhook server (#282) 2021-02-07 17:37:27 +09:00
leader_election_role.yaml Ensure the chart is passing acceptance tests 2020-11-14 21:58:16 +09:00
leader_election_role_binding.yaml Ensure the chart is passing acceptance tests 2020-11-14 21:58:16 +09:00
manager_role.yaml Ensure the chart is passing acceptance tests 2020-11-14 21:58:16 +09:00
manager_role_binding.yaml Ensure the chart is passing acceptance tests 2020-11-14 21:58:16 +09:00
manager_secrets.yaml feat/helm: add manager secret to Helm chart (#254) 2021-01-22 10:03:25 +09:00
runner_editor_role.yaml Ensure the chart is passing acceptance tests 2020-11-14 21:58:16 +09:00
runner_viewer_role.yaml Ensure the chart is passing acceptance tests 2020-11-14 21:58:16 +09:00
serviceaccount.yaml Ensure the chart is passing acceptance tests 2020-11-14 21:58:16 +09:00
webhook_configs.yaml Ensure the chart is passing acceptance tests 2020-11-14 21:58:16 +09:00
webhook_service.yaml Ensure the chart is passing acceptance tests 2020-11-14 21:58:16 +09:00