docs: обновить progress.md по фактическому состоянию

- отражён реальный статус всех компонентов кода
- отражено состояние кластера (CRD, RBAC, postgres)
- добавлен список что ещё не сделано
- добавлены deployments/k8s/rbac.yaml, postgres.yaml
This commit is contained in:
“Naeel”
2026-03-07 08:57:54 +04:00
parent 43e7d0ea48
commit 33ee17729f
4 changed files with 166 additions and 14 deletions
+57
View File
@@ -0,0 +1,57 @@
# Изменено: 2026-03-07
# PostgreSQL для хранения логов вызовов функций.
# Для dev/test — без PersistentVolume, данные ephemeral.
# В prod заменить на managed PostgreSQL от провайдера.
---
apiVersion: v1
kind: Secret
metadata:
name: postgres-secret
namespace: sless
stringData:
POSTGRES_PASSWORD: "sless-pg-password"
POSTGRES_USER: "sless"
POSTGRES_DB: "sless"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres
namespace: sless
spec:
replicas: 1
selector:
matchLabels:
app: postgres
template:
metadata:
labels:
app: postgres
spec:
containers:
- name: postgres
image: postgres:16-alpine
ports:
- containerPort: 5432
envFrom:
- secretRef:
name: postgres-secret
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "256Mi"
cpu: "500m"
---
apiVersion: v1
kind: Service
metadata:
name: postgres
namespace: sless
spec:
selector:
app: postgres
ports:
- port: 5432
targetPort: 5432
+63
View File
@@ -0,0 +1,63 @@
# Изменено: 2026-03-07
# RBAC для sless оператора.
# ServiceAccount + ClusterRole + ClusterRoleBinding.
# ClusterRole нужен (не namespaced Role) потому что оператор создаёт
# ресурсы в нескольких namespace (sless + sless-fn-*)
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: sless-operator
namespace: sless
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: sless-operator
rules:
# Наши CRD
- apiGroups: ["sless.kube5s.ru"]
resources: ["functions", "triggers"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
- apiGroups: ["sless.kube5s.ru"]
resources: ["functions/status", "triggers/status"]
verbs: ["get", "update", "patch"]
- apiGroups: ["sless.kube5s.ru"]
resources: ["functions/finalizers", "triggers/finalizers"]
verbs: ["update"]
# Deployments для функций
- apiGroups: ["apps"]
resources: ["deployments"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
# Jobs для kaniko builder
- apiGroups: ["batch"]
resources: ["jobs", "cronjobs"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
# Services + Ingress для HTTP триггеров
- apiGroups: [""]
resources: ["services", "namespaces"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
- apiGroups: ["networking.k8s.io"]
resources: ["ingresses"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
# Events для operator-sdk
- apiGroups: [""]
resources: ["events"]
verbs: ["create", "patch"]
# Lease для leader election
- apiGroups: ["coordination.k8s.io"]
resources: ["leases"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: sless-operator
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: sless-operator
subjects:
- kind: ServiceAccount
name: sless-operator
namespace: sless