1
0
Fork 0

Compare commits

...

15 Commits

Author SHA1 Message Date
bot f72639bec6 ntfy: Update to 2.12.0 2025-06-07 11:32:24 +00:00
Dustin e0af6e0549 argocd/apps/grafana: Enable auto sync 2025-06-05 07:09:00 -05:00
Dustin 9b1a5ef14f grafana: Add Victoria Logs data source 2025-06-05 07:07:55 -05:00
Dustin eb754d9112 grafana: Update to 11.5.5
The legacy alerting feature (which we never used) has been deprecated
for a long time and removed in Grafana 11.  The corresponding
configuration block must be removed from the config file or Grafana will
not start.
2025-06-05 07:06:40 -05:00
Dustin 721d82eac3 paperless-ngx: Make /run writable
The latest version of Paperless-ngx needs a writable `/run` or it will
not even start.
2025-06-05 07:00:59 -05:00
Dustin 92cf2c1b77 authelia: Update config for 4.39
Authelia made breaking changes to the OIDC issuer configuration in 4.39,
specifically around what claims are present in identity tokens.  Without
a claims policy set, clients will _not_ get the correct claims, which
breaks authentication and authorization in many cases (including
Kubernetes).

While I was fixing that, I went ahead and fixed a few of the other
deprecation warnings.  There are still two that show up at startup, but
fixing them will be a bit more involved, it seems.
2025-06-05 07:00:50 -05:00
Dustin 85236243c2 Merge remote-tracking branch 'refs/remotes/origin/master' 2025-06-04 07:02:51 -05:00
Dustin fb1ef70dd3 Merge pull request 'authelia: Update to 4.39.1' (#59) from updatebot/authelia into master
Reviewed-on: #59
2025-06-03 23:58:31 +00:00
Dustin 25da978286 Merge pull request 'gotenberg: Update to 8.18.0' (#58) from updatebot/paperless-ngx into master
Reviewed-on: #58
2025-06-03 23:58:12 +00:00
Dustin 1c936943a0 Merge pull request 'vaultwarden: Update to 1.34.1' (#63) from updatebot/vaultwarden into master
Reviewed-on: #63
2025-06-03 23:54:14 +00:00
bot f45a8de0c1 vaultwarden: Update to 1.34.1 2025-05-31 11:32:18 +00:00
bot d27934a211 authelia: Update to 4.39.4 2025-05-31 11:32:17 +00:00
bot 1f02ad70da gotenberg: Update to 8.21.0 2025-05-31 11:32:12 +00:00
bot 8e1ac08d15 paperless-ngx: Update to 2.16.2 2025-05-31 11:32:12 +00:00
Dustin 43d5d7f39e home-assistant: Run as root in user namespace
Beginning with Home Assistant 2024.12, it is no longer possible to use
custom integrations if the container is running as an unprivileged user.
Fortunately, it can be "tricked" by running as root in an unprivileged
user namespace.

https://github.com/blakeblackshear/frigate-hass-integration/issues/762
https://github.com/home-assistant/core/issues/132336
2025-04-20 17:04:17 -05:00
13 changed files with 76 additions and 71 deletions

View File

@ -11,3 +11,6 @@ spec:
path: grafana path: grafana
repoURL: https://git.pyrocufflink.blue/infra/kubernetes.git repoURL: https://git.pyrocufflink.blue/infra/kubernetes.git
targetRevision: master targetRevision: master
syncPolicy:
automated:
prune: true

View File

@ -54,7 +54,7 @@ spec:
- name: authelia - name: authelia
image: ghcr.io/authelia/authelia image: ghcr.io/authelia/authelia
env: env:
- name: AUTHELIA_JWT_SECRET_FILE - name: AUTHELIA_IDENTITY_VALIDATION_RESET_PASSWORD_JWT_SECRET_FILE
value: /run/authelia/secrets/jwt.secret value: /run/authelia/secrets/jwt.secret
- name: AUTHELIA_AUTHENTICATION_BACKEND_LDAP_PASSWORD_FILE - name: AUTHELIA_AUTHENTICATION_BACKEND_LDAP_PASSWORD_FILE
value: /run/authelia/secrets/ldap.password value: /run/authelia/secrets/ldap.password

View File

@ -74,20 +74,30 @@ authentication_backend:
implementation: activedirectory implementation: activedirectory
tls: tls:
minimum_version: TLS1.2 minimum_version: TLS1.2
url: ldaps://pyrocufflink.blue address: ldaps://pyrocufflink.blue
user: CN=svc.authelia,CN=Users,DC=pyrocufflink,DC=blue user: CN=svc.authelia,CN=Users,DC=pyrocufflink,DC=blue
certificates_directory: /run/authelia/certs certificates_directory: /run/authelia/certs
identity_providers: identity_providers:
oidc: oidc:
claims_policies:
default:
id_token:
- groups
- email
- email_verified
- preferred_username
- name
clients: clients:
- id: e20a50c2-55eb-4cb1-96ce-fe71c61c1d89 - client_id: e20a50c2-55eb-4cb1-96ce-fe71c61c1d89
description: Jenkins client_name: Jenkins
secret: >- client_secret: >-
$argon2id$v=19$m=65536,t=3,p=4$qoo6+3ToLbsZOI/BxcppGw$srNBfpIHqpxLh+VfVNNe27A1Ci9dCKLfB8rWXLNkv44 $argon2id$v=19$m=65536,t=3,p=4$qoo6+3ToLbsZOI/BxcppGw$srNBfpIHqpxLh+VfVNNe27A1Ci9dCKLfB8rWXLNkv44
redirect_uris: redirect_uris:
- https://jenkins.pyrocufflink.blue/securityRealm/finishLogin - https://jenkins.pyrocufflink.blue/securityRealm/finishLogin
response_types:
- code
scopes: scopes:
- openid - openid
- groups - groups
@ -97,51 +107,58 @@ identity_providers:
authorization_policy: one_factor authorization_policy: one_factor
pre_configured_consent_duration: 8h pre_configured_consent_duration: 8h
token_endpoint_auth_method: client_secret_post token_endpoint_auth_method: client_secret_post
- id: kubernetes - client_id: kubernetes
description: Kubernetes client_name: Kubernetes
public: true public: true
claims_policy: default
redirect_uris: redirect_uris:
- http://localhost:8000 - http://localhost:8000
- http://localhost:18000 - http://localhost:18000
authorization_policy: one_factor authorization_policy: one_factor
pre_configured_consent_duration: 8h pre_configured_consent_duration: 8h
- id: 1b6adbfc-d9e0-4cab-b780-e410639dc420 - client_id: 1b6adbfc-d9e0-4cab-b780-e410639dc420
description: MinIO client_name: MinIO
secret: >- client_secret: >-
$pbkdf2-sha512$310000$TkQ1BwLrr.d8AVGWk2rLhA$z4euAPhkkZdjcxKFD3tZRtNQ/R78beW7epJ.BGFWSwQdAme5TugNj9Ba.aL5TEqrBDmXRW0xiI9EbxSszckG5A $pbkdf2-sha512$310000$TkQ1BwLrr.d8AVGWk2rLhA$z4euAPhkkZdjcxKFD3tZRtNQ/R78beW7epJ.BGFWSwQdAme5TugNj9Ba.aL5TEqrBDmXRW0xiI9EbxSszckG5A
redirect_uris: redirect_uris:
- https://burp.pyrocufflink.blue:9090/oauth_callback - https://burp.pyrocufflink.blue:9090/oauth_callback
- https://minio.backups.pyrocufflink.blue/oauth_callback - https://minio.backups.pyrocufflink.blue/oauth_callback
- id: step-ca - client_id: step-ca
description: step-ca client_name: step-ca
public: true public: true
claims_policy: default
redirect_uris: redirect_uris:
- http://127.0.0.1 - http://127.0.0.1
pre_configured_consent_duration: 8h pre_configured_consent_duration: 8h
- id: argocd - client_id: argocd
description: Argo CD client_name: Argo CD
claims_policy: default
pre_configured_consent_duration: 8h pre_configured_consent_duration: 8h
redirect_uris: redirect_uris:
- https://argocd.pyrocufflink.blue/auth/callback - https://argocd.pyrocufflink.blue/auth/callback
secret: >- client_secret: >-
$pbkdf2-sha512$310000$l/uOezgWjqe3boGLYAnKcg$uqn1FC8Lj2y1NG5Q91PeLfLLUQ.qtlKFLd0AWJ56owLME9mV/Zx8kQ2x7OS/MOoMLmUgKd4zogYKab2HGFr0kw $pbkdf2-sha512$310000$l/uOezgWjqe3boGLYAnKcg$uqn1FC8Lj2y1NG5Q91PeLfLLUQ.qtlKFLd0AWJ56owLME9mV/Zx8kQ2x7OS/MOoMLmUgKd4zogYKab2HGFr0kw
- id: argocd-cli - client_id: argocd-cli
description: argocd CLI client_name: argocd CLI
public: true public: true
claims_policy: default
pre_configured_consent_duration: 8h pre_configured_consent_duration: 8h
audience: audience:
- argocd-cli - argocd-cli
redirect_uris: redirect_uris:
- http://localhost:8085/auth/callback - http://localhost:8085/auth/callback
response_types:
- code
scopes: scopes:
- openid - openid
- groups
- profile - profile
- email - email
- groups
- offline_access - offline_access
- id: sshca - client_id: sshca
description: SSHCA client_name: SSHCA
public: true public: true
claims_policy: default
pre_configured_consent_duration: 4h pre_configured_consent_duration: 4h
redirect_uris: redirect_uris:
- http://127.0.0.1 - http://127.0.0.1
@ -157,17 +174,18 @@ log:
notifier: notifier:
smtp: smtp:
disable_require_tls: true disable_require_tls: true
host: mail.pyrocufflink.blue address: 'mail.pyrocufflink.blue:25'
port: 25
sender: auth@pyrocufflink.net sender: auth@pyrocufflink.net
session: session:
domain: pyrocufflink.blue
expiration: 1d expiration: 1d
inactivity: 4h inactivity: 4h
redis: redis:
host: redis host: redis
port: 6379 port: 6379
cookies:
- domain: pyrocufflink.blue
authelia_url: 'https://auth.pyrocufflink.blue'
server: server:
buffers: buffers:
@ -175,7 +193,7 @@ server:
storage: storage:
postgres: postgres:
host: postgresql.pyrocufflink.blue address: postgresql.pyrocufflink.blue
database: authelia database: authelia
username: authelia username: authelia
password: unused password: unused

View File

@ -57,4 +57,4 @@ patches:
name: dch-root-ca name: dch-root-ca
images: images:
- name: ghcr.io/authelia/authelia - name: ghcr.io/authelia/authelia
newTag: 4.38.19 newTag: 4.39.4

View File

@ -0,0 +1,14 @@
apiVersion: 1
datasources:
- name: Victoria Logs
type: victoriametrics-logs-datasource
access: proxy
url: https://logs.pyrocufflink.blue
jsonData:
tlsAuth: true
tlsAuthWithCACert: true
secureJsonData:
tlsCACert: $__file{/run/dch-ca/dch-root-ca.crt}
tlsClientCert: $__file{/run/secrets/du5t1n.me/loki/tls.crt}
tlsClientKey: $__file{/run/secrets/du5t1n.me/loki/tls.key}

View File

@ -594,42 +594,6 @@ global_api_key = -1
# global limit on number of logged in users. # global limit on number of logged in users.
global_session = -1 global_session = -1
#################################### Alerting ############################
[alerting]
# Disable alerting engine & UI features
enabled = true
# Makes it possible to turn off alert rule execution but alerting UI is visible
execute_alerts = true
# Default setting for new alert rules. Defaults to categorize error and timeouts as alerting. (alerting, keep_state)
error_or_timeout = alerting
# Default setting for how Grafana handles nodata or null values in alerting. (alerting, no_data, keep_state, ok)
nodata_or_nullvalues = no_data
# Alert notifications can include images, but rendering many images at the same time can overload the server
# This limit will protect the server from render overloading and make sure notifications are sent out quickly
concurrent_render_limit = 5
# Default setting for alert calculation timeout. Default value is 30
evaluation_timeout_seconds = 30
# Default setting for alert notification timeout. Default value is 30
notification_timeout_seconds = 30
# Default setting for max attempts to sending alert notifications. Default value is 3
max_attempts = 3
# Makes it possible to enforce a minimal interval between evaluations, to reduce load on the backend
min_interval_seconds = 1
# Configures for how long alert annotations are stored. Default is 0, which keeps them forever.
# This setting should be expressed as an duration. Ex 6h (hours), 10d (days), 2w (weeks), 1M (month).
max_annotation_age =
# Configures max number of alert annotations that Grafana stores. Default value is 0, which keeps all alert annotations.
max_annotations_to_keep =
#################################### Annotations ######################### #################################### Annotations #########################
[annotations.dashboard] [annotations.dashboard]

View File

@ -76,6 +76,8 @@ spec:
- mountPath: /etc/grafana/provisioning/datasources - mountPath: /etc/grafana/provisioning/datasources
name: datasources name: datasources
readOnly: true readOnly: true
- mountPath: /tmp
name: tmp
- mountPath: /run/secrets/grafana - mountPath: /run/secrets/grafana
name: secrets name: secrets
readOnly: true readOnly: true
@ -96,6 +98,9 @@ spec:
- name: grafana - name: grafana
persistentVolumeClaim: persistentVolumeClaim:
claimName: grafana claimName: grafana
- name: tmp
emptyDir:
medium: Memory
- name: secrets - name: secrets
secret: secret:
secretName: grafana secretName: grafana

View File

@ -28,6 +28,7 @@ configMapGenerator:
- name: datasources - name: datasources
files: files:
- datasources/loki.yml - datasources/loki.yml
- datasources/victoria-logs.yml
patches: patches:
- patch: |- - patch: |-
@ -54,3 +55,7 @@ patches:
- name: loki-client-cert - name: loki-client-cert
secret: secret:
secretName: loki-client-cert secretName: loki-client-cert
images:
- name: docker.io/grafana/grafana
newTag: 11.5.5

View File

@ -74,15 +74,11 @@ spec:
failureThreshold: 300 failureThreshold: 300
periodSeconds: 3 periodSeconds: 3
initialDelaySeconds: 3 initialDelaySeconds: 3
securityContext:
runAsUser: 300
runAsGroup: 300
volumeMounts: volumeMounts:
- name: home-assistant-data - name: home-assistant-data
mountPath: /config mountPath: /config
subPath: data subPath: data
securityContext: hostUsers: false
fsGroup: 300
volumes: volumes:
- name: home-assistant-data - name: home-assistant-data
persistentVolumeClaim: persistentVolumeClaim:

View File

@ -20,4 +20,4 @@ configMapGenerator:
images: images:
- name: docker.io/binwiederhier/ntfy - name: docker.io/binwiederhier/ntfy
newTag: v2.11.0 newTag: v2.12.0

View File

@ -45,8 +45,8 @@ patches:
images: images:
- name: ghcr.io/paperless-ngx/paperless-ngx - name: ghcr.io/paperless-ngx/paperless-ngx
newTag: 2.14.7 newTag: 2.16.2
- name: docker.io/gotenberg/gotenberg - name: docker.io/gotenberg/gotenberg
newTag: 8.17.3 newTag: 8.21.0
- name: docker.io/apache/tika - name: docker.io/apache/tika
newTag: 3.1.0.0 newTag: 3.1.0.0

View File

@ -126,7 +126,7 @@ spec:
- name: tmp - name: tmp
mountPath: /tmp mountPath: /tmp
- name: run - name: run
mountPath: /run/supervisord mountPath: /run
- name: logs - name: logs
mountPath: /var/log/supervisord mountPath: /var/log/supervisord
subPath: supervisord subPath: supervisord

View File

@ -27,4 +27,4 @@ configMapGenerator:
images: images:
- name: ghcr.io/dani-garcia/vaultwarden - name: ghcr.io/dani-garcia/vaultwarden
newTag: 1.33.2-alpine newTag: 1.34.1-alpine