first commit

This commit is contained in:
William Valentin
2025-08-15 23:45:13 -07:00
commit c167c8623c
29 changed files with 1971 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: audio-streamer-config
data:
S3_BUCKET: "zik"
AWS_REGION: "us-east-1"
# If using MinIO or a custom S3 endpoint, set S3_ENDPOINT, otherwise leave blank
S3_ENDPOINT: "http://minio.minio.svc.cluster.local:9000"
# S3_ENDPOINT: "https://api-data.squareserver.net"
# For MinIO, set to "true"; for AWS S3, leave empty or "false"
S3_FORCE_PATH_STYLE: "true"
# Optional object key prefix inside the bucket (e.g., 'current')
S3_PREFIX: "current"
PORT: "3000"

View File

@@ -0,0 +1,83 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: s3-audio-streamer
labels:
app: s3-audio-streamer
spec:
replicas: 2
selector:
matchLabels:
app: s3-audio-streamer
template:
metadata:
labels:
app: s3-audio-streamer
spec:
containers:
- name: s3-audio-streamer
image: gitea-http.taildb3494.ts.net/will/s3-audio-streamer
ports:
- containerPort: 3000
env:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: aws-secret
key: access-key-id
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: aws-secret
key: secret-access-key
- name: AWS_REGION
valueFrom:
configMapKeyRef:
name: audio-streamer-config
key: AWS_REGION
- name: S3_BUCKET
valueFrom:
configMapKeyRef:
name: audio-streamer-config
key: S3_BUCKET
- name: S3_ENDPOINT
valueFrom:
configMapKeyRef:
name: audio-streamer-config
key: S3_ENDPOINT
- name: S3_FORCE_PATH_STYLE
valueFrom:
configMapKeyRef:
name: audio-streamer-config
key: S3_FORCE_PATH_STYLE
- name: S3_PREFIX
valueFrom:
configMapKeyRef:
name: audio-streamer-config
key: S3_PREFIX
- name: PORT
valueFrom:
configMapKeyRef:
name: audio-streamer-config
key: PORT
readinessProbe:
httpGet:
path: /healthz
port: 3000
initialDelaySeconds: 3
periodSeconds: 10
livenessProbe:
httpGet:
path: /healthz
port: 3000
initialDelaySeconds: 10
periodSeconds: 20
resources:
requests:
memory: "256Mi"
cpu: "500m"
limits:
memory: "512Mi"
cpu: "1"
imagePullSecrets:
- name: gitea-reg

View File

@@ -0,0 +1,19 @@
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: s3-audio-streamer-hpa
namespace: default
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: s3-audio-streamer
minReplicas: 1
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50

View File

@@ -0,0 +1,19 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: audio-streamer-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: s3-audio-streamer.192.168.153.243.nip.io
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: s3-audio-streamer
port:
number: 3000
ingressClassName: nginx

View File

@@ -0,0 +1,9 @@
apiVersion: v1
kind: Secret
metadata:
name: aws-secret
namespace: default
type: Opaque
data:
access-key-id: bXZ3ZldTc1Q3b2RkdTE0amxuMHk=
secret-access-key: Y1dscWVsQTFabGxTU0ZsdU4xTktWRnBxU2s1MFRrbDFNVkpSZW01UlkyaHdkREpCYVRkTmRBbz0=

View File

@@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
name: s3-audio-streamer
labels:
app: s3-audio-streamer
spec:
type: ClusterIP
ports:
- port: 3000
targetPort: 3000
protocol: TCP
selector:
app: s3-audio-streamer