feat: operator v0.1.16 — job stdout -> status.Message (feature B)

- FunctionJobReconciler: added KubeClient field (kubernetes.Interface)
- getJobPodOutput(): reads pod logs via typed client after job succeeds
- main.go: inject kubernetes.NewForConfigOrDie into FunctionJobReconciler
- rbac.yaml: add pods/pods/log get/list/watch permissions
- examples/simple-python/: job->function chain demo (Python)
- examples/simple-node/: job->function chain demo (Node.js)

sless_job.X.message now contains the return value of the function
This commit is contained in:
“Naeel”
2026-03-09 14:50:06 +04:00
parent 53d9fa6e74
commit 0aaeb47b3b
19 changed files with 330 additions and 4 deletions
+2
View File
@@ -19,6 +19,7 @@ import (
"k8s.io/apimachinery/pkg/runtime"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/client-go/kubernetes"
clientgoscheme "k8s.io/client-go/kubernetes/scheme"
ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/healthz"
@@ -151,6 +152,7 @@ func main() {
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
RegistrySecret: cfg.RegistrySecret,
KubeClient: kubernetes.NewForConfigOrDie(mgr.GetConfig()),
}).SetupWithManager(mgr); err != nil {
log.Error("unable to create controller", "controller", "FunctionJob", "err", err)
os.Exit(1)