Skip to content

Commit 63eb3e2

Browse files
committed
chore: cleanup apps and add more
Signed-off-by: Michael Fornaro <[email protected]>
1 parent 131432f commit 63eb3e2

File tree

25 files changed

+607
-237
lines changed

25 files changed

+607
-237
lines changed

.github/renovate/groups.json5

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,16 @@
2020
"commitMessageTopic": "{{{groupName}}} group"
2121
},
2222
"separateMinorPatch": true
23+
},
24+
{
25+
"description": "Istio Group",
26+
"groupName": "istio",
27+
"matchDatasources": ["helm"],
28+
"matchPackagePatterns": ["gateway", "istio-base", "istio-cni", "istiod"],
29+
"group": {
30+
"commitMessageTopic": "{{{groupName}}} group"
31+
},
32+
"separateMinorPatch": true
2333
}
2434
]
2535
}

.github/workflows/publish-kubernetes-schemas.yaml

Lines changed: 0 additions & 125 deletions
This file was deleted.

.github/workflows/schemas.yaml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
3+
name: "Publish Kubernetes Schemas"
4+
5+
on:
6+
workflow_dispatch: {}
7+
schedule:
8+
- cron: "0 0 * * 0"
9+
push:
10+
branches:
11+
- "main"
12+
paths:
13+
- ".github/workflows/schemas.yaml"
14+
15+
env:
16+
OCI_REPO: "oci://ghcr.io/xunholy/kubernetes-schemas/${{ github.event.repository.name }}"
17+
18+
jobs:
19+
publish:
20+
name: Schemas
21+
runs-on: ["gha-runner-scale-set"]
22+
permissions:
23+
contents: read
24+
packages: write
25+
steps:
26+
- name: Checkout
27+
uses: actions/checkout@v4
28+
with:
29+
token: "${{ steps.app-token.outputs.token }}"
30+
31+
- name: Generate Token
32+
uses: actions/create-github-app-token@c1a285145b9d317df6ced56c09f525b5c2b6f755 # v1
33+
id: app-token
34+
with:
35+
app-id: "${{ secrets.BOT_APP_ID }}"
36+
private-key: "${{ secrets.BOT_APP_PRIVATE_KEY }}"
37+
38+
- name: Setup Homebrew
39+
uses: Homebrew/actions/setup-homebrew@master
40+
41+
- name: Setup Workflow Tools
42+
run: brew install kubectl uv
43+
44+
- name: Setup Python
45+
uses: actions/setup-python@v5
46+
with:
47+
python-version: 3.13.x
48+
49+
- name: Setup Node
50+
uses: actions/setup-node@v4
51+
with:
52+
node-version: 22.x
53+
54+
- name: Install Python Dependencies
55+
run: uv pip install pyyaml
56+
57+
- name: Download and run crd-extractor
58+
run: |
59+
curl -fsSL -o $GITHUB_WORKSPACE/crd-extractor.sh \
60+
https://raw.githubusercontent.com/datreeio/CRDs-catalog/main/Utilities/crd-extractor.sh
61+
chmod +x $GITHUB_WORKSPACE/crd-extractor.sh
62+
bash $GITHUB_WORKSPACE/crd-extractor.sh
63+
64+
- name: Deploy to Cloudflare Pages
65+
uses: cloudflare/wrangler-action@v3
66+
with:
67+
apiToken: "${{ secrets.CLOUDFLARE_API_TOKEN }}"
68+
accountId: "${{ secrets.CLOUDFLARE_ACCOUNT_ID }}"
69+
workingDirectory: /home/runner/.datree/crdSchemas
70+
command: pages deploy --project-name=kubernetes-schemas --branch main .

README.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
<div align="center">
22

3-
<img src="./docs/assets/raspbernetes.png" alt="Raspbernetes">
3+
<img src="./docs/assets/banner.png" alt="Raspbernetes">
44

5-
## Raspbernetes
6-
7-
My _Personal_ Kubernetes GitOps Repository
5+
My _Personal_ Homelab Repository
86

97
_... managed with Flux, Renovate and GitHub Actions_
108

@@ -103,7 +101,7 @@ task cluster CLUSTER_NAME=cluster-0
103101
| [Protectli VP2410 ](https://protectli.com/product/vp2410/) | Kubernetes Control Plane | 3 | 4 Cores | 8GB RAM | AMD64 | [Talos Linux](https://www.talos.dev/) | |
104102
| [Protectli FW2B](https://protectli.com/product/fw2b/) | Kubernetes Node(s) | 3 | 2 Cores | 8GB RAM | AMD64 | [Talos Linux](https://www.talos.dev/) | |
105103
| [Raspberry Pi 4 Model B](https://www.raspberrypi.org/products/raspberry-pi-4-model-b/) | Kubernetes Node(s) | 4 | 4 Cores | 8GB RAM | ARM64 | [Talos Linux](https://www.talos.dev/) | |
106-
| [Rock Pi 4 Model C](https://rockpi.org/rockpi4#) | Kubernetes Node(s) | 6 | 4 Cores | 4GB RAM | ARM64 | [Talos Linux](https://www.talos.dev/) | |
104+
| [Rock Pi 4 Model C](https://rockpi.org/rockpi4#) | Kubernetes Node(s) | 6 | 4 Cores | 4GB RAM | ARM64 | [Talos Linux](https://www.talos.dev/) | Decommisioned |
107105

108106
## ☁️ Cloud Services
109107

@@ -159,11 +157,11 @@ This repository is automatically managed by [Renovate](https://renovatebot.com/)
159157

160158
## 🤝 Acknowledgments
161159

162-
A special thank you to everyone in the Kubernetes @Home Discord community for their valuable contributions and time. Much of the inspiration for my cluster comes from fellow enthusiasts who have shared their own clusters under the k8s-at-home GitHub topic.
160+
A special thank you to everyone in the [Home Operation Discord](https://discord.com/invite/home-operations) community for their valuable contributions and time. Much of the inspiration for my cluster comes from fellow enthusiasts who have shared their own clusters under the k8s-at-home GitHub topic.
163161

164162
Also I extend heartfelt thanks to all CNCF contributors for their dedication and expertise, as their collective efforts have been vital in driving innovation and success within the cloud-native ecosystem.
165163

166-
For more ideas on deploying applications or discovering new possibilities, be sure to explore the [Kubernetes @Home search](https://nanne.dev/k8s-at-home-search/) search.
164+
For more ideas on deploying applications or discovering new possibilities, be sure to explore the [kubesearch.dev](https://kubesearch.dev/) search.
167165

168166
## 👥 Contributing
169167

docs/assets/banner.png

471 KB
Loading

kubernetes/namespaces/base/actions-runner-system/gha-runner-scale-set/app/helmrelease.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ spec:
4545
namespace: actions-runner-system
4646
values:
4747
nameOverride: gha-runner-scale-set
48+
runnerScaleSetName: gha-runner-scale-set
4849
githubConfigSecret: github-app-secret
4950
githubConfigUrl: https://github.com/xunholy/k8s-gitops
5051
maxRunners: 3

kubernetes/namespaces/base/flux-system/addons/notifications/github/alerts.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ spec:
1111
eventSeverity: info
1212
eventSources:
1313
- kind: Kustomization
14-
name: 'flux-system'
14+
name: '*'
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
---
2+
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2beta2.json
3+
apiVersion: helm.toolkit.fluxcd.io/v2
4+
kind: HelmRelease
5+
metadata:
6+
name: jellyseerr
7+
namespace: home-system
8+
spec:
9+
interval: 5m
10+
chart:
11+
spec:
12+
version: 3.6.0
13+
chart: app-template
14+
sourceRef:
15+
kind: HelmRepository
16+
name: bjw-charts
17+
namespace: flux-system
18+
interval: 5m
19+
install:
20+
timeout: 10m
21+
replace: true
22+
crds: CreateReplace
23+
createNamespace: true
24+
remediation:
25+
retries: 3
26+
upgrade:
27+
remediation:
28+
remediateLastFailure: true
29+
retries: 3
30+
strategy: rollback
31+
cleanupOnFail: true
32+
crds: CreateReplace
33+
test:
34+
enable: true
35+
rollback:
36+
recreate: true
37+
force: true
38+
cleanupOnFail: true
39+
uninstall:
40+
keepHistory: false
41+
driftDetection:
42+
mode: enabled
43+
maxHistory: 3
44+
values:
45+
controllers:
46+
jellyseerr:
47+
containers:
48+
app:
49+
image:
50+
repository: docker.io/fallenbagel/jellyseerr
51+
tag: 2.2.3@sha256:a324fa4d81cce73116801bee3c50b632f3457c0ca0ad31aa692c640e22f50dea
52+
env:
53+
TZ: Australia/Melbourne
54+
LOG_LEVEL: "info"
55+
PORT: &port 80
56+
envFrom:
57+
- secretRef:
58+
name: jellyseerr-secret
59+
probes:
60+
liveness: &probes
61+
enabled: true
62+
custom: true
63+
spec:
64+
httpGet:
65+
path: /api/v1/status
66+
port: *port
67+
initialDelaySeconds: 0
68+
periodSeconds: 10
69+
timeoutSeconds: 1
70+
failureThreshold: 3
71+
readiness: *probes
72+
securityContext:
73+
allowPrivilegeEscalation: false
74+
readOnlyRootFilesystem: true
75+
capabilities: { drop: ["ALL"] }
76+
resources:
77+
requests:
78+
cpu: 10m
79+
limits:
80+
memory: 2Gi
81+
defaultPodOptions:
82+
securityContext:
83+
runAsNonRoot: true
84+
runAsUser: 1000
85+
runAsGroup: 1000
86+
fsGroup: 1000
87+
fsGroupChangePolicy: OnRootMismatch
88+
seccompProfile: { type: RuntimeDefault }
89+
service:
90+
app:
91+
controller: jellyseerr
92+
ports:
93+
http:
94+
port: *port
95+
persistence:
96+
config:
97+
existingClaim: jellyseerr
98+
globalMounts:
99+
- path: /app/config
100+
cache:
101+
existingClaim: jellyseerr-cache
102+
globalMounts:
103+
- path: /app/config/cache
104+
logs:
105+
type: emptyDir
106+
globalMounts:
107+
- path: /app/config/logs
108+
tmp:
109+
type: emptyDir
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
apiVersion: v1
3+
kind: PersistentVolumeClaim
4+
metadata:
5+
name: jellyseerr-cache
6+
spec:
7+
accessModes: ["ReadWriteOnce"]
8+
resources:
9+
requests:
10+
storage: 15Gi
11+
# TODO: Update once storage class is created
12+
# storageClassName: ceph-block

0 commit comments

Comments
 (0)