Commit Graph

42 Commits

Author SHA1 Message Date
698ceacb74 chore: update ansible vault secrets and credentials
Updated encrypted vault.yml file with new credentials and
secrets for production infrastructure
2026-05-17 07:32:51 -04:00
52d444f731 feat(ansible): add hold_slayer database variables and deployment
- Add hold_slayer_db_* variables to portia host_vars
- Update postgresql deploy.yml to create user, database,
  and enable extensions for hold_slayer
2026-05-16 19:10:49 -04:00
8c95173705 feat(alloy): add journal relabeling and kottos integration on puck
Introduce structured journal relabel rules on puck to tag Pallas-managed
units with {service, project, component} labels matching the Mnemosyne
and Daedalus schema. Add kottos release variable and vault secrets
example entries for the new Pallas FastAgent runtime.

Remove the defunct mnemosyne syslog listener now that Mnemosyne ships
JSON logs via the docker-socket pipeline.
2026-05-11 13:54:14 -04:00
e92ab80bbf feat(ansible): add Jellyfin service and improve deployment
- Add Jellyfin backend to HAProxy configuration on titania.incus
- Simplify deployment by using community.docker.docker_compose_v2 module
- Consolidate handlers and remove redundant Docker commands
- Update Jellyfin systemd service from oneshot to simple type
- Remove PUID/PGID environment variables from docker-compose template
2026-05-04 15:49:18 -04:00
f818b7917d feat(infra): add Jellyfin media server configuration and logging support
Add Jellyfin service to ansible inventory with hardware
transcoding and Casdoor SSO configuration. Configure
Alloy syslog listener to capture Jellyfin logs to Loki.
Update documentation with new service mapping and S3
bucket credential retrieval instructions.
2026-05-04 15:33:25 -04:00
4ae6379613 chore(ansible): centralize third-party Docker image versions
Add centralized image version variables in group_vars/all/vars.yml for
vulnerability tracking and controlled upgrades of third-party Docker
images (casdoor, flower, grafana-mcp, gitea-mcp, neo4j, memcached,
nginx, oauth2-proxy, rabbitmq, searxng).

Update vault.yml accordingly.
2026-05-03 18:57:58 -04:00
d60b9a972f 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
2026-04-13 14:31:21 +00:00
2f5a445945 Ouranos Vault Mnemosyne DB password 2026-04-13 12:49:28 +00:00
9a9f7986fc HA Proxy config for Periplus 2026-04-11 23:30:15 +00:00
c31c86f3b2 Port updates for MCP servers 2026-04-11 18:48:21 +00:00
6f1e792522 Merge branch 'main' of ssh://git.helu.ca:22022/r/ouranos 2026-04-11 14:56:28 +00:00
bd03c53f6b chore(inventory): migrate jupyterlab service from puck to caliban
Enable JupyterLab on caliban host and disable it on puck host.
This migration updates the Ansible inventory host_vars to reflect
the new service distribution across the infrastructure.
2026-04-11 14:56:03 +00:00
b889b9d8f4 fix(ansible): update prometheus oauth2 vault secret variable names
Update variable references in the prospero.incus.yml inventory file to remove the redundant _oauth2 suffix from vault keys. This aligns the ansible configuration with the updated secret naming convention.
2026-04-11 10:32:39 -04:00
82f5e3e094 feat(ansible): add conditional git cloning and fix vault variable names
- Add repo URLs and conditional clone tasks for Agent-S, pulseaudio-module-xrdp, and rommie repositories
- Create required directories (github_dir and repo_dir) before cloning
- Update fetch/pull commands to only execute when repositories are not freshly cloned
- Fix vault variable naming inconsistencies in host_vars files (rosalind.incus.yml, titania.incus.yml)
2026-04-11 09:18:25 -04:00
915851acda chore(ansible): add pgadmin oauth client secrets to titania host vars
Add pgadmin_oauth_client_id and pgadmin_oauth_client_secret variables to the titania inventory. This enables OAuth2 authentication for pgAdmin on the titania host.
2026-04-11 09:05:56 -04:00
e17ed59be6 docs: document terraform import for incus containers and remove korax
Add comprehensive terraform import documentation for Incus resources.
Includes syntax for importing containers with for_each keys, retrieving
image fingerprints, and specific import commands for Uranian hosts.
Covers troubleshooting for common import issues and state verification.
Removes obsolete korax.helu.ca host from ansible inventory.
2026-04-11 08:25:51 -04:00
bd31dfd8d5 docs: add application conventions for health checks, logging, and endpoints
Establish standardized conventions across all Ouranos services:
- Kubernetes-style health endpoints (/live, /ready, /metrics)
- Logging level guidelines (health checks at DEBUG only)
- Protected vs unprotected endpoint definitions
- Prometheus metrics, browser telemetry, and Docker networking standards
- Update daedalus HAProxy health_path from /api/health to /ready/
2026-04-10 11:29:56 +00:00
0f21380fd0 refactor: remove HAProxy from Prospero, centralize TLS on Titania
Move TLS termination and reverse proxying entirely to Titania's
HAProxy, eliminating the redundant HAProxy instance on Prospero.
Backends now communicate over plain HTTP within the internal network.

- Remove HAProxy container, config, certs, and syslog from Prospero
- Remove ssl_backend flags from Titania backend definitions
- Replace pplg_haproxy_* vars with single pplg_domain variable
- Remove HAProxy syslog source from Alloy config
- Update OAuth2-Proxy to listen on all interfaces for Titania access
2026-04-08 17:57:09 +00:00
cac18dc61f feat: update rommie model, reassign service ports, and fix deploy health check
- Upgrade rommie model from Qwen3-VL-30B-A3B to Qwen3.5-35B-A3B-UD-Q4_K_XL
  and update model URL port to 22079
- Reassign freecad_mcp_port (22032 -> 22063) and kernos_port
  (20201 -> 22062) for consistent port numbering
- Flush handlers before health check to ensure systemd reload
  completes before verifying the endpoint
- Update expected MCP health check status code from 405 to 406
2026-04-05 00:15:28 +00:00
eea1359414 fix: remove argos tarball transfer task, update argos release version to latest, and adjust backend port for Titania 2026-03-30 00:25:59 +00:00
56d7fdb9cf fix: update FreeCAD MCP URL and ports for consistency and add new backend configurations in Titania 2026-03-28 22:32:17 +00:00
45db26040e fix: update Rommie MCP URL and allowed hosts for improved access and security 2026-03-26 10:38:44 +00:00
6f5f610297 fix: update spelunker OAuth2 client credentials in Titania configuration 2026-03-25 11:29:49 +00:00
bb0b12ad0f fix: update syslog ports for mnemosyne and adjust alloy configuration for consistency 2026-03-23 12:08:41 +00:00
f6aae9a6ea fix: update FreeCAD MCP server port from 22082 to 22032 for consistency across documentation and configuration 2026-03-21 22:19:22 +00:00
6f48b38868 refactor: update FreeCAD MCP configuration and deployment settings for consistency 2026-03-21 21:47:49 +00:00
e21c91e73e refactor: update repository paths and configurations for consistency across services 2026-03-21 21:07:27 +00:00
b17cdada7c refactor: migrate services from oberon to puck and extract oauth2-proxy role
Move searxng, openwebui, mcp_switchboard, and hass services from
oberon.incus to puck.incus, consolidating service host variables
accordingly. Clean up oberon to only run alloy, docker, rabbitmq,
and smtp4dev.

Extract oauth2-proxy from a searxng-specific sidecar into a
standalone reusable role with generic naming, supporting multiple
proxy instances per host via parameterized systemd units and
config directories.

Refactor searxng role to use updated templates (settings.yml.j2,
limiter.toml.j2) and integrate with the new generic oauth2-proxy
role. Add Caddy reverse proxy configurations for puck-hosted
services.

Move searxng_oauth2_proxy_version to global vars for consistency.
2026-03-21 19:42:09 +00:00
0a7d528844 Add openwebui and hass services to rosalind.incus.yml 2026-03-21 17:36:27 +00:00
83170bf6ce feat: add FreeCAD and Rommie MCP server configurations and deployment playbooks 2026-03-21 00:21:48 +00:00
c32c3471e0 refactor: remove unused neo4j_memory_logs source and update gitea domains 2026-03-18 22:41:06 +00:00
c1391e3dbc Add Athena configuration and secrets to inventory and templates
- Updated vault.yml.example to include Athena secrets: secret key, DB password, OAuth client ID, and client secret.
- Modified puck.incus.yml to add Athena service and configuration details, including user, group, directory, port, and domain.
- Updated titania.incus.yml to change OAuth client ID and secret variable names for consistency with Athena.
- Added Athena configuration to mcpo config template, including URL and authorization headers.
2026-03-18 19:38:47 +00:00
d768edea99 Add OAuth client ID and secret for Athena to titania.incus.yml 2026-03-17 17:55:52 +00:00
0a053c1cd6 Refactor HAProxy configuration and certificate management
- Updated HAProxy configuration template to reflect changes for the Taurus Production Environment, including SSL settings and rate limiting for specific endpoints.
- Introduced new playbooks for certificate distribution and validation with OCI Vault, ensuring certificates are correctly managed and renewed.
- Added hooks for uploading renewed certificates to OCI Vault and validating their integrity.
- Enhanced the HAProxy configuration playbook to ensure proper service management and verification of the HAProxy service.
- Updated inventory variables for certificate management and ensured compatibility with the new structure.
2026-03-17 13:13:38 -04:00
808a775ebe feat: update OAuth client IDs and secrets in configuration files 2026-03-14 01:37:38 +00:00
06118fbd40 refactor: update project references from Agathos to Ouranos across documentation and configuration files 2026-03-14 01:15:02 +00:00
d996d179eb fix: correct daedalus_syslog_port value in puck configuration 2026-03-12 02:18:18 +00:00
67b32b8399 feat: add Daedalus application configuration, database setup, and monitoring alerts 2026-03-12 02:16:49 +00:00
540990ef74 feat: update remote user configuration and add Nike MCP integration 2026-03-09 01:46:59 +00:00
60006de208 feat: add periplus database configuration and enable PostGIS extensions 2026-03-07 12:11:05 +00:00
042df52bca Refactor user management in Ansible playbooks to standardize on keeper_user
- Updated user addition tasks across multiple playbooks (mcp_switchboard, mcpo, neo4j, neo4j_mcp, openwebui, postgresql, rabbitmq, searxng, smtp4dev) to replace references to ansible_user and remote_user with keeper_user.
- Modified PostgreSQL deployment to create directories and manage files under keeper_user's home.
- Enhanced documentation to clarify account taxonomy and usage of keeper_user in playbooks.
- Introduced new deployment for Agent S, including environment setup, desktop environment installation, XRDP configuration, and accessibility support.
- Added staging playbook for preparing release tarballs from local repositories.
- Created templates for XRDP configuration and environment activation scripts.
- Removed obsolete sunwait documentation.
2026-03-05 10:37:41 +00:00
b4d60f2f38 docs: rewrite README with structured overview and quick start guide
Replaces the minimal project description with a comprehensive README
including a component overview table, quick start instructions, common
Ansible operations, and links to detailed documentation. Aligns with
Red Panda Approval™ standards.
2026-03-03 12:49:06 +00:00