Showing posts with label operator. Show all posts
Showing posts with label operator. Show all posts

Tuesday, October 27, 2026

Introducing fbadmin and cloudnative-firebird: a web admin tool and a Kubernetes operator for Firebird

Two open source projects for running and managing Firebird have grown up side by side: fbadmin, a pgAdmin-style web administration tool for Firebird, and cloudnative-firebird, a Kubernetes operator for Firebird modelled on CloudNativePG. They also work together: fbadmin can list and manage the Firebird clusters the operator runs.

fbadmin: a web admin tool for Firebird

fbadmin gives Firebird a modern admin UI that runs in the browser. It works as a local desktop app (like pgAdmin's desktop mode) or as a container next to your server. It supports Firebird 3.0, 4.0, 5.0 and the 6.0 snapshots, and the UI is available in 8 languages, including Romanian. The current release is 2.1.1, MIT licensed.

fbadmin Query Tool

Highlights:

  • Object Explorer for tables, views, procedures, functions, packages, triggers, sequences, domains, roles, users and more (with Firebird 6 schemas), plus create/alter dialogs with SQL preview and full DDL extraction.
  • Query Tool with autocompletion, detailed plans and a plan diagram, per-statement I/O stats, transaction settings, charts and export to CSV, JSON, SQL or XLSX.
  • Editable data grid, schema diff and migration scripts, an ERD designer, data compare and an upgrade assistant for Firebird 4, 5 and 6.
  • Monitoring: a multi-server overview, live dashboards, OIT/OAT alerts by email, Slack or webhook, the Firebird 5 profiler, an index advisor and a Prometheus /metrics exporter.
  • Maintenance: backup and restore through the browser, nbackup, validate and sweep, the Trace API, and scheduled jobs with test restores and uploads to S3, Azure or Google Cloud Storage.
  • Security: server mode with logins, two-factor sign-in, API tokens, LDAP/OIDC, per-database permissions and an audit log.

Install it from PyPI:

pip install firebird-admin
fbadmin                      # opens http://localhost:5050

Desktop installers for Windows, macOS and Linux are on the releases page, and there are also a Docker image and a Helm chart.

cloudnative-firebird: a Kubernetes operator for Firebird

cloudnative-firebird is written in TypeScript and inspired by CloudNativePG. You describe a cluster in a FirebirdCluster resource, and the operator creates and runs it: StatefulSet, persistent volumes, Services and Secrets. It is tested end to end with Firebird 4, 5 and the 6.0 snapshot.



  • Replication: journal-based asynchronous replication, an optional synchronous standby, and read-only routing to replicas.
  • High availability: opt-in automatic failover, planned switchover, rolling updates with the primary restarted last, fencing and replica re-seeding.
  • Backups: gbak and nbackup backups, scheduled backups, restores and point-in-time recovery, with S3 storage.
  • Declarative resources for databases, users and roles, plus image catalogs that roll out new Firebird versions, including major upgrades.
  • Day-to-day operations: hibernation, online volume expansion, and a kubectl firebird plugin for status, switchover, backups, isql and logs.

Install the latest release with one command:

kubectl apply -f https://github.com/mariuz/cloudnative-firebird/releases/latest/download/cloudnative-firebird.yaml

Managing Firebird clusters from fbadmin

When fbadmin runs inside a Kubernetes cluster, or has a kubeconfig, a Kubernetes page lists the operator's Firebird clusters. For each cluster it shows the phase, instances and their roles, backups and scheduled backups, databases, users and recent events.

From the same page you can scale a cluster, hibernate it, do a rolling restart, restart, fence or promote one instance, take a backup, restore it into a new file, read instance logs, and register the cluster in fbadmin with one click to browse its databases. fbadmin acts with its own Kubernetes service account, so what it can do is set by RBAC: a read-only Role gives a read-only page. Every action is written to the audit log.

To try both together, fbadmin includes an example that deploys a Firebird 5 cluster and fbadmin side by side:

kubectl apply -k deploy/k8s-operator
kubectl -n fbadmin-demo port-forward svc/fbadmin 5050:80   # http://127.0.0.1:5050

The full guide, covering credentials, RBAC, the Helm settings and the API, is in docs/KUBERNETES.md.

Links

Feedback, bug reports and pull requests are welcome on both projects.