126 lines
3.6 KiB
YAML
126 lines
3.6 KiB
YAML
# Изменено: 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
|