- app/auth/jwt.go: ParseJWTClaims, TenantIDFromSub (sless-compatible SHA256), PingNubesAPI - app/admin/admin.go: POST /ui/api/auth endpoint, jwtMiddleware for /ui/api/* - app/tenant/tenant_store.go: NubesSub/Email fields, GetBySub, CreateFromJWT - app/ui/index.html: login page, email in navbar, JWT session in localStorage - deployments/k8s/deployment.yaml: v0.1.16, NUBES_ENDPOINT env - doc/decisions/resource-limits-plan.md: 20 vulnerabilities audit - Fix: /ui/api/auth moved to subrouter (gorilla/mux PathPrefix conflict)
78 lines
2.0 KiB
YAML
78 lines
2.0 KiB
YAML
# deployments/k8s/deployment.yaml
|
|
# Deployment shared-sqs — strategy RollingUpdate (теперь возможен т.к. Redis хранит состояние)
|
|
# Updated: 2026-04-10 — v0.1.16: JWT auth через nubes API, fix route ordering
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: shared-sqs
|
|
namespace: shared-sqs
|
|
labels:
|
|
app: shared-sqs
|
|
spec:
|
|
replicas: 1
|
|
strategy:
|
|
type: RollingUpdate
|
|
rollingUpdate:
|
|
maxSurge: 1
|
|
maxUnavailable: 0
|
|
selector:
|
|
matchLabels:
|
|
app: shared-sqs
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: shared-sqs
|
|
spec:
|
|
containers:
|
|
- name: shared-sqs
|
|
image: naeel/shared-sqs:v0.1.16
|
|
ports:
|
|
- containerPort: 4100
|
|
name: http
|
|
env:
|
|
- name: SHARED_SQS_ADMIN_TOKEN
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: shared-sqs-admin
|
|
key: token
|
|
- name: SHARED_SQS_SEED_DEMO
|
|
value: "true"
|
|
- name: REDIS_ADDR
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: shared-sqs-redis
|
|
key: addr
|
|
- name: REDIS_USER
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: shared-sqs-redis
|
|
key: user
|
|
- name: REDIS_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: shared-sqs-redis
|
|
key: password
|
|
- name: NUBES_ENDPOINT
|
|
value: "https://deck-api-test.ngcloud.ru/api/v1"
|
|
resources:
|
|
requests:
|
|
memory: "64Mi"
|
|
cpu: "50m"
|
|
limits:
|
|
memory: "256Mi"
|
|
cpu: "500m"
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 4100
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 10
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 4100
|
|
initialDelaySeconds: 3
|
|
periodSeconds: 5
|
|
imagePullSecrets:
|
|
- name: sless-registry-auth
|