feat: add FunctionJob CRD for one-shot function runs

- api/v1alpha1/job_types.go: new CRD FunctionJob (Pending/Running/Succeeded/Failed)
- controllers/functionjob_controller.go: reconciler creates k8s Job from FunctionRef + EventJSON
- zz_generated.deepcopy.go: DeepCopy methods for FunctionJob types
- config/crd/bases: generated CRD YAML, applied to cluster
- main.go: register FunctionJobReconciler
- rbac.yaml: add functionjobs permissions
- operator.yaml: v0.1.2 -> v0.1.3
- operator:v0.1.3 deployed and running in cluster
This commit is contained in:
“Naeel”
2026-03-07 17:20:21 +04:00
parent d6dc676dfd
commit 22685a72a9
7 changed files with 529 additions and 6 deletions
+3 -3
View File
@@ -17,13 +17,13 @@ metadata:
rules:
# Наши CRD
- apiGroups: ["sless.kube5s.ru"]
resources: ["functions", "triggers"]
resources: ["functions", "triggers", "functionjobs"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
- apiGroups: ["sless.kube5s.ru"]
resources: ["functions/status", "triggers/status"]
resources: ["functions/status", "triggers/status", "functionjobs/status"]
verbs: ["get", "update", "patch"]
- apiGroups: ["sless.kube5s.ru"]
resources: ["functions/finalizers", "triggers/finalizers"]
resources: ["functions/finalizers", "triggers/finalizers", "functionjobs/finalizers"]
verbs: ["update"]
# Deployments для функций
- apiGroups: ["apps"]