feat: add forgejo-runner
This commit is contained in:
@@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: forgejo-runner
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 10m0s
|
||||||
|
path: ./clusters/homelab/apps/forgejo-runner
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: flux-system
|
||||||
|
decryption:
|
||||||
|
provider: sops
|
||||||
|
secretRef:
|
||||||
|
name: sops-age
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: forgejo-runner-config
|
||||||
|
namespace: forgejo-runner
|
||||||
|
data:
|
||||||
|
config.yaml: |
|
||||||
|
log:
|
||||||
|
level: info
|
||||||
|
runner:
|
||||||
|
file: .runner
|
||||||
|
capacity: 2
|
||||||
|
timeout: 3h
|
||||||
|
insecure: false
|
||||||
|
cache:
|
||||||
|
enabled: true
|
||||||
|
dir: /cache
|
||||||
|
container:
|
||||||
|
network: bridge
|
||||||
|
privileged: true
|
||||||
|
valid_volumes:
|
||||||
|
- /cache
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: forgejo-runner
|
||||||
|
namespace: forgejo-runner
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: forgejo-runner
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: forgejo-runner
|
||||||
|
spec:
|
||||||
|
serviceAccountName: forgejo-runner
|
||||||
|
initContainers:
|
||||||
|
- name: runner-register
|
||||||
|
image: code.forgejo.org/forgejo/runner:6.3.1
|
||||||
|
command:
|
||||||
|
- forgejo-runner
|
||||||
|
- register
|
||||||
|
- --no-interactive
|
||||||
|
- --config
|
||||||
|
- /config/config.yaml
|
||||||
|
- --token
|
||||||
|
- $(REGISTRATION_TOKEN)
|
||||||
|
- --name
|
||||||
|
- $(RUNNER_NAME)
|
||||||
|
- --instance
|
||||||
|
- $(FORGEJO_INSTANCE_URL)
|
||||||
|
- --labels
|
||||||
|
- "docker:docker://node:20-bullseye"
|
||||||
|
env:
|
||||||
|
- name: REGISTRATION_TOKEN
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: forgejo-runner-secret
|
||||||
|
key: REGISTRATION_TOKEN
|
||||||
|
- name: RUNNER_NAME
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: forgejo-runner-secret
|
||||||
|
key: RUNNER_NAME
|
||||||
|
- name: FORGEJO_INSTANCE_URL
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: forgejo-runner-secret
|
||||||
|
key: FORGEJO_INSTANCE_URL
|
||||||
|
volumeMounts:
|
||||||
|
- name: config
|
||||||
|
mountPath: /config
|
||||||
|
- name: runner-data
|
||||||
|
mountPath: /data
|
||||||
|
containers:
|
||||||
|
- name: runner
|
||||||
|
image: code.forgejo.org/forgejo/runner:6.3.1
|
||||||
|
command:
|
||||||
|
- forgejo-runner
|
||||||
|
- daemon
|
||||||
|
- --config
|
||||||
|
- /config/config.yaml
|
||||||
|
env:
|
||||||
|
- name: DOCKER_HOST
|
||||||
|
value: tcp://localhost:2376
|
||||||
|
- name: DOCKER_TLS_CERTDIR
|
||||||
|
value: /certs
|
||||||
|
- name: DOCKER_TLS_VERIFY
|
||||||
|
value: "1"
|
||||||
|
- name: DOCKER_CERT_PATH
|
||||||
|
value: /certs/client
|
||||||
|
volumeMounts:
|
||||||
|
- name: config
|
||||||
|
mountPath: /config
|
||||||
|
- name: runner-data
|
||||||
|
mountPath: /data
|
||||||
|
- name: docker-certs
|
||||||
|
mountPath: /certs
|
||||||
|
- name: cache
|
||||||
|
mountPath: /cache
|
||||||
|
- name: dind
|
||||||
|
image: docker:27-dind
|
||||||
|
securityContext:
|
||||||
|
privileged: true
|
||||||
|
env:
|
||||||
|
- name: DOCKER_TLS_CERTDIR
|
||||||
|
value: /certs
|
||||||
|
volumeMounts:
|
||||||
|
- name: docker-certs
|
||||||
|
mountPath: /certs
|
||||||
|
- name: cache
|
||||||
|
mountPath: /cache
|
||||||
|
volumes:
|
||||||
|
- name: config
|
||||||
|
configMap:
|
||||||
|
name: forgejo-runner-config
|
||||||
|
- name: runner-data
|
||||||
|
emptyDir: {}
|
||||||
|
- name: docker-certs
|
||||||
|
emptyDir: {}
|
||||||
|
- name: cache
|
||||||
|
emptyDir: {}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- namespace.yaml
|
||||||
|
- serviceaccount.yaml
|
||||||
|
- configmap.yaml
|
||||||
|
- secret.sops.yaml
|
||||||
|
- deployment.yaml
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: forgejo-runner
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
apiVersion: ENC[AES256_GCM,data:A+0=,iv:RiEw7RstCEPY6+XFihiJmA4HTcVNko9Gq9yw9Mv5fRA=,tag:yUM+O985LjDXBEtiiwBYeg==,type:str]
|
||||||
|
kind: ENC[AES256_GCM,data:yWK8r5Va,iv:jMyXDDdBr4zOuwPKYDLo22sM171YpoAZV14q9ubM2Lc=,tag:26ppJLvpj3LOai0AqUwILA==,type:str]
|
||||||
|
metadata:
|
||||||
|
name: ENC[AES256_GCM,data:HRAjTrHiBk9lgToNBLd4e8yD0uMs,iv:rMo53bqSAW3xywOQgr8EZHT5g+sM6EFvR7Srg4yumbQ=,tag:slABQislS8foKh2sSWIa6A==,type:str]
|
||||||
|
namespace: ENC[AES256_GCM,data:93wKmRdaS3ArRbjmhnY=,iv:ab1sp7LDnAdmrnbzz1tEmqPdXGCSi/b8EiDe0qO9nt0=,tag:3VEkdZDdMl/9jMyYSTeICg==,type:str]
|
||||||
|
stringData:
|
||||||
|
FORGEJO_INSTANCE_URL: ENC[AES256_GCM,data:Gvv31rhe7QHdMUe1fAKasUbV/vLdcajD+kw/uYs=,iv:7tVEAGMfPqlIyp4UohE17EIlnz0ckybpWAg3Kh+m6Aw=,tag:zdij/4Ny3X/8dudJsVZlcg==,type:str]
|
||||||
|
REGISTRATION_TOKEN: ENC[AES256_GCM,data:fjxVxZh1jb0q6fCKNrbFmQpT24+3OOLX32R93sdMS1JFsaOvCWGf3A==,iv:dicO4GAG9KLvyTBH/NEq4D4/N/RXyNH1h7KY9Czaqe0=,tag:4SG7eE3BhQo2yghMpK2nbg==,type:str]
|
||||||
|
RUNNER_NAME: ENC[AES256_GCM,data:KkR5Vxddh2bdM9473E4=,iv:gleeckI21EjjJ+LFpyE1U92nQoUV+goYkymp/s8UU+8=,tag:jBZYoy1aABm3bqIvSHl1jQ==,type:str]
|
||||||
|
sops:
|
||||||
|
kms: []
|
||||||
|
gcp_kms: []
|
||||||
|
azure_kv: []
|
||||||
|
hc_vault: []
|
||||||
|
age:
|
||||||
|
- recipient: age1rydfcalt7pu4jnmh298lgjlasxyjldyaz3xyssk7v54lpu30fv0qna96ea
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxWEI5TGVHSzNkczNTeE1B
|
||||||
|
OVhubEhxQVJDVWozMzZXc29sVkU1TVVHWTNNCllPcW5lZmZIQlZhUDFqdHZRRWtI
|
||||||
|
RmhzeWdlcXJpZEMvRXRlMDhONk1PQ1kKLS0tIGlhdC9DbmFlUmxvYkdNRDU2NFM0
|
||||||
|
NHdYQ2lXYk1HYzdsZlI3WFAzUmh6VUUK93zFuFaWfBRFkzUDA+B+Yn+N8BgA9Uov
|
||||||
|
V5lbOX0cpxxHWyWXH6KxmHr2Fy2MWKTDensa5kC8nH8c/h0uWdGmmg==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2026-04-06T21:12:09Z"
|
||||||
|
mac: ENC[AES256_GCM,data:ck2cL5TNRK6w8BLr4SIHXJjrC6WbRjFJVpPSdShRTJxFs3HtWb+NEmSryjo5zAingETD59WeUWL62m00zT0epArdg6tCDjZDhS29hhZizC4g74TMfxkdBJ0LyQGh16G2fjT82c0QRxm5VVV8S1vG94VLD0zw8ldYMF7nj/FYKSg=,iv:J03M2cVog0u+SUi/S9LKWLhUhnE0fOVdaI/cXxAi5j0=,tag:3YfP8yA9aHt5AbI94BUAxQ==,type:str]
|
||||||
|
pgp: []
|
||||||
|
unencrypted_suffix: _unencrypted
|
||||||
|
version: 3.9.4
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: forgejo-runner
|
||||||
|
namespace: forgejo-runner
|
||||||
Reference in New Issue
Block a user