Skip to main content

Very simple autoscaler for GCE instance groups & GitLab CI

Project description

Build Status PyPI version

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.

Files for gitlab-gce-autoscaler, version 0.1.3
Filename, size File type Python version Upload date Hashes
Filename, size gitlab-gce-autoscaler-0.1.3.tar.gz (3.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page