Skip to content

Commit c04599e

Browse files
committed
a chart to deploy github runners
1 parent b4042b0 commit c04599e

File tree

3 files changed

+83
-0
lines changed

3 files changed

+83
-0
lines changed

charts/github-runners/Chart.yaml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
apiVersion: v2
2+
name: github-runners
3+
description: A Helm chart to create GitHub Actions runners
4+
maintainers:
5+
- name: Holaplex Engineering
6+
7+
8+
# A chart can be either an 'application' or a 'library' chart.
9+
#
10+
# Application charts are a collection of templates that can be packaged into versioned archives
11+
# to be deployed.
12+
#
13+
# Library charts provide useful utilities or functions for the chart developer. They're included as
14+
# a dependency of application charts to inject those utilities and functions into the rendering
15+
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
16+
type: application
17+
18+
# This is the chart version. This version number should be incremented each time you make changes
19+
# to the chart and its templates, including the app version.
20+
# Versions are expected to follow Semantic Versioning (https://semver.org/)
21+
22+
version: 0.1.0
23+
24+
# This is the version number of the application being deployed. This version number should be
25+
# incremented each time you make changes to the application. Versions are not expected to
26+
# follow Semantic Versioning. They should reflect the version the application is using.
27+
# It is recommended to use it with quotes.
28+
appVersion: 0.1.0
29+
sources:
30+
- https://github.com/holaplex/helm-charts
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{{- $organizationName := .Values.organization -}}
2+
{{- range .Values.runners }}
3+
{{- $runner := . -}}
4+
{{- range .architectures }}
5+
---
6+
apiVersion: actions.summerwind.dev/v1alpha1
7+
kind: RunnerDeployment
8+
metadata:
9+
name: {{ $runner.name }}-{{ . }}
10+
namespace: actions-runner-system
11+
spec:
12+
template:
13+
spec:
14+
labels:
15+
- {{ . }}
16+
{{- if eq . "amd64" }}
17+
- self-hosted
18+
{{- end }}
19+
nodeSelector:
20+
kubernetes.io/arch: {{ . }}
21+
tolerations:
22+
- key: "kubernetes.io/arch"
23+
operator: "Equal"
24+
value: {{ . }}
25+
effect: "NoSchedule"
26+
repository: {{ $organizationName }}/{{ $runner.name }}
27+
---
28+
apiVersion: actions.summerwind.dev/v1alpha1
29+
kind: HorizontalRunnerAutoscaler
30+
metadata:
31+
name: {{ $runner.name }}-{{ . }}
32+
spec:
33+
scaleTargetRef:
34+
kind: RunnerDeployment
35+
name: {{ $runner.name }}-{{ . }}
36+
minReplicas: {{ $runner.replicas.min }}
37+
maxReplicas: {{ $runner.replicas.max }}
38+
metrics:
39+
- type: TotalNumberOfQueuedAndInProgressWorkflowRuns
40+
repositoryNames:
41+
- {{ $organizationName }}/{{ $runner.name }}
42+
{{- end }}
43+
{{- end }}

charts/github-runners/values.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
organization: holaplex
2+
runners: []
3+
# - name: hub-nfts-polygon
4+
# repository: hub-nfts-polygon
5+
# architectures:
6+
# - arm64
7+
# - amd64
8+
# replicas:
9+
# min: 0
10+
# max: 5

0 commit comments

Comments
 (0)