Commit Graph

70 Commits

Author SHA1 Message Date
3893b91a55 feat(ansible): add CASE Field Systems MCP endpoint configuration
Configure FastAgent MCP server to connect to the CASE Field Systems
service over HTTP. Enables integration with LAN, SD Card, and
Provisioning workflows without authentication.

Uses dynamic Ansible variables for host and port to support
environment-specific deployments.
2026-05-30 10:19:24 -04:00
76a0e043e9 chore(ansible): add CASE agent configuration to kottos inventory
Introduce the CASE engineering agent by defining kottos_case_port
(24152) and updating the agents list comment. This extends the
systemd-managed pallas process configuration to include the CASE
runtime alongside existing Harper, Scotty, Research, and Tech
Research agents.
2026-05-30 09:44:07 -04:00
acf3419450 refactor(ansible): rename freecad_mcp env vars and rework deployment
- Drop `FREECAD_MCP_` prefix from env vars (use `FREECAD_*`)
- Update freecad_mcp port from 22032 to 22061
- Document that FreeCAD bridge is required for tool calls
- Replace kottos deployment with pallas deployment
2026-05-30 09:37:56 -04:00
bc431a3a2a refactor(alloy): remove athena syslog listener in favor of docker logs 2026-05-30 09:37:15 -04:00
30b5cab808 feat(rommie): add JPEG quality and size cap for get_screenshot
- Add ROMMIE_SCREENSHOT_JPEG_QUALITY and ROMMIE_SCREENSHOT_MAX_KB env vars
  to control parent-agent screenshot output encoding and size limit
- Configure defaults (quality 80, 512KB cap) in caliban.incus host vars
- Trigger rommie service restart when .env file changes
2026-05-28 13:30:17 -04:00
3bdb11dc72 chore(ansible): update model endpoints and enable Rommie deployment
- Bump Qwen model from 3.5 to 3.6 and update inference endpoints
  (nyx:22079→22072, pan:22078→22076) for caliban and puck hosts
- Add Rommie MCP server deployment to site.yml
- Update Rommie docs to reflect new port (20361), model versions,
  and health check accepting 200/406 status codes
2026-05-28 12:17:23 -04:00
a01feee663 chore(ansible): update vault credentials 2026-05-26 21:45:17 -04:00
f4a25316de SearXNG: set docker pull policy always 2026-05-26 06:47:48 -04:00
3c2f8c57ca feat(observability): add SearXNG, Argos, and Pallas monitoring
- Add SearXNG syslog ingestion and blackbox health probes on miranda
  and rosalind for per-host attributable failure detection
- Scrape Argos MCP application metrics from miranda
- Add Pallas dashboard panels for downstream availability and turn
  error ratios
2026-05-24 23:52:53 -04:00
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
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
2be323f27e Casdoor: Change to curl for healthcheck 2026-05-02 07:01:54 -04:00
6301facc1a Vault additions 2026-04-13 15:47:47 +00:00
f3f599a33a Vault formatting 2026-04-13 15:31:49 +00: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
bbfb1cfe08 Vault updates 2026-04-11 09:23:37 -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
7430ecf2b8 Add Agent S, place docker before alloy 2026-04-11 08:54:54 -04:00
a34caba582 refactor(ansible): remove pgadmin database init and service tasks
Remove the Ansible tasks responsible for initializing the PgAdmin database
and starting the PgAdmin systemd service. These steps are no longer required
in the current deployment workflow.
2026-04-11 08:41:05 -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
ee361ee61e Puck Port correction 2026-04-11 07:32:40 -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
257e743d9a Add PgAdmin to Casdoor 2026-04-08 18:49:33 +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
b01cfe7430 feat(kernos): implement optional API key authentication for MCP
Added kernos_api_keys configuration variable to enable optional
request authentication via Bearer or X-Api-Key headers. Updated
Kernos documentation with setup instructions and usage examples.
Also corrected FastAPI project port assignments in Ouranos docs.
2026-04-07 14:12:48 +00:00
2ffcf00570 feat: migrate freecad-mcp to GitHub fork install and refactor deployments
- Switch freecad-mcp installation from PyPI to Heluca GitHub fork,
  using a configurable git ref (freecad_mcp_git_ref) instead of
  pinned PyPI version
- Retarget freecad-mcp deployment from Caliban to Larissa, update
  port from 22032 to 22063, and change service user to freecad-mcp
- Add git to apt dependencies for pip git+https installs
- Make deployment summary use inventory_hostname instead of hardcoded host
- Refactor kernos deploy to target all ubuntu hosts with service-based
  filtering via `services` host_var, replacing static host group
2026-04-06 15:07:15 +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
58b7f4139f fix: update grafana-mcp image to use remote registry URL
Change Docker image reference from local `mcp/grafana:latest` to
`git.helu.ca/r/mcp-grafana:latest` to pull from the correct remote
container registry.
2026-04-04 20:53:43 +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
7dab63b83c fix: add X-Forwarded-Proto header to HTTPS frontend for backend connection awareness 2026-03-22 22:51:43 +00:00
bc1cf0e9dc feat: add RabbitMQ vhost and user configuration for mnemosyne 2026-03-22 00:38:56 +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