feat(ansible): add mnemosyne db and update ouranos documentation
- Configure mnemosyne database credentials in ansible inventory - Update postgresql playbook to provision user and database - Add setup instructions and DB list to documentation
This commit is contained in:
@@ -50,6 +50,9 @@ periplus_db_password: "{{ vault_periplus_db_password }}"
|
|||||||
daedalus_db_name: daedalus
|
daedalus_db_name: daedalus
|
||||||
daedalus_db_user: daedalus
|
daedalus_db_user: daedalus
|
||||||
daedalus_db_password: "{{ vault_daedalus_db_password }}"
|
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
|
# PostgreSQL admin password
|
||||||
postgres_password: "{{ vault_postgres_password }}"
|
postgres_password: "{{ vault_postgres_password }}"
|
||||||
|
|||||||
@@ -203,6 +203,7 @@
|
|||||||
- { user: "{{ nike_db_user }}", password: "{{ nike_db_password }}" }
|
- { user: "{{ nike_db_user }}", password: "{{ nike_db_password }}" }
|
||||||
- { user: "{{ periplus_db_user }}", password: "{{ periplus_db_password }}" }
|
- { user: "{{ periplus_db_user }}", password: "{{ periplus_db_password }}" }
|
||||||
- { user: "{{ daedalus_db_user }}", password: "{{ daedalus_db_password }}" }
|
- { user: "{{ daedalus_db_user }}", password: "{{ daedalus_db_password }}" }
|
||||||
|
- { user: "{{ mnemosyne_db_user }}", password: "{{ mnemosyne_db_password }}" }
|
||||||
no_log: true
|
no_log: true
|
||||||
|
|
||||||
- name: Create application databases with owners
|
- name: Create application databases with owners
|
||||||
@@ -226,6 +227,7 @@
|
|||||||
- { name: "{{ nike_db_name }}", owner: "{{ nike_db_user }}" }
|
- { name: "{{ nike_db_name }}", owner: "{{ nike_db_user }}" }
|
||||||
- { name: "{{ periplus_db_name }}", owner: "{{ periplus_db_user }}" }
|
- { name: "{{ periplus_db_name }}", owner: "{{ periplus_db_user }}" }
|
||||||
- { name: "{{ daedalus_db_name }}", owner: "{{ daedalus_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
|
- name: Enable postgis and pg_trgm extensions in periplus database
|
||||||
community.postgresql.postgresql_ext:
|
community.postgresql.postgresql_ext:
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ King of the Fairies orchestrating containers and managing MCP infrastructure.
|
|||||||
Intelligent and resourceful — the reliability of relational databases.
|
Intelligent and resourceful — the reliability of relational databases.
|
||||||
|
|
||||||
- PostgreSQL 17 (port 5432)
|
- 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
|
### ariel — Graph Database
|
||||||
|
|
||||||
@@ -297,6 +297,35 @@ ansible-playbook site.yml
|
|||||||
ansible-playbook sandbox_down.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
|
### Terraform Workflow
|
||||||
|
|
||||||
1. **Define** — Containers, networks, and resources in `*.tf` files
|
1. **Define** — Containers, networks, and resources in `*.tf` files
|
||||||
|
|||||||
Reference in New Issue
Block a user