Files
ouranos/ansible/neo4j/deploy.yml
Robert Helewka 43fae203d1 feat(ansible): standardize Neo4j ports and add monitoring
- Unify Neo4j HTTP/Bolt/syslog ports across ariel and umbriel hosts
- Add neo4j_metrics_port (22094) for APOC exporter sidecar
- Add umbriel to Prometheus node_exporter targets
- Add Neo4j scrape config and alerts for tx rollback rate and
  stalled store growth
- Replace kernos_harper MCP with andromeda (caliban.helu.ca)
- Remove angelia MCP from kottos fastagent config
- Switch neo4j group membership from keeper_user to ponos
2026-05-22 22:19:13 -04:00

64 lines
1.6 KiB
YAML

---
- name: Deploy Neo4j with Docker Compose
hosts: ubuntu
become: true
vars:
required_service: neo4j
tasks:
- name: Check if host has neo4j service
ansible.builtin.set_fact:
has_neo4j_service: "{{ required_service in services | default([]) }}"
- name: Skip hosts without neo4j service
ansible.builtin.meta: end_host
when: not has_neo4j_service
- name: Create neo4j group
ansible.builtin.group:
name: "{{neo4j_group}}"
- name: Create neo4j user
ansible.builtin.user:
name: "{{neo4j_user}}"
comment: "{{neo4j_user}}"
group: "{{neo4j_group}}"
system: true
- name: Add group neo4j to user ponos
ansible.builtin.user:
name: ponos
groups: "{{neo4j_group}}"
append: true
- name: Create neo4j directory
ansible.builtin.file:
path: "{{neo4j_directory}}"
owner: "{{neo4j_user}}"
group: "{{neo4j_group}}"
state: directory
mode: '750'
- name: Create neo4j data directory
ansible.builtin.file:
path: "{{neo4j_directory}}/data"
owner: "{{neo4j_user}}"
group: "{{neo4j_group}}"
state: directory
mode: '750'
- name: Template docker-compose file
ansible.builtin.template:
src: docker-compose.yml.j2
dest: "{{neo4j_directory}}/docker-compose.yml"
owner: "{{neo4j_user}}"
group: "{{neo4j_group}}"
mode: '550'
- name: Reset SSH connection to apply group changes
meta: reset_connection
- name: Start Neo4j service
community.docker.docker_compose_v2:
project_src: "{{neo4j_directory}}"
state: present