Compare commits

...

59 commits

Author SHA1 Message Date
11d9c918b8 Update chart cert-manager to v1.16.1 2024-10-09 13:33:49 +00:00
2739362eaf Merge pull request 'Update image ghcr.io/buroa/qbtools to v0.17.7' (#702) from renovate/ghcr.io-buroa-qbtools-0.x into main
Reviewed-on: #702
2024-10-07 08:15:47 -05:00
5bb49b9b2b Update image ghcr.io/buroa/qbtools to v0.17.7 2024-10-07 13:03:44 +00:00
c48568327d Merge pull request 'Update image ghcr.io/open-webui/open-webui to v0.3.32' (#698) from renovate/ghcr.io-open-webui-open-webui-0.x into main
Reviewed-on: #698
2024-10-07 01:43:35 -05:00
24633e04c0 Merge pull request 'Update image ghcr.io/cross-seed/cross-seed to v6.0.0-39' (#696) from renovate/ghcr.io-cross-seed-cross-seed-6.x into main
Reviewed-on: #696
2024-10-07 01:41:37 -05:00
de8e418cb6 Merge pull request 'Update image 1337kavin/piped-proxy to 9872edd' (#697) from renovate/1337kavin-piped-proxy-latest into main
Reviewed-on: #697
2024-10-07 01:41:08 -05:00
6f7374f445 Merge pull request 'Update image ghcr.io/bjw-s-labs/piped-frontend to da2b557' (#699) from renovate/ghcr.io-bjw-s-labs-piped-frontend-latest into main
Reviewed-on: #699
2024-10-07 01:40:57 -05:00
211db49107 Merge pull request 'Update image ghcr.io/autobrr/autobrr to v1.47.0' (#693) from renovate/ghcr.io-autobrr-autobrr-1.x into main
Reviewed-on: #693
2024-10-07 01:39:14 -05:00
f7afa7927a Update image ghcr.io/open-webui/open-webui to v0.3.32 2024-10-07 05:32:20 +00:00
811c28d44f
update endpoint 2024-10-06 22:18:20 -05:00
8f1cee1106
update metadata name 2024-10-06 22:17:06 -05:00
d0f6ccd3bb
update endpoints 2024-10-06 22:16:12 -05:00
e5710204df
add vmalert 2024-10-06 22:15:07 -05:00
abfc90ee71
debug 2024-10-06 22:09:52 -05:00
77f10a60c9 Update image ghcr.io/bjw-s-labs/piped-frontend to da2b557 2024-10-07 03:02:52 +00:00
263b7c47ba Update image 1337kavin/piped-proxy to 9872edd 2024-10-07 02:04:24 +00:00
0e56036c85 Update image ghcr.io/cross-seed/cross-seed to v6.0.0-39 2024-10-07 01:32:15 +00:00
880986fa21
debug 2024-10-06 20:29:48 -05:00
03b4824734
debug 2024-10-06 20:28:36 -05:00
bd4040eb35 Update image ghcr.io/onedr0p/sabnzbd to 6614d75 2024-10-06 22:34:48 +00:00
3cbdac6b6a Update image ghcr.io/onedr0p/prowlarr-develop to 8b59eb7 2024-10-06 22:05:16 +00:00
d2924fc4a9 Update image ghcr.io/onedr0p/home-assistant to 0461483 2024-10-06 22:04:27 +00:00
af4d3c34ef
debug 2024-10-06 16:52:52 -05:00
2c1431666e
debug 2024-10-06 16:11:31 -05:00
49510fb419 Update image ghcr.io/onedr0p/sabnzbd to 27134c1 2024-10-06 21:03:09 +00:00
f4deff7e1e Merge pull request 'Update image ghcr.io/onedr0p/prowlarr-develop to v1.25.1.4770' (#691) from renovate/ghcr.io-onedr0p-prowlarr-develop-1.x into main
Reviewed-on: #691
2024-10-06 15:46:47 -05:00
ab28afe658 Merge pull request 'Update image 1337kavin/piped-proxy to 2a1c56d' (#689) from renovate/1337kavin-piped-proxy-latest into main
Reviewed-on: #689
2024-10-06 15:46:05 -05:00
d7b14ed2b0 Merge pull request 'Update image ghcr.io/bjw-s-labs/piped-frontend to 40b813b' (#690) from renovate/ghcr.io-bjw-s-labs-piped-frontend-latest into main
Reviewed-on: #690
2024-10-06 15:45:57 -05:00
669e188ce7 Merge pull request 'Update chart coredns to 1.35.0' (#692) from renovate/coredns-1.x into main
Reviewed-on: #692
2024-10-06 15:45:49 -05:00
af7992cd09 Merge pull request 'Update image quay.io/redlib/redlib to e61e253' (#694) from renovate/quay.io-redlib-redlib-latest into main
Reviewed-on: #694
2024-10-06 15:45:16 -05:00
b4d0507218 Merge pull request 'Update image ghcr.io/cross-seed/cross-seed to v6.0.0-37' (#695) from renovate/ghcr.io-cross-seed-cross-seed-6.x into main
Reviewed-on: #695
2024-10-06 15:45:07 -05:00
7138f54725 Update image ghcr.io/cross-seed/cross-seed to v6.0.0-37 2024-10-06 20:35:17 +00:00
7dfa3bdf0b Update image ghcr.io/onedr0p/sabnzbd to a1067dc 2024-10-06 20:34:26 +00:00
e8e99fd7d5 Update image ghcr.io/bjw-s-labs/piped-frontend to 40b813b 2024-10-06 20:34:22 +00:00
8207c5de1e Update image quay.io/redlib/redlib to e61e253 2024-10-06 19:33:26 +00:00
4a0d8bf875 Update image ghcr.io/autobrr/autobrr to v1.47.0 2024-10-06 14:02:41 +00:00
c2052b8feb Update chart coredns to 1.35.0 2024-10-06 09:33:22 +00:00
e463573be6 Update image ghcr.io/onedr0p/prowlarr-develop to v1.25.1.4770 2024-10-06 09:04:07 +00:00
8631b6c2fc
update path 2024-10-05 13:38:18 -05:00
81d728bb6c
add vm single and vm alert 2024-10-05 13:37:07 -05:00
60aceeac62 Update image 1337kavin/piped-proxy to 2a1c56d 2024-10-05 18:32:44 +00:00
34e5ef12a4
add alert manager 2024-10-05 11:48:28 -05:00
b8d4f143b9 Update image ghcr.io/onedr0p/sabnzbd to 47c42cd 2024-10-05 14:02:39 +00:00
cee1285f3d
diff path
All checks were successful
K8S json Schemas --> Cloudflare R2 / Schemas (push) Successful in 1m16s
2024-10-04 20:06:01 -05:00
95cfc672e2
move action to workflows directory
All checks were successful
K8S json Schemas --> Cloudflare R2 / Schemas (push) Successful in 1m39s
2024-10-04 17:10:14 -05:00
513cf1bbb1
re-add k8s schemas upload action 2024-10-04 16:47:37 -05:00
9c93ad8976
correct chart repo name 2024-10-04 16:29:30 -05:00
63e711c2c3
😒 2024-10-04 16:11:02 -05:00
8ac457f72b
😒 2024-10-04 15:59:21 -05:00
57bb6768ab
add victoria metrics operator 2024-10-04 15:55:56 -05:00
599842790d Merge pull request 'Update Rook Ceph group to v1.15.3 (patch)' (#686) from renovate/patch-rook-ceph into main
Reviewed-on: #686
2024-10-04 15:11:37 -05:00
da98956cdc Merge pull request 'Update image app-template to v3.5.0' (#687) from renovate/app-template-3.x into main
Reviewed-on: #687
2024-10-04 15:09:46 -05:00
5499875af7 Merge pull request 'Update image ghcr.io/onedr0p/home-assistant to v2024.10.1' (#688) from renovate/ghcr.io-onedr0p-home-assistant-2024.x into main
Reviewed-on: #688
2024-10-04 15:07:37 -05:00
f63fdf7a28 Update image app-template to v3.5.0 2024-10-04 20:05:32 +00:00
3f08f41958
kps gettin the boot 2024-10-04 13:45:03 -05:00
9591062eed Update image ghcr.io/onedr0p/home-assistant to v2024.10.1 2024-10-04 18:33:23 +00:00
90426b40e8
unfortunate
i'll spend more time on authorization piece later.
2024-10-03 19:37:27 -05:00
9c30f066ca
add zwave user 2024-10-03 19:27:57 -05:00
db2a61a6cf Update Rook Ceph group to v1.15.3 2024-10-03 21:33:17 +00:00
58 changed files with 564 additions and 206 deletions

View file

@ -0,0 +1,138 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
name: "K8S json Schemas --> Cloudflare R2"
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *" # Every day at midnight
push:
branches: ["main"]
paths: [".forgejo/workflows/schemas.yaml"]
jobs:
publish:
name: Schemas
runs-on: ["ubuntu-x86_64"]
permissions:
contents: read
packages: write
steps:
- name: Checkout
uses: https://github.com/actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Workflow Tools
shell: bash
run: |
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
mv kubectl /usr/local/bin/
curl -LO "https://dl.min.io/client/mc/release/linux-amd64/mc"
chmod +x mc
mv mc /usr/local/bin/
- name: Setup Python
run: |
apt-get update
apt-get install -y python3 python3-pip python3-yaml
pip3 install --upgrade pip
- name: Write kubeconfig
id: kubeconfig
uses: https://github.com/timheuer/base64-to-file@v1
with:
encodedString: "${{ secrets.KUBECONFIG }}"
fileName: kubeconfig
fileDir: ${{ env.GITHUB_WORKSPACE }}
- name: Write mc
id: mcconfig
uses: https://github.com/timheuer/base64-to-file@v1
with:
encodedString: "${{ secrets.MCCONFIG }}"
fileName: config.json
fileDir: ${{ env.GITHUB_WORKSPACE }}
- name: Extracting CRDs to yaml and converting to JSON schema
env:
KUBECONFIG: "${{ steps.kubeconfig.outputs.filePath }}"
run: |
# kubeconfig
echo "kubeconfig location: $KUBECONFIG"
# Create temp folder for CRDs
TMP_CRD_DIR=$(mktemp -d)
echo "Temp directory: $TMP_CRD_DIR"
# Create final schemas directory
SCHEMAS_DIR=$GITHUB_WORKSPACE/crdSchemas
mkdir -p $SCHEMAS_DIR
echo "Schemas directory: $SCHEMAS_DIR"
# Create array to store CRD kinds and groups
ORGANIZE_BY_GROUP=true
declare -A CRD_GROUPS 2>/dev/null
if [ $? -ne 0 ]; then
# Array creation failed, signal to skip organization by group
ORGANIZE_BY_GROUP=false
fi
# Extract CRDs from cluster
NUM_OF_CRDS=0
while read -r crd
do
filename=${crd%% *}
kubectl get crds "$filename" -o yaml > "$TMP_CRD_DIR/$filename.yaml" 2>&1
echo "Extracted CRD: $filename"
resourceKind=$(grep "kind:" "$TMP_CRD_DIR/$filename.yaml" | awk 'NR==2{print $2}' | tr '[:upper:]' '[:lower:]')
resourceGroup=$(grep "group:" "$TMP_CRD_DIR/$filename.yaml" | awk 'NR==1{print $2}')
# Save name and group for later directory organization
CRD_GROUPS["$resourceKind"]="$resourceGroup"
let ++NUM_OF_CRDS
done < <(kubectl get crds 2>&1 | sed -n '/NAME/,$p' | tail -n +2)
echo numCRDs: $NUM_OF_CRDS
# Download converter script
curl https://raw.githubusercontent.com/yannh/kubeconform/master/scripts/openapi2jsonschema.py --output $TMP_CRD_DIR/openapi2jsonschema.py 2>/dev/null
# Convert crds to jsonSchema
cd $SCHEMAS_DIR
python3 $TMP_CRD_DIR/openapi2jsonschema.py $TMP_CRD_DIR/*.yaml
conversionResult=$?
# Copy and rename files to support kubeval
rm -rf $SCHEMAS_DIR/master-standalone
mkdir -p $SCHEMAS_DIR/master-standalone
cp $SCHEMAS_DIR/*.json $SCHEMAS_DIR/master-standalone
find $SCHEMAS_DIR/master-standalone -name '*json' -exec bash -c ' mv -f $0 ${0/\_/-stable-}' {} \;
# Organize schemas by group
if [ $ORGANIZE_BY_GROUP == true ]; then
for schema in $SCHEMAS_DIR/*.json
do
crdFileName=$(basename $schema .json)
crdKind=${crdFileName%%_*}
crdGroup=${CRD_GROUPS[$crdKind]}
if [ -z $crdGroup ]; then
crdGroup="uncategorized"
echo "CRD kind $crdKind has no group, moving to $crdGroup"
fi
echo making directory $crdGroup
mkdir -p $crdGroup
mv $schema ./$crdGroup
done
fi
rm -rf $TMP_CRD_DIR
- name: Deploy to Cloudflare R2
env:
MC_CONFIG_DIR: "${{ steps.mcconfig.outputs.fileDir }}"
shell: bash
run: |
echo $GITHUB_WORKSPACE/crdSchemas/
mc cp --recursive $GITHUB_WORKSPACE/crdSchemas/ r2-ks/kubernetes-schema

1
.gitignore vendored
View file

@ -16,3 +16,4 @@ kubeconfig*
omniconfig.yaml
config.xml
.idea/
*.secrets

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s
@ -33,7 +33,7 @@ spec:
app:
image:
repository: ghcr.io/open-webui/open-webui
tag: 0.3.30
tag: 0.3.32
env:
- name: OLLAMA_BASE_URL
value: http://ollama.ai.svc.cluster.local:11434

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -10,7 +10,7 @@ spec:
chart:
spec:
chart: cert-manager
version: v1.15.3
version: v1.16.1
sourceRef:
kind: HelmRepository
name: jetstack

View file

@ -8,7 +8,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
interval: 30m
sourceRef:
kind: HelmRepository

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -43,11 +43,18 @@ spec:
},
{
"user_id": "tasmota",
"password": "{{ .x_emqx_tasmota_password }}"
"password": "{{ .x_emqx_tasmota_password }}",
"is_superuser": true # Until I can figure out authorization in emqx
},
{
"user_id": "homeassistant",
"password": "{{ .x_emqx_homeassistant_password }}"
"user_id": "zwave",
"password": "{{ .x_emqx_homeassistant_password }}",
"is_superuser": true # Until I can figure out authorization in emqx
},
{
"user_id": "zwave",
"password": "{{ .x_emqx_zwave_password }}",
"is_superuser": true # Until I can figure out authorization in emqx
}
]
@ -66,3 +73,9 @@ spec:
- regexp:
source: "(.*)"
target: "x_emqx_homeassistant_$1"
- extract:
key: "emqx [zwave]"
rewrite:
- regexp:
source: "(.*)"
target: "x_emqx_zwave_$1"

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s
@ -31,7 +31,7 @@ spec:
app:
image:
repository: ghcr.io/autobrr/autobrr
tag: v1.46.1@sha256:4d8dd05ada84e6626eaaf0e60919ebaf5b1b9ffa2f0bf424616ed07bc5a83a72
tag: v1.47.0@sha256:42620617db5e2e51bbb4311d57ac3c42e43f0de3c8d158ec09130dd0714876e2
env:
AUTOBRR__CHECK_FOR_UPDATES: "false"
AUTOBRR__HOST: 0.0.0.0

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s
@ -36,7 +36,7 @@ spec:
app:
image:
repository: ghcr.io/onedr0p/home-assistant
tag: 2024.10.0@sha256:1c61cc33a693176b4b6b930080196e204d3df094d7674bad3f62ed54cccef92c
tag: 2024.10.1@sha256:04614835418d2bdacd64685b516e58e7c5446f72485d446e7635282ba1a06c43
env:
TZ: America/Chicago
envFrom:

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -8,7 +8,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
interval: 30m
sourceRef:
kind: HelmRepository

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -8,7 +8,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
interval: 30m
sourceRef:
kind: HelmRepository
@ -69,7 +69,7 @@ spec:
app:
image:
repository: ghcr.io/bjw-s-labs/piped-frontend
tag: latest@sha256:90356f6cc6dc4eb70a1f248f2509898fb1a11d1b5094d6237afe993e4f018273
tag: latest@sha256:da2b5578aeb71cc4153ca81201063f18721fd32140588d58aab1f223290fb7c6
env:
HTTP_PORT: 8080
HTTP_WORKERS: 4
@ -101,7 +101,7 @@ spec:
app:
image:
repository: 1337kavin/piped-proxy
tag: latest@sha256:9a0547e412cbb87e0dc8c94a44ea81811541c9d1535b57a9a144901662df94b7
tag: latest@sha256:9872edd2c47c9c33dfa44c334e4cef4e2c6ec91638eb2dcf6ca36b7b3037fd59
command:
- /app/piped-proxy
probes:

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s
@ -31,7 +31,7 @@ spec:
app:
image:
repository: ghcr.io/onedr0p/prowlarr-develop
tag: 1.24.3.4754@sha256:9c88257656e4ac893d692abf38a784c80ef1638eb99fae376bdb48f75498ce52
tag: 1.25.1.4770@sha256:8b59eb7f9e5321b702bdacae3468b63d71720091ba3b0e9dfaca686a7705d2b8
env:
# Ref: https://github.com/Radarr/Radarr/issues/7030#issuecomment-1039689518
# Ref: https://github.com/dotnet/runtime/issues/9336

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -10,7 +10,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s
@ -38,7 +38,7 @@ spec:
app:
image:
repository: quay.io/redlib/redlib
tag: latest@sha256:e65e977dee589a3b07274ffca2a1c19cf487176f230d0ff03cbf09c626f3db11
tag: latest@sha256:e61e2535518e0b574f92642612f33f6fbee1aa22b2ff36ee740e26a025bb0039
env:
REDLIB_DEFAULT_SHOW_NSFW: on
REDLIB_DEFAULT_WIDE: on

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s
@ -31,7 +31,7 @@ spec:
app:
image:
repository: ghcr.io/onedr0p/sabnzbd
tag: 4.3.3@sha256:4ad73733ae11eb03852ba99d6e49bff93f8087f9f77b9b193a1063c3f6f31482
tag: 4.3.3@sha256:6614d759bbaa6884926c6aa75018339bd35cd1add0ff92c907087327dd470477
env:
TZ: America/Chicago
SABNZBD__PORT: &port 80

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: coredns
version: 1.34.0
version: 1.35.0
sourceRef:
kind: HelmRepository
name: coredns

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -10,7 +10,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
interval: 30m
sourceRef:
kind: HelmRepository

View file

@ -0,0 +1,23 @@
---
# yaml-language-server: $schema=https://ks.hsn.dev/external-secrets.io/externalsecret_v1beta1.json
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: alertmanager-secret
spec:
refreshInterval: 5m
secretStoreRef:
kind: ClusterSecretStore
name: onepassword-connect
target:
name: alertmanager-secret
creationPolicy: Owner
data:
- secretKey: pushover_api_token
remoteRef:
key: Pushover
property: alertmanager_token
- secretKey: pushover_api_userkey
remoteRef:
key: Pushover
property: userkey_jahanson

View file

@ -0,0 +1,87 @@
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: alertmanager
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 3.5.0
interval: 30m
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
values:
controllers:
alertmanager:
type: statefulset
annotations:
reloader.stakater.com/auto: "true"
statefulset:
volumeClaimTemplates:
- name: storage
accessMode: ReadWriteOnce
size: 50Mi
storageClass: ceph-block
globalMounts:
- path: /alertmanager
containers:
alertmanager:
image:
repository: quay.io/prometheus/alertmanager
tag: v0.27.0
ports:
- name: http
containerPort: 9093
probes:
liveness:
enabled: true
readiness:
enabled: true
startup:
enabled: true
spec:
failureThreshold: 30
periodSeconds: 5
resources:
requests:
cpu: 11m
memory: 50M
limits:
memory: 99M
service:
app:
controller: alertmanager
ports:
http:
port: 9093
ingress:
app:
className: internal-nginx
hosts:
- host: alertmanager.jahanson.tech
paths:
- path: /
service:
identifier: app
port: http
persistence:
config:
type: configMap
name: alertmanager-configmap
globalMounts:
- path: /etc/alertmanager
secrets:
type: secret
name: alertmanager-secret
globalMounts:
- path: /etc/secrets

View file

@ -0,0 +1,15 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./externalsecret.yaml
- ./helmrelease.yaml
configMapGenerator:
- name: alertmanager-configmap
files:
- resources/alertmanager.yml
generatorOptions:
disableNameSuffixHash: true
annotations:
kustomize.toolkit.fluxcd.io/substitute: disabled

View file

@ -0,0 +1,59 @@
---
receivers:
- name: "null"
- name: "pushover"
pushover_configs:
- html: true
token_file: /etc/secrets/pushover_api_token
user_key_file: /etc/secrets/pushover_api_userkey
send_resolved: true
priority: |-
{{ if eq .Status "firing" }}1{{ else }}0{{ end }}
url_title: View in Alert Manager
title: |-
[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .CommonLabels.alertname }}
message: |-
{{- range .Alerts }}
{{- if ne .Labels.severity "" }}
<b>Severity:</b> <i>{{ .Labels.severity }}</i>
{{- else }}
<b>Severity:</b> <i>N/A</i>
{{- end }}
{{- if ne .Annotations.description "" }}
<b>Description:</b> <i>{{ .Annotations.description }}</i>
{{- else if ne .Annotations.summary "" }}
<b>Summary:</b> <i>{{ .Annotations.summary }}</i>
{{- else if ne .Annotations.message "" }}
<b>Message:</b> <i>{{ .Annotations.message }}</i>
{{- else }}
<b>Description:</b> <i>N/A</i>
{{- end }}
{{- if gt (len .Labels.SortedPairs) 0 }}
<b>Details:</b>
{{- range .Labels.SortedPairs }}
• <b>{{ .Name }}:</b> <i>{{ .Value }}</i>
{{- end }}
{{- end }}
{{- end }}
route:
group_by: ["alertname", "job"]
group_wait: 30s
group_interval: 5m
repeat_interval: 6h
receiver: "pushover"
routes:
- receiver: "null"
matchers:
- alertname =~ "InfoInhibitor|Watchdog"
- receiver: "pushover"
matchers:
- severity = critical
continue: true
inhibit_rules:
- source_matchers:
- severity = "critical"
target_matchers:
- severity = "warning"
equal: ["alertname", "namespace"]

View file

@ -3,20 +3,21 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &appname kube-prometheus-stack
name: &appname alertmanager
namespace: flux-system
spec:
targetNamespace: observability
commonMetadata:
labels:
app.kubernetes.io/name: *appname
interval: 10m
path: "./kubernetes/apps/observability/kube-prometheus-stack/app"
interval: 30m
timeout: 5m
path: "./kubernetes/apps/observability/alertmanager/app"
prune: true
sourceRef:
kind: GitRepository
name: theshire
wait: true
dependsOn:
# - name: alertmanager
- name: external-secrets-stores
- name: rook-ceph-cluster

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -1,146 +0,0 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: kube-prometheus-stack
spec:
interval: 30m
timeout: 15m
chart:
spec:
chart: kube-prometheus-stack
version: 65.0.0
sourceRef:
kind: HelmRepository
name: prometheus-community
namespace: flux-system
interval: 30m
install:
crds: Skip
upgrade:
crds: Skip
values:
crds:
enabled: false
cleanPrometheusOperatorObjectNames: true
###
### Component values
###
alertmanager:
enabled: false
kubeApiServer:
enabled: true
serviceMonitor:
metricRelabelings:
# Drop high cardinality labels
- action: drop
sourceLabels: ["__name__"]
regex: (apiserver|etcd|rest_client)_request(|_sli|_slo)_duration_seconds_bucket
- action: drop
sourceLabels: ["__name__"]
regex: (apiserver_response_sizes_bucket|apiserver_watch_events_sizes_bucket)
kubeControllerManager:
enabled: false
kubeEtcd:
enabled: false
kubelet:
enabled: true
serviceMonitor:
metricRelabelings:
# Drop high cardinality labels
- action: labeldrop
regex: (uid)
- action: labeldrop
regex: (id|name)
- action: drop
sourceLabels: ["__name__"]
regex: (rest_client_request_duration_seconds_bucket|rest_client_request_duration_seconds_sum|rest_client_request_duration_seconds_count)
kubeProxy:
enabled: false
kubeScheduler:
enabled: false
kubeStateMetrics:
enabled: false
nodeExporter:
enabled: false
grafana:
enabled: false
forceDeployDashboards: true
sidecar:
dashboards:
annotations:
grafana_folder: Kubernetes
###
### Prometheus operator values
###
prometheusOperator:
resources:
requests:
cpu: 35m
memory: 273M
limits:
memory: 326M
prometheusConfigReloader:
# resource config for prometheusConfigReloader
resources:
requests:
cpu: 5m
memory: 32M
limits:
memory: 32M
###
### Prometheus instance values
###
prometheus:
ingress:
enabled: true
ingressClassName: internal-nginx
annotations:
external-dns.alpha.kubernetes.io/target: internal.jahanson.tech
hosts:
- prometheus.jahanson.tech
pathType: Prefix
prometheusSpec:
enableAdminAPI: true
enableFeatures:
- auto-gomaxprocs
- memory-snapshot-on-shutdown
- new-service-discovery-manager
podMonitorSelectorNilUsesHelmValues: false
probeSelectorNilUsesHelmValues: false
replicas: 1
replicaExternalLabelName: "__replica__" # must match with thanos value `.query.replicaLabel[0]`
resources:
requests:
cpu: 100m
limits:
memory: 1500M
retention: 14d
retentionSize: 50GB
ruleSelectorNilUsesHelmValues: false
scrapeConfigSelectorNilUsesHelmValues: false
scrapeInterval: 1m # Must match interval in Grafana Helm chart
serviceMonitorSelectorNilUsesHelmValues: false
storageSpec:
volumeClaimTemplate:
spec:
storageClassName: ceph-block
resources:
requests:
storage: 55Gi
walCompression: true

View file

@ -6,6 +6,7 @@ resources:
# Pre Flux-Kustomizations
- ./namespace.yaml
# Flux-Kustomizations
- ./kube-prometheus-stack/ks.yaml
- ./prometheus-operator-crds/ks.yaml
- ./alertmanager/ks.yaml
- ./gatus/ks.yaml
- ./prometheus-operator-crds/ks.yaml
- ./victoria-metrics/ks.yaml

View file

@ -0,0 +1,7 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- vmalert.yaml
- vmsingle.yaml

View file

@ -0,0 +1,36 @@
---
# yaml-language-server: $schema=https://ks.hsn.dev/operator.victoriametrics.com/vmalert_v1beta1.json
apiVersion: operator.victoriametrics.com/v1beta1
kind: VMAlert
metadata:
name: victoria
spec:
evaluationInterval: 1m
useStrictSecurity: true
selectAllByDefault: true
datasource:
url: http://vmsingle-victoria.observability.svc:8429
notifiers:
- url: http://alertmanager.observability.svc:9093
remoteRead:
url: http://vmsingle-victoria.observability.svc:8429
remoteWrite:
url: http://vmsingle-victoria.observability.svc:8429
securityContext:
runAsUser: 65534
runAsGroup: 65534
runAsNonRoot: true
fsGroup: 65534
resources:
requests:
cpu: 3m
limits:
memory: 128Mi
topologySpreadConstraints:
- maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app.kubernetes.io/instance: victoria
app.kubernetes.io/name: vmalert

View file

@ -0,0 +1,31 @@
---
# yaml-language-server: $schema=https://ks.hsn.dev/operator.victoriametrics.com/vmsingle_v1beta1.json
apiVersion: operator.victoriametrics.com/v1beta1
kind: VMSingle
metadata:
name: victoria
spec:
# Possible units character: h(ours), d(ays), w(eeks), y(ears). Min 24h.
retentionPeriod: "6" # months if not specified
useStrictSecurity: true
extraArgs:
dedup.minScrapeInterval: 10s
maxLabelsPerTimeseries: "40"
search.minStalenessInterval: 5m
vmalert.proxyURL: http://vmalert-victoria.observability.svc:8080
securityContext:
runAsUser: 65534
runAsGroup: 65534
runAsNonRoot: true
fsGroup: 65534
resources:
requests:
cpu: 5m
limits:
memory: 2Gi
storage:
accessModes: [ReadWriteOnce]
resources:
requests:
storage: 10Gi
storageClassName: openebs-hostpath

View file

@ -0,0 +1,43 @@
---
# yaml-language-server: $schema=https://ks.hsn.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app vm-operator
namespace: flux-system
spec:
targetNamespace: observability
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/observability/victoria-metrics/operator
prune: true
sourceRef:
kind: GitRepository
name: theshire
wait: true
interval: 30m
retryInterval: 1m
---
# yaml-language-server: $schema=https://ks.hsn.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app vm-cluster
namespace: flux-system
spec:
targetNamespace: observability
commonMetadata:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: openebs
- name: vm-operator
path: ./kubernetes/apps/observability/victoria-metrics/cluster
prune: true
sourceRef:
kind: GitRepository
name: theshire
wait: false
interval: 30m
retryInterval: 1m

View file

@ -0,0 +1,38 @@
---
# yaml-language-server: $schema=https://ks.hsn.dev/helm.toolkit.fluxcd.io/helmrelease_v2beta2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: vm-operator
spec:
interval: 30m
chart:
spec:
chart: victoria-metrics-operator
version: 0.35.2
sourceRef:
kind: HelmRepository
name: victoria-metrics
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
values:
fullnameOverride: vm-operator
rbac:
pspEnabled: false
operator:
enable_converter_ownership: true
useCustomConfigReloader: true
resources:
limits:
cpu: 220m
memory: 320Mi
requests:
cpu: 80m
memory: 120Mi

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s
@ -35,7 +35,7 @@ spec:
app:
image:
repository: ghcr.io/cross-seed/cross-seed
tag: 6.0.0-36@sha256:2611848f319df22a6887d850ff1fc171c214d1aa92ccde64342742d396f1586a
tag: 6.0.0-39@sha256:d871f4204840cb67fec4d417bd4cc5b3fe42abd98aa0f3304b309e410c02f40b
env:
TZ: America/Chicago
args: ["daemon"]

View file

@ -10,7 +10,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
interval: 30m
sourceRef:
kind: HelmRepository

View file

@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: app-template
version: 3.4.0
version: 3.5.0
sourceRef:
kind: HelmRepository
name: bjw-s
@ -39,7 +39,7 @@ spec:
tagging: &container
image:
repository: ghcr.io/buroa/qbtools
tag: v0.17.6@sha256:a248dc3e1d885838532830e15743846b73554b8af7e01fd728758f191458c10f
tag: v0.17.7@sha256:9f58b7f3f35066ca970951692475d788d328e703840b7fca0f0c2ed8c3102f7d
env:
TZ: *timeZone
POD_NAMESPACE:

View file

@ -10,7 +10,7 @@ spec:
chart:
spec:
chart: rook-ceph
version: v1.15.2
version: v1.15.3
sourceRef:
kind: HelmRepository
name: rook-ceph

View file

@ -10,7 +10,7 @@ spec:
chart:
spec:
chart: rook-ceph-cluster
version: v1.15.2
version: v1.15.3
sourceRef:
kind: HelmRepository
name: rook-ceph

View file

@ -31,7 +31,7 @@ releases:
- name: coredns
namespace: kube-system
chart: coredns/coredns
version: 1.34.0
version: 1.35.0
values:
- ../apps/kube-system/coredns/app/helm-values.yml
needs:

View file

@ -38,3 +38,4 @@ resources:
- spegel-org.yaml
- stakater.yaml
- stevehipwell.yaml
- victoria-metrics.yaml

View file

@ -0,0 +1,10 @@
---
# yaml-language-server: $schema=https://ks.hsn.dev/source.toolkit.fluxcd.io/helmrepository_v1.json
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: victoria-metrics
spec:
interval: 30m
url: https://victoriametrics.github.io/helm-charts/
timeout: 3m