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.getcompute.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
Metadata
Release files for gitlab-gce-autoscaler 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gitlab-gce-autoscaler-0.1.3.tar.gz | 3.8 kB | Details |
Release files / gitlab-gce-autoscaler-0.1.3.tar.gz
| Download URL | gitlab-gce-autoscaler-0.1.3.tar.gz |
|---|---|
| Size | 3.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9f42d84453d71b1e648930532c7b647dc2058a9ad377b0e81b53356a35cc9018
|
|
BLAKE2b-256 checksum How to use checksums |
c30bf563245f13f512c689ecfea553066b67c63c62ac468530d4e9a4bd2e7d6b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7
|