Files
sless/deployments/k8s/operator-demo.yaml

126 lines
3.6 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Изменено: 2026-03-14
# Деплой sless оператора на demo-стенде (naeel-test-3, nip.io, без TLS).
# Отличия от production operator.yaml:
# - REGISTRY_HOST=naeel (DockerHub, не Harbor)
# - INGRESS_HOST и EXTERNAL_URL — через nip.io без TLS
# - cert-manager аннотации убраны
# - API_TOKEN берётся из sless-operator-secret (совпадает с secrets/test.token)
#
# Перед apply нужно создать секреты:
# kubectl create secret generic sless-operator-secret -n sless \
# --from-literal=POSTGRES_DSN="postgres://sless:sless-pg-password@postgres.sless.svc.cluster.local:5432/sless?sslmode=disable" \
# --from-literal=S3_ACCESS_KEY="0GLQRD38H4I6RBDB0EWJ" \
# --from-literal=S3_SECRET_KEY="eTFibiHmBd96IApj9PYsboTR6OBoD7osxoarHykw" \
# --from-literal=SLESS_API_TOKEN="<token from secrets/test.token>" \
# --from-literal=HARBOR_PASS=""
#
# kubectl create secret docker-registry sless-registry-auth -n sless \
# --docker-server=https://index.docker.io/v1/ \
# --docker-username=naeel \
# --docker-password=<DOCKERHUB_TOKEN>
---
apiVersion: v1
kind: ConfigMap
metadata:
name: sless-operator-config
namespace: sless
data:
S3_ENDPOINT: "s3.msk-1.ngcloud.ru"
S3_BUCKET: "sless-functions"
S3_USE_SSL: "true"
# Harbor как registry для demo
REGISTRY_HOST: "pearlharbor.registryk8s.services.ngcloud.ru"
REGISTRY_SECRET: "sless-registry-auth"
HARBOR_USER: "admin"
API_PORT: "9090"
# nip.io домен без TLS — работает без настройки DNS
INGRESS_HOST: "fn.185.247.187.147.nip.io"
EXTERNAL_URL: "http://sless-api.185.247.187.147.nip.io"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: sless-operator
namespace: sless
labels:
app: sless-operator
spec:
replicas: 1
selector:
matchLabels:
app: sless-operator
template:
metadata:
labels:
app: sless-operator
spec:
serviceAccountName: sless-operator
containers:
- name: operator
image: naeel/sless-operator:v0.1.29
imagePullPolicy: Always
ports:
- name: api
containerPort: 9090
- name: metrics
containerPort: 8080
- name: health
containerPort: 8081
envFrom:
- configMapRef:
name: sless-operator-config
- secretRef:
name: sless-operator-secret
readinessProbe:
httpGet:
path: /healthz
port: 8081
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
httpGet:
path: /healthz
port: 8081
initialDelaySeconds: 15
periodSeconds: 20
resources:
requests:
memory: "64Mi"
cpu: "50m"
limits:
memory: "256Mi"
cpu: "500m"
---
apiVersion: v1
kind: Service
metadata:
name: sless-operator
namespace: sless
spec:
selector:
app: sless-operator
ports:
- name: api
port: 9090
targetPort: 9090
---
# Ingress без TLS — demo стенд через nip.io
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: sless-operator
namespace: sless
spec:
ingressClassName: nginx
rules:
- host: sless-api.185.247.187.147.nip.io
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: sless-operator
port:
number: 9090