añadido Argos Core
This commit is contained in:
@@ -5,29 +5,33 @@ metadata:
|
||||
namespace: argos-core
|
||||
spec:
|
||||
replicas: 1
|
||||
selector: { matchLabels: { app: mediamtx } }
|
||||
selector:
|
||||
matchLabels: { app: mediamtx }
|
||||
template:
|
||||
metadata: { labels: { app: mediamtx } }
|
||||
metadata:
|
||||
labels: { app: mediamtx }
|
||||
spec:
|
||||
hostNetwork: true
|
||||
dnsPolicy: ClusterFirstWithHostNet
|
||||
containers:
|
||||
- name: mediamtx
|
||||
image: bluenviron/mediamtx:1.14.0
|
||||
command: ["/bin/sh","-c"]
|
||||
args:
|
||||
- |
|
||||
set -e
|
||||
ulimit -n 1048576
|
||||
exec mediamtx /config/mediamtx.yml
|
||||
# Nada de /bin/sh: solo pasa la ruta del YAML como argumento posicional
|
||||
args: ["/config/mediamtx.yml"]
|
||||
volumeMounts:
|
||||
- name: cfg
|
||||
mountPath: /config
|
||||
ports:
|
||||
- containerPort: 8554 # RTSP
|
||||
- containerPort: 8189 # SRT
|
||||
- containerPort: 8889 # WHIP
|
||||
- containerPort: 8880 # HTTP/API
|
||||
- name: rtsp
|
||||
containerPort: 8554
|
||||
protocol: TCP
|
||||
- name: http
|
||||
containerPort: 8880
|
||||
protocol: TCP
|
||||
- name: whip
|
||||
containerPort: 8889
|
||||
protocol: TCP
|
||||
- name: srt
|
||||
containerPort: 8189
|
||||
protocol: UDP
|
||||
volumes:
|
||||
- name: cfg
|
||||
configMap:
|
||||
|
||||
@@ -4,23 +4,69 @@ metadata:
|
||||
name: minio
|
||||
namespace: argos-core
|
||||
spec:
|
||||
strategy:
|
||||
type: Recreate
|
||||
replicas: 1
|
||||
selector: { matchLabels: { app: minio } }
|
||||
selector:
|
||||
matchLabels:
|
||||
app: minio
|
||||
template:
|
||||
metadata: { labels: { app: minio } }
|
||||
metadata:
|
||||
labels:
|
||||
app: minio
|
||||
app.kubernetes.io/part-of: argos
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
spec:
|
||||
# ayuda a que el FS sea accesible por el grupo
|
||||
securityContext:
|
||||
fsGroup: 1000
|
||||
fsGroupChangePolicy: OnRootMismatch
|
||||
# arregla permisos heredados de root en el PVC
|
||||
initContainers:
|
||||
- name: fix-perms
|
||||
image: alpine:3.20
|
||||
command: ["/bin/sh","-c"]
|
||||
args:
|
||||
- |
|
||||
set -ex
|
||||
apk add --no-cache acl
|
||||
chown -R 1000:1000 /data || true
|
||||
chmod -R u+rwX,g+rwX /data || true
|
||||
find /data -type d -exec chmod g+s {} \; || true
|
||||
setfacl -R -m g:1000:rwx /data || true
|
||||
setfacl -R -d -m g:1000:rwx /data || true
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
volumeMounts:
|
||||
- name: data
|
||||
mountPath: /data
|
||||
containers:
|
||||
- name: minio
|
||||
image: quay.io/minio/minio:latest
|
||||
securityContext:
|
||||
runAsUser: 1000
|
||||
runAsGroup: 1000
|
||||
args: ["server", "/data", "--console-address", ":9001"]
|
||||
envFrom:
|
||||
- secretRef: { name: minio-creds }
|
||||
ports:
|
||||
- containerPort: 9000
|
||||
- containerPort: 9001
|
||||
volumeMounts:
|
||||
- name: data
|
||||
mountPath: /data
|
||||
- { containerPort: 9000, name: api }
|
||||
- { containerPort: 9001, name: console }
|
||||
readinessProbe:
|
||||
httpGet: { path: /minio/health/ready, port: 9000 }
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 10
|
||||
livenessProbe:
|
||||
httpGet: { path: /minio/health/live, port: 9000 }
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 20
|
||||
resources:
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 256Mi
|
||||
limits:
|
||||
cpu: "1"
|
||||
memory: 2Gi
|
||||
volumes:
|
||||
- name: data
|
||||
persistentVolumeClaim:
|
||||
|
||||
@@ -5,22 +5,27 @@ metadata:
|
||||
namespace: argos-core
|
||||
spec:
|
||||
replicas: 1
|
||||
selector: { matchLabels: { app: mosquitto } }
|
||||
selector:
|
||||
matchLabels: { app: mosquitto }
|
||||
template:
|
||||
metadata: { labels: { app: mosquitto } }
|
||||
metadata:
|
||||
labels: { app: mosquitto }
|
||||
spec:
|
||||
containers:
|
||||
- name: mosquitto
|
||||
image: harbor.c2et.net/library/eclipse-mosquitto:latest
|
||||
image: eclipse-mosquitto:2
|
||||
ports:
|
||||
- containerPort: 1883
|
||||
volumeMounts:
|
||||
- name: cfg
|
||||
mountPath: /mosquitto/config
|
||||
- name: data
|
||||
mountPath: /mosquitto/data
|
||||
volumes:
|
||||
- name: cfg
|
||||
configMap:
|
||||
name: mosquitto-conf
|
||||
name: mosquitto-config
|
||||
items:
|
||||
- key: mosquitto.conf
|
||||
path: mosquitto.conf
|
||||
- { key: mosquitto.conf, path: mosquitto.conf }
|
||||
- name: data
|
||||
emptyDir: {} # o tu PVC si lo tienes
|
||||
|
||||
@@ -5,30 +5,30 @@ metadata:
|
||||
namespace: argos-core
|
||||
spec:
|
||||
replicas: 1
|
||||
selector: { matchLabels: { app: argos-panel } }
|
||||
selector:
|
||||
matchLabels: { app: argos-panel }
|
||||
template:
|
||||
metadata: { labels: { app: argos-panel } }
|
||||
metadata:
|
||||
labels: { app: argos-panel }
|
||||
spec:
|
||||
containers:
|
||||
- name: panel
|
||||
image: harbor.c2et.net/library/python:3.13.7-slim-bookworm
|
||||
image: python:3.13.7-slim-bookworm
|
||||
command: ["/bin/sh","-c"]
|
||||
args:
|
||||
- |
|
||||
set -e
|
||||
pip install fastapi uvicorn minio
|
||||
uvicorn app:app --host 0.0.0.0 --port 8000
|
||||
exec uvicorn app:app --host 0.0.0.0 --port 8000 --app-dir /app
|
||||
envFrom:
|
||||
- secretRef: { name: argos-panel-secret }
|
||||
volumeMounts:
|
||||
- { name: app, mountPath: /app }
|
||||
- { name: data, mountPath: /data }
|
||||
- { name: app, mountPath: /app }
|
||||
ports:
|
||||
- containerPort: 8000
|
||||
- { containerPort: 8000, name: http }
|
||||
volumes:
|
||||
- name: app
|
||||
configMap:
|
||||
name: argos-panel-config
|
||||
items: [ { key: app.py, path: app.py } ]
|
||||
- name: data
|
||||
emptyDir: {}
|
||||
items:
|
||||
- { key: app.py, path: app.py }
|
||||
|
||||
Reference in New Issue
Block a user