Files
flink-kube-operator/CONTEXT.md
Seraj Haqiqi a36e72877d feat(jar): add OCI registry pull for JAR artifacts with backward compat
- Add jarRef and jarPullSecret fields to FlinkJob CRD (jarUri/basicAuth deprecated)
- OCI pull via go-containerregistry with dual auth (K8s pull secret + env vars)
- Media type validation on pulled layers
- Atomic status patches with runningJarRef/runningJarDigest tracking
- NeedsUpgrade/RunningRef/RunningRefPatchData domain helpers
- README with usage guide, pushing JARs, and GitHub Actions CI/CD workflow
- CONTEXT.md domain glossary
2026-07-24 17:37:30 +03:30

1.5 KiB

Flink Kube Operator

Kubernetes operator that manages the lifecycle of Apache Flink jobs via CRDs.

Language

FlinkJob: A Kubernetes Custom Resource representing a desired Flink job. Contains spec (desired state) and status (observed state). Avoid: Job CR, CRD instance

ManagedJob: Runtime wrapper that drives a FlinkJob's lifecycle through its state machine (init → run → savepoint → upgrade). Avoid: Job controller, job runner

jarRef: Full OCI reference identifying a JAR artifact in a registry (e.g. registry.io/org/app:1.0.0). Avoid: jarUri, jar URL, artifact URL

jarDigest: SHA256 content hash of the JAR layer in the OCI manifest. Immutable identifier for the artifact bytes. Avoid: content hash, checksum

pullSecret: A kubernetes.io/dockerconfigjson Kubernetes Secret containing registry credentials, referenced by name in the FlinkJob spec. Avoid: imagePullSecret, registry secret

JarFile: Ephemeral artifact handle — a downloaded/pulled JAR on local disk awaiting upload to Flink, then deleted. Avoid: temp jar, local jar

LifeCycleStatus: Operator-managed lifecycle state of a FlinkJob (HEALTHY, RESTORING, GRACEFULLY_PAUSED, FAILED, etc.). Avoid: operator status, lifecycle state

JobStatus: Flink-reported job state (RUNNING, FAILED, FINISHED, etc.). Mirrored from the Flink REST API. Avoid: flink status, job state

Savepoint: A consistent snapshot of a Flink job's state, used for restart and upgrade. Avoid: checkpoint, snapshot