diff --git a/ansible/inventory/host_vars/portia.incus.yml b/ansible/inventory/host_vars/portia.incus.yml index f763022..b4d8399 100644 --- a/ansible/inventory/host_vars/portia.incus.yml +++ b/ansible/inventory/host_vars/portia.incus.yml @@ -50,6 +50,9 @@ periplus_db_password: "{{ vault_periplus_db_password }}" daedalus_db_name: daedalus daedalus_db_user: daedalus daedalus_db_password: "{{ vault_daedalus_db_password }}" +mnemosyne_db_name: mnemosyne +mnemosyne_db_user: mnemosyne +mnemosyne_db_password: "{{ vault_mnemosyne_db_password }}" # PostgreSQL admin password postgres_password: "{{ vault_postgres_password }}" diff --git a/ansible/postgresql/deploy.yml b/ansible/postgresql/deploy.yml index 1e9bfcb..c3b41ac 100644 --- a/ansible/postgresql/deploy.yml +++ b/ansible/postgresql/deploy.yml @@ -203,6 +203,7 @@ - { user: "{{ nike_db_user }}", password: "{{ nike_db_password }}" } - { user: "{{ periplus_db_user }}", password: "{{ periplus_db_password }}" } - { user: "{{ daedalus_db_user }}", password: "{{ daedalus_db_password }}" } + - { user: "{{ mnemosyne_db_user }}", password: "{{ mnemosyne_db_password }}" } no_log: true - name: Create application databases with owners @@ -226,6 +227,7 @@ - { name: "{{ nike_db_name }}", owner: "{{ nike_db_user }}" } - { name: "{{ periplus_db_name }}", owner: "{{ periplus_db_user }}" } - { name: "{{ daedalus_db_name }}", owner: "{{ daedalus_db_user }}" } + - { name: "{{ mnemosyne_db_name }}", owner: "{{ mnemosyne_db_user }}" } - name: Enable postgis and pg_trgm extensions in periplus database community.postgresql.postgresql_ext: diff --git a/docs/ouranos.md b/docs/ouranos.md index dca67c9..2372cb3 100644 --- a/docs/ouranos.md +++ b/docs/ouranos.md @@ -72,7 +72,7 @@ King of the Fairies orchestrating containers and managing MCP infrastructure. Intelligent and resourceful — the reliability of relational databases. - PostgreSQL 17 (port 5432) -- Databases: `arke`, `anythingllm`, `gitea`, `hass`, `lobechat`, `mcp_switchboard`, `nextcloud`, `openwebui`, `periplus`, `spelunker` +- Databases: `arke`, `anythingllm`, `gitea`, `hass`, `lobechat`, `mcp_switchboard`, `mnemosyne`, `nextcloud`, `openwebui`, `periplus`, `spelunker` ### ariel — Graph Database @@ -297,6 +297,35 @@ ansible-playbook site.yml ansible-playbook sandbox_down.yml ``` +### Python Virtual Environment Setup + +The Ansible automation requires a Python virtual environment with the `ansible` package installed. Create and activate the environment from the `~` directory: + +```bash +# Create virtual environment +cd ~ +python3 -m venv env/ouranos + +# Activate environment +source ~/env/ouranos/bin/activate + +# Install Ansible +pip install ansible +pip install ansible-core +pip install ansible-community.postgresql +``` + +### Ansible Playbook Syntax Check + +Before running playbooks, use the `apsc.sh` utility (in PATH) to quickly validate YAML syntax: + +```bash +# From the ansible directory +apsc.sh + +# This will check all YAML files in the current directory for syntax errors +``` + ### Terraform Workflow 1. **Define** — Containers, networks, and resources in `*.tf` files