Very simple autoscaler for GCE instance groups & GitLab CI
Project description
GitLab GCE Autoscaler
A very simple autoscaler for GitLab CI on GCE
Features
- watches a GitLab pipeline for queued jobs
- scales a GCE instance group to meet demand
That's it 😄
Synopsis
$ gitlab-gce-autoscaler --help
Usage: gitlab-gce-autoscaler [OPTIONS]
Options:
--project-id TEXT GCE project ID
--gce-zone TEXT GCE zone
--gce-instance-group-name TEXT Name of GCE instance group [required]
--job-filter TEXT Filter job names by this comma separated
list of keywords
--interval INTEGER Interval (in seconds) to poll GitLab API
--gitlab-project-ids TEXT Comma separate list of GitLab projects IDs
to poll for jobs [required]
--gitlab-personal-token TEXT GitLab API token [required]
--slots-per-instance INTEGER Target number of slots per instance
--help Show this message and exit.
Helm Chart
There's a Helm chart included in the repo. To use it, you'll need to create a service account on GCE with the following permissions:
compute.instanceGroupManagers.get
compute.instanceGroupManagers.update
Then, create a secret with the service account credentials:
$ kubectl create secret generic gitlab-gce-autoscaler --from-file=service-account-creds.json=service-account.json
secret/gitlab-gce-autoscaler created
Now install the chart:
$ helm upgrade --install gitlab-gce-autoscaler helm/gitlab-gce-autoscaler -f myvalues.yaml
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for gitlab-gce-autoscaler-0.1.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | b71289ec90a08ba9c173d8bd44f9173496a33512d0d52dc503cd2f0723b6c060 |
|
MD5 | 85ff6f79184bcf3123bcfa9b2ea7cb08 |
|
BLAKE2b-256 | 979afa122c3bd78019af42dec93e5593bd16f8def7692ad6b6af2422a90c8b77 |