# Изменено: 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="" \ # --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= --- 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