Skip to content

Add Neo4j Community Edition Azure Marketplace template #56

Merged
retroryan merged 22 commits intomainfrom
fix-qos
Feb 17, 2026
Merged

Add Neo4j Community Edition Azure Marketplace template #56
retroryan merged 22 commits intomainfrom
fix-qos

Conversation

@retroryan
Copy link
Contributor

Summary

  • Adds a new marketplace/neo4j-ce/ Bicep template that deploys Neo4j Community Edition as a standalone VM (not VMSS), with a
    standalone managed disk that persists independently of the VM lifecycle
  • Uses cloud-init (scripts/neo4j-ce/cloud-init/standalone.yaml) for provisioning instead of CustomScript extension — installs Neo4j from yum, configures APOC, mounts NVMe data disk, and runs a health check loop
  • Targets the Eds_v6 VM series (NVMe-only) with pickZones() auto-detection for availability zone support and
    PremiumV2_LRS/Premium_LRS disk fallback
  • Adds a dedicated CI workflow (.github/workflows/community.yml) and a standalone test suite (test_suite/test_ce/) that validates connectivity, APOC availability, Community Edition license, CRUD operations, and data persistence across VM restarts
  • Extends the deployments/ framework with an Edition enum, Community Edition scenario support, and check_community_edition() validation

Key architectural decisions

  • Standalone VM over VMSS — CE is single-node only; a plain VM avoids VMSS overhead (capacity management, upgrade policies) while retaining Azure service healing
  • Standalone managed diskdeleteOption: Detach ensures the data disk survives VM deletion, enabling disaster recovery by reattaching to a new VM; cloud-init overwrite: false makes remounts idempotent
  • No managed identity — the Enterprise template's UserAssigned identity was unused; CE removes it to eliminate a billable resource
  • pickZones() auto-detection — server-side ARM function replaces hardcoded region lists, driving zone pinning for disk, public IP, and VM from a single boolean

@retroryan retroryan merged commit 6fc4662 into main Feb 17, 2026
9 checks passed
@retroryan retroryan deleted the fix-qos branch February 17, 2026 16:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant