Compare commits

...

9 Commits

Author SHA1 Message Date
ab 78c1519398 Adde prom auth ingress
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 6s
Check with kubeconform / lint (push) Successful in 7s
Auto-update README / Generate README and Create MR (push) Successful in 7s
2026-06-20 17:12:03 +03:00
ab d8a5a916e1 Added prom.hexor.cy rsauth-proxy app
Keycloak Terraform / Terraform (push) Successful in 22s
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 2m35s
2026-06-20 16:55:39 +03:00
ab a840dd674a Update k8s/core/prom-stack/prom-values.yaml
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 8s
Check with kubeconform / lint (push) Successful in 8s
Auto-update README / Generate README and Create MR (push) Successful in 11s
2026-06-19 17:45:35 +00:00
ab a094d3b925 Added Gitea captcha
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 5s
Check with kubeconform / lint (push) Successful in 5s
Auto-update README / Generate README and Create MR (push) Successful in 5s
2026-06-18 02:32:33 +01:00
ab 9508a8483c Added Gitea captcha
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 6s
Check with kubeconform / lint (push) Successful in 5s
Auto-update README / Generate README and Create MR (push) Successful in 5s
2026-06-18 02:30:49 +01:00
ab c5919259f6 Added Gitea captcha
Check with kubeconform / lint (push) Successful in 14s
Auto-update README / Generate README and Create MR (push) Failing after 2m57s
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Failing after 16m35s
2026-06-18 02:27:24 +01:00
Ultradesu 83de150f87 Fix amnezia iptables
Check with kubeconform / lint (push) Successful in 12s
Auto-update README / Generate README and Create MR (push) Failing after 10m47s
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Failing after 13m0s
2026-06-18 00:06:14 +01:00
Ultradesu 70d785769e Update longhorn tolerations
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 13s
Check with kubeconform / lint (push) Successful in 10s
Auto-update README / Generate README and Create MR (push) Successful in 10s
2026-06-17 15:27:17 +01:00
Ultradesu f129977993 Update longhorn
Check with kubeconform / lint (push) Successful in 10s
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Failing after 11m23s
Auto-update README / Generate README and Create MR (push) Failing after 14m14s
2026-06-17 15:02:52 +01:00
9 changed files with 131 additions and 33 deletions
+17
View File
@@ -30,6 +30,21 @@ data:
fi fi
} }
delete_rule() {
local table_args=()
if [ "${1:-}" = "-t" ]; then
table_args=("$1" "$2")
shift 2
fi
local chain="$1"
shift
while iptables "${table_args[@]}" -D "${chain}" "$@" >/dev/null 2>&1; do
true
done
}
ensure_append_rule() { ensure_append_rule() {
local table_args=() local table_args=()
if [ "${1:-}" = "-t" ]; then if [ "${1:-}" = "-t" ]; then
@@ -56,6 +71,7 @@ data:
sysctl -w net.ipv4.ip_forward=1 sysctl -w net.ipv4.ip_forward=1
delete_rule INPUT -i tailscale0 -p udp -m comment --comment amneziawg-block-tailscale -j DROP
ensure_insert_rule INPUT -i "${EXT_IF}" -p udp --dport "${PORT}" -m comment --comment amneziawg-allow-external -j ACCEPT ensure_insert_rule INPUT -i "${EXT_IF}" -p udp --dport "${PORT}" -m comment --comment amneziawg-allow-external -j ACCEPT
ensure_insert_rule INPUT -i tailscale0 -p udp --dport "${PORT}" -m comment --comment amneziawg-block-tailscale -j DROP ensure_insert_rule INPUT -i tailscale0 -p udp --dport "${PORT}" -m comment --comment amneziawg-block-tailscale -j DROP
ensure_append_rule INPUT -i awg0 -m comment --comment amneziawg-awg-input -j ACCEPT ensure_append_rule INPUT -i awg0 -m comment --comment amneziawg-awg-input -j ACCEPT
@@ -100,6 +116,7 @@ data:
fi fi
delete_rule INPUT -i tailscale0 -p udp --dport "${PORT}" -m comment --comment amneziawg-block-tailscale -j DROP delete_rule INPUT -i tailscale0 -p udp --dport "${PORT}" -m comment --comment amneziawg-block-tailscale -j DROP
delete_rule INPUT -i tailscale0 -p udp -m comment --comment amneziawg-block-tailscale -j DROP
delete_rule INPUT -i awg0 -m comment --comment amneziawg-awg-input -j ACCEPT delete_rule INPUT -i awg0 -m comment --comment amneziawg-awg-input -j ACCEPT
delete_rule FORWARD -i awg0 -m comment --comment amneziawg-forward-in -j ACCEPT delete_rule FORWARD -i awg0 -m comment --comment amneziawg-forward-in -j ACCEPT
delete_rule FORWARD -o awg0 -m comment --comment amneziawg-forward-out -j ACCEPT delete_rule FORWARD -o awg0 -m comment --comment amneziawg-forward-out -j ACCEPT
+4 -4
View File
@@ -41,18 +41,18 @@ spec:
- name: GITEA__service__REGISTER_MANUAL_CONFIRM - name: GITEA__service__REGISTER_MANUAL_CONFIRM
value: "true" value: "true"
- name: GITEA__service__ENABLE_CAPTCHA - name: GITEA__service__ENABLE_CAPTCHA
value: "false"
- name: GITEA__service__REQUIRE_CAPTCHA_FOR_LOGIN
value: "true" value: "true"
- name: GITEA__service__REQUIRE_CAPTCHA_FOR_LOGIN
value: "false"
- name: GITEA__service__REQUIRE_EXTERNAL_REGISTRATION_CAPTCHA - name: GITEA__service__REQUIRE_EXTERNAL_REGISTRATION_CAPTCHA
value: "true" value: "true"
- name: GITEA__service__CAPTCHA_TYPE - name: GITEA__service__CAPTCHA_TYPE
value: "hcaptcha" value: "cfturnstile"
- name: GITEA__webhook__ALLOWED_HOST_LIST - name: GITEA__webhook__ALLOWED_HOST_LIST
value: "*" value: "*"
envFrom: envFrom:
- secretRef: - secretRef:
name: gitea-recapcha-creds name: gitea-runner-act-runner-secrets
ports: ports:
- name: http - name: http
containerPort: 3000 containerPort: 3000
+10 -25
View File
@@ -13,6 +13,10 @@ spec:
data: data:
token: |- token: |-
{{ .password }} {{ .password }}
GITEA__service__CF_TURNSTILE_SITEKEY: |-
{{ .CF_TURNSTILE_SITEKEY }}
GITEA__service__CF_TURNSTILE_SECRET: |-
{{ .CF_TURNSTILE_SECRET }}
data: data:
- secretKey: password - secretKey: password
sourceRef: sourceRef:
@@ -22,38 +26,19 @@ spec:
remoteRef: remoteRef:
key: e475b5ab-ea3c-48a5-bb4c-a6bc552fc064 key: e475b5ab-ea3c-48a5-bb4c-a6bc552fc064
property: login.password property: login.password
- secretKey: CF_TURNSTILE_SITEKEY
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: gitea-recapcha-creds
spec:
refreshInterval: 1m
target:
name: gitea-recapcha-creds
deletionPolicy: Delete
template:
type: Opaque
data:
GITEA__service__HCAPTCHA_SITEKEY: |-
{{ .HCAPTCHA_SITEKEY }}
GITEA__service__HCAPTCHA_SECRET: |-
{{ .HCAPTCHA_SECRET }}
data:
- secretKey: HCAPTCHA_SITEKEY
sourceRef: sourceRef:
storeRef: storeRef:
name: vaultwarden-login name: vaultwarden-login
kind: ClusterSecretStore kind: ClusterSecretStore
remoteRef: remoteRef:
key: 89c8d8d2-6b53-42c5-805f-38a341ef163e key: e475b5ab-ea3c-48a5-bb4c-a6bc552fc064
property: login.username property: fields[0].value
- secretKey: HCAPTCHA_SECRET - secretKey: CF_TURNSTILE_SECRET
sourceRef: sourceRef:
storeRef: storeRef:
name: vaultwarden-login name: vaultwarden-login
kind: ClusterSecretStore kind: ClusterSecretStore
remoteRef: remoteRef:
key: 89c8d8d2-6b53-42c5-805f-38a341ef163e key: e475b5ab-ea3c-48a5-bb4c-a6bc552fc064
property: login.password property: fields[1].value
+1 -1
View File
@@ -7,7 +7,7 @@ kind: Kustomization
helmCharts: helmCharts:
- name: longhorn - name: longhorn
repo: https://charts.longhorn.io repo: https://charts.longhorn.io
version: 1.11.2 version: 1.12.0
releaseName: longhorn releaseName: longhorn
namespace: longhorn namespace: longhorn
valuesFile: values.yaml valuesFile: values.yaml
+47
View File
@@ -1,7 +1,54 @@
global:
tolerations:
- key: "workload"
operator: "Exists"
effect: "NoSchedule"
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoSchedule"
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
longhornManager:
tolerations:
- key: "workload"
operator: "Exists"
effect: "NoSchedule"
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoSchedule"
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
longhornDriver:
tolerations:
- key: "workload"
operator: "Exists"
effect: "NoSchedule"
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoSchedule"
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
longhornUI: longhornUI:
replicas: 1 replicas: 1
tolerations:
- key: "workload"
operator: "Exists"
effect: "NoSchedule"
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoSchedule"
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
defaultSettings: defaultSettings:
taintToleration: "workload=ai:NoSchedule; workload=desktop:NoSchedule; node.kubernetes.io/unreachable:NoSchedule; node.kubernetes.io/unreachable:NoExecute"
# Keep new instance-manager pods schedulable on nodes with high CPU requests. # Keep new instance-manager pods schedulable on nodes with high CPU requests.
guaranteedInstanceManagerCPU: '{"v1":"6","v2":"6"}' guaranteedInstanceManagerCPU: '{"v1":"6","v2":"6"}'
+45
View File
@@ -0,0 +1,45 @@
---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: auth-proxy
spec:
forwardAuth:
address: http://auth-proxy.auth-proxy.svc:80/auth
trustForwardHeader: true
authResponseHeaders:
- X-Auth-Request-User
- X-Auth-Request-Email
- X-Auth-Request-Groups
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: prometheus
annotations:
cert-manager.io/cluster-issuer: letsencrypt
spec:
entryPoints:
- websecure
routes:
- match: Host(`prom.hexor.cy`)
kind: Rule
middlewares:
- name: auth-proxy
services:
- name: prometheus-kube-prometheus-prometheus
port: 9090
tls:
secretName: prometheus-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: prometheus-tls
spec:
secretName: prometheus-tls
issuerRef:
name: letsencrypt
kind: ClusterIssuer
dnsNames:
- prom.hexor.cy
+1
View File
@@ -4,6 +4,7 @@ kind: Kustomization
resources: resources:
- persistentVolume.yaml - persistentVolume.yaml
- external-secrets.yaml - external-secrets.yaml
- ingress.yaml
- grafana-alerting-configmap.yaml - grafana-alerting-configmap.yaml
- alertmanager-config.yaml - alertmanager-config.yaml
- dashboards/telemt-dashboard-cm.yaml - dashboards/telemt-dashboard-cm.yaml
+2 -3
View File
@@ -1,4 +1,3 @@
alertmanager: alertmanager:
config: config:
global: global:
@@ -25,7 +24,7 @@ alertmanager:
{{ end }} {{ end }}
ingress: ingress:
enabled: true enabled: false
ingressClassName: traefik ingressClassName: traefik
annotations: annotations:
cert-manager.io/cluster-issuer: letsencrypt cert-manager.io/cluster-issuer: letsencrypt
@@ -46,7 +45,7 @@ alertmanager:
prometheus: prometheus:
ingress: ingress:
enabled: true enabled: false
ingressClassName: traefik ingressClassName: traefik
annotations: annotations:
cert-manager.io/cluster-issuer: letsencrypt cert-manager.io/cluster-issuer: letsencrypt
+4
View File
@@ -16,6 +16,10 @@ proxy_applications = {
domain = "pass.hexor.cy" domain = "pass.hexor.cy"
allowed_groups = ["hexor-admin", "app-pass"] allowed_groups = ["hexor-admin", "app-pass"]
} }
Prometheus = {
domain = "prom.hexor.cy"
allowed_groups = ["hexor-admin"]
}
} }
oauth2_applications = { oauth2_applications = {