Policy-driven backup/restore for self-hosted Neo4j Enterprise

I'm sharing a backup/restore setup for self-hosted Enterprise

  • Agentless: restore is pure Cypher over Bolt (seed-from-URI + alias swap), backup is
    neo4j-admin run from a separate runner.
  • Policy-driven (plain YAML): per-group schedules, tiers, retention, per-group bucket/KMS.
  • Full + differential chains, point-in-time restore (seedRestoreUntil), non-destructive
    consistency verify.
  • Two interchangeable orchestrators over one shared core: Dagster and Airflow.
  • Validated end to end against a real Enterprise + object-store stack, including k8s
    runner mode on k3d.

No lock-in: standard neo4j-admin, standard Cypher, ordinary .backup files, plain-YAML
policy.

new features:

  • Pluggable credentials β€” Neo4j password can come from AWS Secrets Manager or a custom provider, resolved per-connection (rotation just works).
  • Resilient Bolt operations β€” automatic retry on transient cluster failures (leader re-election, dropped sessions, expired tokens), classified by Neo4j status code.