Files
infrastructure/clusters/cl01tl/manifests/shelly-plug/shelly-plug.yaml
gitea-bot 693da9f62c Automated Manifest Update (#2174)
This PR contains newly rendered Kubernetes manifests automatically generated by the CI workflow.

Reviewed-on: #2174
Co-authored-by: gitea-bot <gitea-bot@alexlebens.net>
Co-committed-by: gitea-bot <gitea-bot@alexlebens.net>
2025-12-02 02:23:24 +00:00

186 lines
4.9 KiB
YAML

---
# Source: shelly-plug/charts/shelly-plug/templates/common.yaml
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: shelly-plug
labels:
app.kubernetes.io/instance: shelly-plug
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: shelly-plug
helm.sh/chart: shelly-plug-4.4.0
annotations:
helm.sh/resource-policy: keep
namespace: shelly-plug
spec:
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: "1Gi"
storageClassName: "ceph-block"
---
# Source: shelly-plug/charts/shelly-plug/templates/common.yaml
apiVersion: v1
kind: Service
metadata:
name: shelly-plug
labels:
app.kubernetes.io/instance: shelly-plug
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: shelly-plug
app.kubernetes.io/service: shelly-plug
helm.sh/chart: shelly-plug-4.4.0
namespace: shelly-plug
spec:
type: ClusterIP
ports:
- port: 80
targetPort: 80
protocol: TCP
name: metrics
selector:
app.kubernetes.io/controller: main
app.kubernetes.io/instance: shelly-plug
app.kubernetes.io/name: shelly-plug
---
# Source: shelly-plug/charts/shelly-plug/templates/common.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: shelly-plug
labels:
app.kubernetes.io/controller: main
app.kubernetes.io/instance: shelly-plug
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: shelly-plug
helm.sh/chart: shelly-plug-4.4.0
namespace: shelly-plug
spec:
revisionHistoryLimit: 3
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/controller: main
app.kubernetes.io/name: shelly-plug
app.kubernetes.io/instance: shelly-plug
template:
metadata:
labels:
app.kubernetes.io/controller: main
app.kubernetes.io/instance: shelly-plug
app.kubernetes.io/name: shelly-plug
spec:
enableServiceLinks: false
serviceAccountName: default
automountServiceAccountToken: true
hostIPC: false
hostNetwork: false
hostPID: false
dnsPolicy: ClusterFirst
initContainers:
- command:
- /bin/sh
- -ec
- |
cd /var/www/html
if [ -d ".git" ]; then
echo "Git repository found. Pulling latest changes..."
git pull
else
echo "Not a git repository. Initializing ..."
git init
git remote add origin https://github.com/geerlingguy/shelly-plug-prometheus.git
git fetch origin
git checkout origin/master -ft
fi
image: alpine/git:latest
imagePullPolicy: IfNotPresent
name: init-fetch-repo
resources:
requests:
cpu: 10m
memory: 128Mi
securityContext:
runAsUser: 0
volumeMounts:
- mountPath: /var/www/html
name: script
containers:
- env:
- name: SHELLY_HOSTNAME
value: it05sp.alexlebens.net
- name: SHELLY_GENERATION
value: "2"
envFrom:
- secretRef:
name: shelly-plug-config-secret
image: php:8.4.15-apache-bookworm
imagePullPolicy: IfNotPresent
name: main
resources:
requests:
cpu: 10m
memory: 64Mi
volumeMounts:
- mountPath: /var/www/html
name: script
volumes:
- name: script
persistentVolumeClaim:
claimName: shelly-plug
---
# Source: shelly-plug/templates/external-secret.yaml
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: shelly-plug-config-secret
namespace: shelly-plug
labels:
app.kubernetes.io/name: shelly-plug-config-secret
app.kubernetes.io/instance: shelly-plug
app.kubernetes.io/part-of: shelly-plug
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: SHELLY_HTTP_USERNAME
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /shelly-plug/auth/it05sp
metadataPolicy: None
property: SHELLY_HTTP_USERNAME
- secretKey: SHELLY_HTTP_PASSWORD
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /shelly-plug/auth/it05sp
metadataPolicy: None
property: SHELLY_HTTP_PASSWORD
---
# Source: shelly-plug/templates/service-monitor.yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: shelly-plug
namespace: shelly-plug
labels:
app.kubernetes.io/name: shelly-plug
app.kubernetes.io/instance: shelly-plug
app.kubernetes.io/part-of: shelly-plug
spec:
selector:
matchLabels:
app.kubernetes.io/name: shelly-plug
app.kubernetes.io/instance: shelly-plug
endpoints:
- port: metrics
interval: 30s
scrapeTimeout: 10s
path: /metrics