chore: удалить легаси — k8s/helm манифесты (уходим на Nubes Managed)
This commit is contained in:
@@ -1,5 +0,0 @@
|
||||
# ⚠️ ЛЕГАСИ — НЕ ИСПОЛЬЗОВАТЬ
|
||||
|
||||
Все файлы в этой папке — устаревший Helm chart (до миграции на Nubes Managed).
|
||||
**ЭТИМ НЕ РУКОВОДСТВОВАТЬСЯ.** Только для истории.
|
||||
Помечено: 2026-08-13.
|
||||
@@ -1,9 +0,0 @@
|
||||
# Chart.yaml — Helm chart для shared-sqs (multi-tenant SQS-compatible message queue)
|
||||
# Created: 2026-04-11
|
||||
# Updated: 2026-04-12 09:57 MSK — appVersion v0.1.22
|
||||
apiVersion: v2
|
||||
name: shared-sqs
|
||||
description: Multi-tenant AWS SQS-compatible message queue service
|
||||
type: application
|
||||
version: 0.1.0
|
||||
appVersion: "0.1.22"
|
||||
@@ -1,26 +0,0 @@
|
||||
{{/*
|
||||
_helpers.tpl — общие хелперы для shared-sqs Helm chart
|
||||
Created: 2026-04-11
|
||||
*/}}
|
||||
|
||||
{{/* Полное имя релиза */}}
|
||||
{{- define "shared-sqs.fullname" -}}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/* Общие labels */}}
|
||||
{{- define "shared-sqs.labels" -}}
|
||||
app: shared-sqs
|
||||
app.kubernetes.io/name: shared-sqs
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
{{- end }}
|
||||
|
||||
{{/* Selector labels */}}
|
||||
{{- define "shared-sqs.selectorLabels" -}}
|
||||
app: shared-sqs
|
||||
app.kubernetes.io/name: shared-sqs
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
@@ -1,85 +0,0 @@
|
||||
# deployment.yaml — Deployment shared-sqs с RollingUpdate
|
||||
# Created: 2026-04-11
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: shared-sqs
|
||||
namespace: {{ .Values.namespace }}
|
||||
labels:
|
||||
{{- include "shared-sqs.labels" . | nindent 4 }}
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 1
|
||||
maxUnavailable: 0
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "shared-sqs.selectorLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "shared-sqs.selectorLabels" . | nindent 8 }}
|
||||
spec:
|
||||
containers:
|
||||
- name: shared-sqs
|
||||
image: "naeel/shared-sqs:{{ .Values.image.tag }}"
|
||||
imagePullPolicy: IfNotPresent
|
||||
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: {{ .Values.seedDemo | quote }}
|
||||
- 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
|
||||
{{- if .Values.billing.enabled }}
|
||||
- name: BILLING_PG_HOST
|
||||
value: {{ .Values.billing.postgres.host | quote }}
|
||||
- name: BILLING_PG_PORT
|
||||
value: {{ .Values.billing.postgres.port | quote }}
|
||||
- name: BILLING_PG_DATABASE
|
||||
value: {{ .Values.billing.postgres.database | quote }}
|
||||
- name: BILLING_PG_USER
|
||||
value: {{ .Values.billing.postgres.user | quote }}
|
||||
- name: BILLING_PG_SSLMODE
|
||||
value: {{ .Values.billing.postgres.sslmode | quote }}
|
||||
- name: BILLING_PG_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: shared-sqs-billing-pg
|
||||
key: password
|
||||
{{- end }}
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 10 }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: 4100
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 10
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: 4100
|
||||
initialDelaySeconds: 3
|
||||
periodSeconds: 5
|
||||
@@ -1,34 +0,0 @@
|
||||
# ingress.yaml — Ingress для shared-sqs (условный, включается через values)
|
||||
# Created: 2026-04-11
|
||||
{{- if .Values.ingress.enabled }}
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: shared-sqs-ingress
|
||||
namespace: {{ .Values.namespace }}
|
||||
labels:
|
||||
{{- include "shared-sqs.labels" . | nindent 4 }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
ingressClassName: {{ .Values.ingress.className }}
|
||||
rules:
|
||||
- host: {{ .Values.ingress.host }}
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: shared-sqs
|
||||
port:
|
||||
number: 4100
|
||||
{{- if .Values.ingress.tls.enabled }}
|
||||
tls:
|
||||
- hosts:
|
||||
- {{ .Values.ingress.host }}
|
||||
secretName: {{ .Values.ingress.tls.secretName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -1,7 +0,0 @@
|
||||
{{/*
|
||||
namespace.yaml — не создаём namespace из чарта,
|
||||
т.к. он может уже существовать (managed платформой или вручную).
|
||||
Создавать namespace перед helm install:
|
||||
kubectl create namespace {{ .Values.namespace }}
|
||||
Created: 2026-04-11
|
||||
*/}}
|
||||
@@ -1,12 +0,0 @@
|
||||
# secret-admin.yaml — Secret с admin токеном
|
||||
# Created: 2026-04-11
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: shared-sqs-admin
|
||||
namespace: {{ .Values.namespace }}
|
||||
labels:
|
||||
{{- include "shared-sqs.labels" . | nindent 4 }}
|
||||
type: Opaque
|
||||
stringData:
|
||||
token: {{ .Values.admin.token | quote }}
|
||||
@@ -1,15 +0,0 @@
|
||||
# secret-billing.yaml — Secret с PostgreSQL credentials для billing
|
||||
# Создаётся только если billing.enabled=true и existingSecret не указан
|
||||
# Created: 2026-04-12
|
||||
{{- if and .Values.billing.enabled (not .Values.billing.postgres.existingSecret) }}
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: shared-sqs-billing-pg
|
||||
namespace: {{ .Values.namespace }}
|
||||
labels:
|
||||
{{- include "shared-sqs.labels" . | nindent 4 }}
|
||||
type: Opaque
|
||||
stringData:
|
||||
password: {{ required "billing.postgres.password is required when billing is enabled" .Values.billing.postgres.password | quote }}
|
||||
{{- end }}
|
||||
@@ -1,14 +0,0 @@
|
||||
# secret-redis.yaml — Secret с Redis credentials (addr + user + password)
|
||||
# Created: 2026-04-11
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: shared-sqs-redis
|
||||
namespace: {{ .Values.namespace }}
|
||||
labels:
|
||||
{{- include "shared-sqs.labels" . | nindent 4 }}
|
||||
type: Opaque
|
||||
stringData:
|
||||
addr: {{ .Values.redis.addr | quote }}
|
||||
user: {{ .Values.redis.user | quote }}
|
||||
password: {{ .Values.redis.password | quote }}
|
||||
@@ -1,18 +0,0 @@
|
||||
# service.yaml — Service для shared-sqs
|
||||
# Created: 2026-04-11
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: shared-sqs
|
||||
namespace: {{ .Values.namespace }}
|
||||
labels:
|
||||
{{- include "shared-sqs.labels" . | nindent 4 }}
|
||||
spec:
|
||||
type: ClusterIP
|
||||
selector:
|
||||
{{- include "shared-sqs.selectorLabels" . | nindent 4 }}
|
||||
ports:
|
||||
- name: http
|
||||
port: 4100
|
||||
targetPort: 4100
|
||||
protocol: TCP
|
||||
@@ -1,5 +0,0 @@
|
||||
# ⚠️ ЛЕГАСИ — НЕ ИСПОЛЬЗОВАТЬ
|
||||
|
||||
Все файлы в этой папке — устаревший k8s-деплой (до миграции на Nubes Managed).
|
||||
**ЭТИМ НЕ РУКОВОДСТВОВАТЬСЯ.** Только для истории.
|
||||
Помечено: 2026-08-13.
|
||||
@@ -1,77 +0,0 @@
|
||||
# deployments/k8s/deployment.yaml
|
||||
# Deployment shared-sqs — strategy RollingUpdate (теперь возможен т.к. Redis хранит состояние)
|
||||
# Updated: 2026-04-12 09:57 MSK — image v0.1.22 для demo UI showcase mode
|
||||
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.22
|
||||
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
|
||||
@@ -1,38 +0,0 @@
|
||||
# deployments/k8s/ingress.yaml
|
||||
# Ingress для shared-sqs на домене qu.kube5s.ru
|
||||
# Created: 2026-04-09, Updated: 2026-04-12
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: shared-sqs-ingress
|
||||
namespace: shared-sqs
|
||||
annotations:
|
||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||||
nginx.ingress.kubernetes.io/proxy-body-size: 10m
|
||||
nginx.ingress.kubernetes.io/proxy-read-timeout: "30"
|
||||
nginx.ingress.kubernetes.io/proxy-send-timeout: "30"
|
||||
# Fix: 64KB+ payload (boto3/urllib3 2.0 шлёт headers и body отдельными TCP write,
|
||||
# botocore убирает TCP_NODELAY → последние ~16KB body не доходят за client_body_timeout).
|
||||
# Решение: proxy-request-buffering=off стримит body напрямую в backend без ожидания полного тела.
|
||||
nginx.ingress.kubernetes.io/client-body-buffer-size: "512k"
|
||||
nginx.ingress.kubernetes.io/proxy-request-buffering: "off"
|
||||
# server-snippet удалён 2026-04-12: nginx ingress controller v1.x+ блокирует
|
||||
# эту аннотацию как "risky" (ServerSnippet contains risky annotation).
|
||||
# client_body_timeout задаётся через ConfigMap ingress controller.
|
||||
spec:
|
||||
ingressClassName: nginx
|
||||
rules:
|
||||
- host: qu.kube5s.ru
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: shared-sqs
|
||||
port:
|
||||
number: 4100
|
||||
tls:
|
||||
- hosts:
|
||||
- qu.kube5s.ru
|
||||
secretName: shared-sqs-tls
|
||||
@@ -1,9 +0,0 @@
|
||||
# deployments/k8s/namespace.yaml
|
||||
# Namespace для shared-sqs сервиса
|
||||
# Created: 2026-04-09
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: shared-sqs
|
||||
labels:
|
||||
app: shared-sqs
|
||||
@@ -1,80 +0,0 @@
|
||||
# 2026-04-10 — Redis для shared-sqs в кластере naeel-test-3
|
||||
# Single-node Redis с PVC для persistence состояния shared-sqs между рестартами.
|
||||
# Namespace: shared-sqs. Пароль совпадает с managed Redis из deck.ngcloud.ru.
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: shared-sqs-redis-pvc
|
||||
namespace: shared-sqs
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
storageClassName: local-path
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: shared-sqs-redis
|
||||
namespace: shared-sqs
|
||||
labels:
|
||||
app: shared-sqs-redis
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: shared-sqs-redis
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: shared-sqs-redis
|
||||
spec:
|
||||
containers:
|
||||
- name: redis
|
||||
image: redis:7.2-alpine
|
||||
command:
|
||||
- redis-server
|
||||
- --requirepass
|
||||
- $(REDIS_PASSWORD)
|
||||
- --appendonly
|
||||
- "yes"
|
||||
- --save
|
||||
- "60 1"
|
||||
ports:
|
||||
- containerPort: 6379
|
||||
env:
|
||||
- name: REDIS_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: shared-sqs-redis
|
||||
key: password
|
||||
volumeMounts:
|
||||
- name: redis-data
|
||||
mountPath: /data
|
||||
resources:
|
||||
requests:
|
||||
memory: 128Mi
|
||||
cpu: 50m
|
||||
limits:
|
||||
memory: 256Mi
|
||||
cpu: 200m
|
||||
volumes:
|
||||
- name: redis-data
|
||||
persistentVolumeClaim:
|
||||
claimName: shared-sqs-redis-pvc
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: shared-sqs-redis
|
||||
namespace: shared-sqs
|
||||
spec:
|
||||
selector:
|
||||
app: shared-sqs-redis
|
||||
ports:
|
||||
- port: 6379
|
||||
targetPort: 6379
|
||||
@@ -1,26 +0,0 @@
|
||||
# deployments/k8s/secret.yaml
|
||||
# Секреты для shared-sqs: admin token + Redis credentials
|
||||
# Created: 2026-04-09
|
||||
# Updated: 2026-04-10 — добавлен shared-sqs-redis secret
|
||||
# ВНИМАНИЕ: заполнить реальными значениями перед деплоем
|
||||
# kubectl create secret generic shared-sqs-admin --from-literal=token=YOUR_TOKEN -n shared-sqs
|
||||
# kubectl create secret generic shared-sqs-redis --from-literal=addr=HOST:6379 --from-literal=user=default --from-literal=password=PASS -n shared-sqs
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: shared-sqs-admin
|
||||
namespace: shared-sqs
|
||||
type: Opaque
|
||||
stringData:
|
||||
token: "REPLACE_WITH_REAL_TOKEN"
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: shared-sqs-redis
|
||||
namespace: shared-sqs
|
||||
type: Opaque
|
||||
stringData:
|
||||
addr: "REPLACE_WITH_REDIS_ADDR"
|
||||
user: "default"
|
||||
password: "REPLACE_WITH_REDIS_PASSWORD"
|
||||
@@ -1,19 +0,0 @@
|
||||
# deployments/k8s/service.yaml
|
||||
# Service для shared-sqs
|
||||
# Created: 2026-04-09
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: shared-sqs
|
||||
namespace: shared-sqs
|
||||
labels:
|
||||
app: shared-sqs
|
||||
spec:
|
||||
selector:
|
||||
app: shared-sqs
|
||||
ports:
|
||||
- name: http
|
||||
port: 4100
|
||||
targetPort: 4100
|
||||
protocol: TCP
|
||||
type: ClusterIP
|
||||
@@ -1,20 +0,0 @@
|
||||
# vmservicescrape.yaml — VMServiceScrape для Victoria Metrics
|
||||
# Говорит VMAgent скрейпить /metrics с shared-sqs Service.
|
||||
# Created: 2026-04-12
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMServiceScrape
|
||||
metadata:
|
||||
name: shared-sqs-metrics
|
||||
namespace: shared-sqs
|
||||
labels:
|
||||
app: shared-sqs
|
||||
spec:
|
||||
# Какой Service скрейпить — по label selector
|
||||
selector:
|
||||
matchLabels:
|
||||
app: shared-sqs
|
||||
# Endpoint: порт http, путь /metrics
|
||||
endpoints:
|
||||
- port: http
|
||||
path: /metrics
|
||||
interval: "30s"
|
||||
Reference in New Issue
Block a user