Skip to content

Releases: justtrackio/flink-admin

v5

Choose a tag to compare

@j4k4 j4k4 released this 29 Jun 08:13

Highlights

  • Deployment streams now stay accurate after deletions by clearing removed Flink deployments from the watcher cache.

Improvements

  • Prevented deleted deployments from reappearing for clients after reconnects or cached watcher state replay.

API cleanup

  • No API changes in this release.

Internal changes

  • Tightened Kubernetes delete-event handling in the deployment watcher cache.

v4

v4

Choose a tag to compare

@j4k4 j4k4 released this 08 Jun 10:22

Changes in this release

Deployment Recovery

  • Added support for recovering deployments from stored state.
  • Extended deployment state handling in the backend and frontend so recovery actions are available from the deployment UI.

Storage Checkpoints and Savepoints

  • Added storage checkpoint metadata inspection, including a dedicated detail view for stored checkpoint/savepoint entries.
  • Unified storage checkpoint and savepoint listing so both entry types are presented through a consistent backend API and frontend table.
  • Improved S3-backed checkpoint/savepoint discovery and metadata loading.

Frontend Streaming

  • Extracted the shared SSE streaming logic into the reusable useSseStream hook.
  • Simplified deployment stream handling on top of the shared hook.

Backend Maintenance

  • Applied backend lint cleanup following the iferrinline pattern.
  • Added custom golangci-lint configuration and updated CI to run the custom lint wrapper.

Full Changelog: v3...v4

v3

v3

Choose a tag to compare

@j4k4 j4k4 released this 18 Mar 10:27

Highlights

  • Add suspend and resume controls for Flink deployments in both the deployments table and deployment detail pages.
  • Introduce admin mode gating so deployment actions stay hidden until temporary admin access is enabled from the UI.
  • Add tabbed deployment views for All and Not running deployments to speed up triage.

Improvements

  • Preserve the selected deployment view when navigating between the list and deployment details.
  • Let the Not running view surface issues across namespaces for faster operational investigation.
  • Highlight suspended deployments more clearly and normalize deployment detail timestamps to UTC for easier reading.

API cleanup

  • Add backend suspend and resume endpoints for Flink deployments.
  • Reuse shared deployment selector handling across related backend endpoints for more consistent behavior.
  • No breaking API removals are included in this release.

Internal changes

  • Refactor frontend context, hooks, and formatting utilities to support admin mode and deployment lifecycle actions.
  • Remove outdated workflow notes while aligning the UI and backend plumbing around the new release features.

v2 - Flink Admin

Choose a tag to compare

@j4k4 j4k4 released this 11 Mar 15:29

A maintenance-focused release that modernizes the runtime setup and makes local development workflows easier to run and repeat.

Highlights

  • Upgraded the backend to gosoline v0.57.2 and refreshed the Go dependency set to stay aligned with the current framework stack.
  • Migrated backend configuration to the newer app structure used by recent gosoline versions.
  • Added mise tasks for frontend and backend build, lint, test, and local CI workflows.
  • Refined the dashboard issue filter so finished jobs no longer show up as active problems in the "Not Running" view.

Upgrade Note

  • Custom backend config files should move from the legacy top-level env and app_* keys to the new nested app block.
  • Embedded frontend asset handling was also cleaned up, so generated files are no longer tracked in git.

Included In This Release

  • Dependency and configuration modernization
  • Repeatable local build and CI commands
  • A small dashboard quality-of-life fix for operations views

v1 - Flink Admin

Choose a tag to compare

@j4k4 j4k4 released this 25 Feb 09:35

A web-based administration interface for Apache Flink clusters running on Kubernetes. Monitor deployments in real time, inspect checkpoints and savepoints, browse Kubernetes events, and diagnose job failures — all from a single UI backed by a single self-contained binary.


Deployment Dashboard

  • Live table of all FlinkDeployment resources across all namespaces, updated in real time via Server-Sent Events
  • Filter by namespace and lifecycle state; filters persist in the URL (bookmarkable/shareable)
  • "Not Running" quick-filter highlights deployments with a non-running job state
  • Flink UI deep-link icon on each deployment row when a Flink web UI is reachable
  • Connection status indicator with automatic reconnection and manual retry
  • Columns: Name, Namespace, Lifecycle State, Job State, Flink Version, Image tag, Parallelism, JM/TM resource allocations, Age

Deployment Detail View

  • Status summary header: Lifecycle State, Job State, JobManager Deployment Status, Age, Job Start/Update times
  • Five tabs for each deployment — Details, Checkpoints & Savepoints, Storage, Events, Exceptions
  • Badge counts on the Exceptions and Events tabs so issues are visible at a glance without opening the tab
  • Back button returns to the dashboard with your previous filters intact

Deployment Details Tab

  • Spec overview: image, Flink version, parallelism, entry class, JAR URI, upgrade mode
  • Job arguments rendered as a readable key/value table
  • JobManager and TaskManager resource allocations (CPU, memory, replicas)

Checkpoints & Savepoints Tab

  • Fetches live data from the Flink REST API (requires an ingress on the deployment)
  • Summary counts: Total, Completed, Failed, In Progress, Restored
  • Checkpoint history table: ID, status (color-coded), type, trigger time, duration, state size, subtask acknowledgement progress, storage path

Storage Tab

  • Lists checkpoints and savepoints directly from AWS S3 — no Flink REST API required
  • Validates checkpoint directories by checking for a _metadata file in each chk-* folder
  • Shows checkpoint name, Job ID, last modified time, size, and full S3 path
  • Savepoints are scoped to the currently active Job ID
  • Configuration card shows the checkpoint and savepoint directories from the deployment's Flink configuration

Kubernetes Events Tab

  • Lists events.k8s.io/v1 events for the deployment, sorted newest-first
  • Columns: Age, Type (Warning / Normal, color-coded), Reason, Message, Source, Action

Exceptions Tab

  • Fetches the exception history from the Flink REST API (requires an ingress on the deployment)
  • Table: timestamp, exception name, task name, location, failure labels
  • Expandable rows with full stack traces and nested concurrent exception details
  • Truncation notice when more than 50 exceptions exist

Configuration & Deployment

  • Ships as a single static binary with the React frontend embedded — no separate web server needed
  • Docker image published to ghcr.io for linux/amd64 and linux/arm64
  • Kubernetes authentication via in-cluster service account (default) or kubeconfig for local development
  • S3 region defaults to eu-central-1; fully configurable via environment/YAML config
  • HTTP server runs on port 8082; the frontend dev server proxies /api requests automatically

Requirements

  • Kubernetes cluster running the Flink Kubernetes Operator (flink.apache.org/v1beta1)
  • AWS S3 access with read permissions on the configured checkpoint/savepoint buckets (Storage tab)
  • Ingress configured on FlinkDeployments for Flink REST API features (Checkpoints & Savepoints tab, Exceptions tab)