Compare commits
43 commits
ff3db9fb60
...
865c44aee4
Author | SHA1 | Date | |
---|---|---|---|
865c44aee4 | |||
09b63d2288 | |||
2794f45615 | |||
7452878079 | |||
0e7d87a160 | |||
a0a7480c7e | |||
f346245a9f | |||
8fe48bf920 | |||
044c8ae7f5 | |||
4c506b29d5 | |||
d1dd0a8211 | |||
ffca372bb6 | |||
e77a390b81 | |||
dc13a96538 | |||
505b28a248 | |||
896dc97bd6 | |||
8373386840 | |||
6ea0913988 | |||
bc9bcaf371 | |||
3417af625d | |||
e93f94b863 | |||
4ec3f55a4f | |||
c15d491023 | |||
aa90503090 | |||
1726e0aad4 | |||
a48d9e4f20 | |||
14ac078b78 | |||
1c84613ef9 | |||
eaa4dc9a94 | |||
c013b174ba | |||
8766950123 | |||
f65a9c4d5a | |||
b584af22c9 | |||
a16012678c | |||
ef8ef4e600 | |||
7d25cdb896 | |||
938aba6938 | |||
674035cbcf | |||
901ed4daef | |||
828ca95a9f | |||
6ec39da512 | |||
9a023cacb2 | |||
6376115860 |
25 changed files with 186 additions and 20 deletions
|
@ -90,7 +90,7 @@ tasks:
|
|||
{
|
||||
"name": "debug",
|
||||
"image": "docker.io/library/alpine:3.19.1",
|
||||
"command": ["/bin/bash"],
|
||||
"command": ["/bin/ash"],
|
||||
"stdin": true,
|
||||
"stdinOnce": true,
|
||||
"tty": true,
|
||||
|
|
22
kubernetes/apps/ci-runners/forgejo/app/externalsecret.yaml
Normal file
22
kubernetes/apps/ci-runners/forgejo/app/externalsecret.yaml
Normal file
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
# yaml-language-server: $schema=https://ks.hsn.dev/external-secrets.io/externalsecret_v1beta1.json
|
||||
apiVersion: external-secrets.io/v1beta1
|
||||
kind: ExternalSecret
|
||||
metadata:
|
||||
name: forgejo-runner-secret
|
||||
spec:
|
||||
secretStoreRef:
|
||||
kind: ClusterSecretStore
|
||||
name: onepassword-connect
|
||||
target:
|
||||
name: forgejo-runner-secret
|
||||
template:
|
||||
engineVersion: v2
|
||||
data:
|
||||
FORGEJO_INSTANCE_URL: "{{ .forgejo_instance_url }}"
|
||||
RUNNER_NAME: "{{ .runner_name }}"
|
||||
RUNNER_TOKEN: "{{ .runner_token }}"
|
||||
|
||||
dataFrom:
|
||||
- extract:
|
||||
key: forgejo-runner
|
103
kubernetes/apps/ci-runners/forgejo/app/helmrelease.yaml
Normal file
103
kubernetes/apps/ci-runners/forgejo/app/helmrelease.yaml
Normal file
|
@ -0,0 +1,103 @@
|
|||
---
|
||||
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: &app forgejo-runner
|
||||
spec:
|
||||
interval: 30m
|
||||
chart:
|
||||
spec:
|
||||
chart: app-template
|
||||
version: 3.1.0
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: bjw-s
|
||||
namespace: flux-system
|
||||
install:
|
||||
remediation:
|
||||
retries: 3
|
||||
upgrade:
|
||||
cleanupOnFail: true
|
||||
remediation:
|
||||
retries: 3
|
||||
strategy: rollback
|
||||
values:
|
||||
controllers:
|
||||
forgejo-runner:
|
||||
replicas: 2
|
||||
initContainers:
|
||||
runner-register:
|
||||
image:
|
||||
repository: code.forgejo.org/forgejo/runner
|
||||
tag: 3.4.1
|
||||
command:
|
||||
- "forgejo-runner"
|
||||
- "register"
|
||||
- "--no-interactive"
|
||||
- "--token"
|
||||
- $(RUNNER_TOKEN)
|
||||
- "--name"
|
||||
- $(RUNNER_NAME)
|
||||
- "--instance"
|
||||
- $(FORGEJO_INSTANCE_URL)
|
||||
env:
|
||||
- name: RUNNER_NAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: runner-secret
|
||||
key: RUNNER_NAME
|
||||
- name: RUNNER_TOKEN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: runner-secret
|
||||
key: RUNNER_TOKEN
|
||||
- name: FORGEJO_INSTANCE_URL
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: runner-secret
|
||||
key: FORGEJO_INSTANCE_URL
|
||||
containers:
|
||||
daemon:
|
||||
image:
|
||||
repository: docker
|
||||
tag: 23.0.6-dind
|
||||
securityContext:
|
||||
privileged: true
|
||||
env:
|
||||
- name: DOCKER_TLS_CERTDIR
|
||||
value: /certs
|
||||
app:
|
||||
image:
|
||||
repository: code.forgejo.org/forgejo/runner
|
||||
tag: 3.4.1
|
||||
command:
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "while ! nc -z localhost 2376 </dev/null; do echo 'waiting for docker daemon...'; sleep 5; done; forgejo-runner daemon"
|
||||
env:
|
||||
- name: DOCKER_HOST
|
||||
value: tcp://localhost:2376
|
||||
- name: DOCKER_CERT_PATH
|
||||
value: /certs/client
|
||||
- name: DOCKER_TLS_VERIFY
|
||||
value: "1"
|
||||
annotations:
|
||||
reloader.stakater.com/auto: "true"
|
||||
service:
|
||||
app:
|
||||
controller: forgejo-runner
|
||||
ports:
|
||||
http:
|
||||
port: 45315
|
||||
persistence:
|
||||
docker-certs:
|
||||
name: docker-certs
|
||||
advancedMounts:
|
||||
forgejo-runner:
|
||||
app:
|
||||
- path: /certs
|
||||
runner-data:
|
||||
type: emptyDir
|
||||
globalMounts:
|
||||
- path: /data
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: ci-runners
|
||||
resources:
|
||||
- ./externalsecret.yaml
|
||||
- ./helmrelease.yaml
|
19
kubernetes/apps/ci-runners/forgejo/ks.yaml
Normal file
19
kubernetes/apps/ci-runners/forgejo/ks.yaml
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json
|
||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: &app forgejo
|
||||
namespace: flux-system
|
||||
spec:
|
||||
targetNamespace: ci-runners
|
||||
commonMetadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: *app
|
||||
interval: 10m
|
||||
path: "./kubernetes/apps/ci-runners/forgejo/app"
|
||||
prune: true
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
name: homelab
|
||||
wait: true
|
9
kubernetes/apps/ci-runners/kustomization.yaml
Normal file
9
kubernetes/apps/ci-runners/kustomization.yaml
Normal file
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
# yaml-language-server: $schema=https://json.schemastore.org/kustomization.json
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
# Pre Flux-Kustomizations
|
||||
- ./namespace.yaml
|
||||
# Flux-Kustomizations
|
||||
- ./forgejo/ks.yaml
|
5
kubernetes/apps/ci-runners/namespace.yaml
Normal file
5
kubernetes/apps/ci-runners/namespace.yaml
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: ci-runners
|
|
@ -31,7 +31,7 @@ spec:
|
|||
app:
|
||||
image:
|
||||
repository: ghcr.io/onedr0p/prowlarr-develop
|
||||
tag: 1.17.0.4448@sha256:66e786d023cf94a7005b9a9effde9e7e4557e799b3f00cfb7b084f81ba15082c
|
||||
tag: 1.17.2.4511@sha256:01dce2a9c0e29a2a5338a9457698ea3e027727bed6b9f0ab7ac4a259cafb991b
|
||||
env:
|
||||
# Ref: https://github.com/Radarr/Radarr/issues/7030#issuecomment-1039689518
|
||||
# Ref: https://github.com/dotnet/runtime/issues/9336
|
||||
|
|
|
@ -31,7 +31,7 @@ spec:
|
|||
app:
|
||||
image:
|
||||
repository: ghcr.io/onedr0p/radarr
|
||||
tag: 5.4.6.8723@sha256:3198f09197697a4d57f995650ebf34b57b2fdbb991dac1611ad8356d9e8bda8e
|
||||
tag: 5.6.0.8846@sha256:3c75c2adc6ce547131a74b10fec4e0101658113810dba11b96878a0c3990c641
|
||||
env:
|
||||
# Ref: https://github.com/Radarr/Radarr/issues/7030#issuecomment-1039689518
|
||||
# Ref: https://github.com/dotnet/runtime/issues/9336
|
||||
|
|
|
@ -31,7 +31,7 @@ spec:
|
|||
app:
|
||||
image:
|
||||
repository: ghcr.io/tautulli/tautulli
|
||||
tag: v2.13.4@sha256:fb5e22c7a4d9e770703a30d145f355786fecb28dfca6df56c5073c457f3c8a8e
|
||||
tag: v2.14.2@sha256:99eba3ba70f9e2531335279f472b3c8f120ebc0e938e42bd98037e35e11d130a
|
||||
env:
|
||||
TZ: America/Chicago
|
||||
command: ["/usr/local/bin/python", "Tautulli.py"]
|
||||
|
@ -67,7 +67,7 @@ spec:
|
|||
jbops:
|
||||
image:
|
||||
repository: registry.k8s.io/git-sync/git-sync
|
||||
tag: v4.2.2@sha256:2dc189a0886c0df1b5b0cc816c60b5fe0799230a5bb7e123aa28ff4f74ac988a
|
||||
tag: v4.2.3@sha256:19cc7c317d125c5737ecb9a9159d00b5d97f39c45225c6483de365d62fc09fa8
|
||||
env:
|
||||
GITSYNC_REPO: https://github.com/blacktwin/JBOPS
|
||||
GITSYNC_REF: master
|
||||
|
|
|
@ -45,7 +45,7 @@ spec:
|
|||
app:
|
||||
image:
|
||||
repository: ghcr.io/home-assistant/home-assistant
|
||||
tag: 2024.5.1
|
||||
tag: 2024.5.4
|
||||
env:
|
||||
TZ: America/Chicago
|
||||
HASS_HTTP_TRUSTED_PROXY_1: 10.244.0.0/16
|
||||
|
|
|
@ -7,7 +7,7 @@ spec:
|
|||
# nodeName: nenya
|
||||
containers:
|
||||
- name: fstrim
|
||||
image: ghcr.io/onedr0p/kubanetics:2024.5.0
|
||||
image: ghcr.io/onedr0p/kubanetics:2024.5.3
|
||||
securityContext:
|
||||
privileged: true
|
||||
command: ["/bin/bash", "-c", "while true; do sleep 10; done"]
|
||||
|
|
|
@ -33,7 +33,7 @@ spec:
|
|||
app:
|
||||
image:
|
||||
repository: ghcr.io/onedr0p/kubanetics
|
||||
tag: 2024.5.0@sha256:2787387cfec563b12b18c2708ac638deaaaa0daa5119b731d8a036e23a9ef43a
|
||||
tag: 2024.5.3@sha256:502b08ec384c255b4e7a4650397ee2565aedd93eac8095b8e751451b23b099d0
|
||||
env:
|
||||
SCRIPT_NAME: fstrim.sh
|
||||
probes:
|
||||
|
|
|
@ -9,7 +9,7 @@ spec:
|
|||
chart:
|
||||
spec:
|
||||
chart: kubelet-csr-approver
|
||||
version: 1.1.0
|
||||
version: 1.2.0
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: postfinance
|
||||
|
|
|
@ -10,7 +10,7 @@ spec:
|
|||
chart:
|
||||
spec:
|
||||
chart: reloader
|
||||
version: 1.0.93
|
||||
version: 1.0.97
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: stakater
|
||||
|
|
|
@ -10,7 +10,7 @@ spec:
|
|||
chart:
|
||||
spec:
|
||||
chart: kyverno
|
||||
version: 3.2.0
|
||||
version: 3.2.2
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: kyverno
|
||||
|
|
|
@ -35,7 +35,7 @@ spec:
|
|||
app:
|
||||
image:
|
||||
repository: ghcr.io/onedr0p/kubanetics
|
||||
tag: 2024.5.0@sha256:2787387cfec563b12b18c2708ac638deaaaa0daa5119b731d8a036e23a9ef43a
|
||||
tag: 2024.5.3@sha256:502b08ec384c255b4e7a4650397ee2565aedd93eac8095b8e751451b23b099d0
|
||||
env:
|
||||
SCRIPT_NAME: alertmanager-silencer.sh
|
||||
ALERTMANAGER_URL: http://alertmanager-operated.observability.svc.cluster.local:9093
|
||||
|
|
|
@ -31,7 +31,7 @@ spec:
|
|||
init-config:
|
||||
image:
|
||||
repository: ghcr.io/kiwigrid/k8s-sidecar
|
||||
tag: 1.26.1@sha256:b8d5067137fec093cf48670dc3a1dbb38f9e734f3a6683015c2e89a45db5fd16
|
||||
tag: 1.27.1@sha256:df71eab1466c67b84e46fa9cd2d84738372377971d44dbb8699ab4483278c839
|
||||
env:
|
||||
FOLDER: /config
|
||||
LABEL: gatus.io/enabled
|
||||
|
|
|
@ -10,7 +10,7 @@ spec:
|
|||
chart:
|
||||
spec:
|
||||
chart: kube-prometheus-stack
|
||||
version: 58.3.1
|
||||
version: 58.6.0
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: prometheus-community
|
||||
|
|
|
@ -10,7 +10,7 @@ spec:
|
|||
chart:
|
||||
spec:
|
||||
chart: loki
|
||||
version: 6.4.2
|
||||
version: 6.5.2
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: grafana
|
||||
|
|
|
@ -10,7 +10,7 @@ spec:
|
|||
chart:
|
||||
spec:
|
||||
chart: thanos
|
||||
version: 1.16.5
|
||||
version: 1.17.1
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: stevehipwell
|
||||
|
|
|
@ -37,7 +37,7 @@ spec:
|
|||
app:
|
||||
image:
|
||||
repository: docker.io/timberio/vector
|
||||
tag: 0.37.1-alpine@sha256:ced16088cdcfcadd2f471c5760ea3b08bec82b9be00a8b90173b9ade7d001607
|
||||
tag: 0.38.0-alpine@sha256:3b95d814fe6eeb32e2864cbcdc541fde4c0368df0e096d201cdadec797550341
|
||||
env:
|
||||
PROCFS_ROOT: /host/proc
|
||||
SYSFS_ROOT: /host/sys
|
||||
|
|
|
@ -46,7 +46,7 @@ spec:
|
|||
app:
|
||||
image:
|
||||
repository: docker.io/timberio/vector
|
||||
tag: 0.37.1-alpine@sha256:ced16088cdcfcadd2f471c5760ea3b08bec82b9be00a8b90173b9ade7d001607
|
||||
tag: 0.38.0-alpine@sha256:3b95d814fe6eeb32e2864cbcdc541fde4c0368df0e096d201cdadec797550341
|
||||
args: ["--config", "/etc/vector/vector.yaml"]
|
||||
pod:
|
||||
topologySpreadConstraints:
|
||||
|
|
|
@ -68,7 +68,7 @@ spec:
|
|||
gluetun:
|
||||
image:
|
||||
repository: ghcr.io/qdm12/gluetun
|
||||
tag: latest@sha256:fab09c582118ab650e7a8b8371ca95ff604376ce0c8fdc346c5fef382afd85d1
|
||||
tag: latest@sha256:f501359827a9c8523d78add8ce68791a31634c146c8eef0fd8700a68b8160cfd
|
||||
env:
|
||||
VPN_SERVICE_PROVIDER: custom
|
||||
VPN_TYPE: wireguard
|
||||
|
|
|
@ -23,7 +23,7 @@ releases:
|
|||
- name: kubelet-csr-approver
|
||||
namespace: kube-system
|
||||
chart: postfinance/kubelet-csr-approver
|
||||
version: 1.1.0
|
||||
version: 1.2.0
|
||||
values: ["../../../apps/kube-system/kubelet-csr-approver/app/helm-values.yaml"]
|
||||
needs: ["cilium"]
|
||||
- name: spegel
|
||||
|
|
Reference in a new issue