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
+8
View File
@@ -144,6 +144,14 @@ func main() {
log.Error("unable to create controller", "controller", "Trigger", "err", err)
os.Exit(1)
}
if err = (&controllers.FunctionJobReconciler{
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
RegistrySecret: cfg.RegistrySecret,
}).SetupWithManager(mgr); err != nil {
log.Error("unable to create controller", "controller", "FunctionJob", "err", err)
os.Exit(1)
}
//+kubebuilder:scaffold:builder
if err := mgr.AddHealthzCheck("healthz", healthz.Ping); err != nil {