Hermes Agent service account
a9973d1e0f
feat(semaphore): add legacy postgres deployment path using podman_container
2026-05-28 15:07:47 -05:00
4113011f63
fixed semaphore template
2026-05-28 14:51:04 -05:00
Hermes Agent service account
018782d986
fix(semaphore): remove User/Group from quadlet template
2026-05-28 14:49:37 -05:00
Hermes Agent service account
3681e8c03e
fix(semaphore): make volume creation task more robust
2026-05-28 14:31:06 -05:00
Hermes Agent service account
8f377e4cf3
fix(semaphore): create named volumes before deploying quadlets
2026-05-28 14:25:18 -05:00
Hermes Agent service account
419acaa40d
fix(semaphore): use systemctl start for quadlet services after daemon-reload
2026-05-28 14:08:53 -05:00
Hermes Agent service account
42b204bf8a
fix(semaphore): make quadlet deployment self-contained with immediate daemon-reload + service start
2026-05-28 14:06:24 -05:00
Hermes Agent service account
1d7dcb7d82
fix(semaphore): load role defaults in cleanup playbook so variables are defined
2026-05-28 14:02:33 -05:00
Hermes Agent service account
d63ca0b4f9
docs(semaphore): add cleanup playbook reference to deploy playbook
2026-05-28 14:01:00 -05:00
Hermes Agent service account
e9440327aa
feat(semaphore): add dedicated cleanup playbook
...
- Explicit playbook for removing old container, systemd services, and quadlets
- Optional semaphore_force_clean variable for data removal
- Safer than tags for destructive operations
2026-05-28 10:25:56 -05:00
Hermes Agent service account
dcc7e282c7
feat(semaphore): complete quadlet deployment for PostgreSQL + Semaphore
...
- Add quadlet tasks and handlers for modern rootless Podman deployment
- Fix broken Jinja in semaphore.container.j2
- Add proper 0777 permissions handling for rootless
- Support semaphore_use_postgres toggle with fallback to legacy BoltDB path
2026-05-28 10:22:28 -05:00
Hermes Agent service account
6d5fc7c5c6
fix(semaphore): set data directory permissions to 0777 for rootless compatibility
2026-05-27 22:38:36 -05:00
312fdf9986
fix env.j2
2026-05-27 22:26:51 -05:00
Hermes Agent service account
4e0b4fa049
refactor(semaphore): remove unreliable admin user creation from role
...
Initial admin user must now be created manually after first deployment
2026-05-27 22:20:43 -05:00
Hermes Agent service account
cf7c2a1436
fix(semaphore): clean up admin user creation tasks with proper fallback and force logic
2026-05-27 22:16:34 -05:00
Hermes Agent service account
3dc6555ad1
fix(semaphore): support vault_semaphore_admin_password as fallback variable name
2026-05-27 22:15:20 -05:00
Hermes Agent service account
27ff9286b4
feat(semaphore): add semaphore_force_admin_user option
...
- When set to true, deletes existing admin user before creating
- Useful for recovering from bad password or broken user state
2026-05-27 22:10:32 -05:00
Hermes Agent service account
6e50461999
docs: add comprehensive Semaphore deployment and setup guide
...
- Covers deployment, initial setup, DNS/Traefik, GitOps approach, and troubleshooting
2026-05-27 21:57:02 -05:00
Hermes Agent service account
3f1c3a40cf
feat(semaphore): add idempotent initial admin user creation
...
- New variables for admin user (password from vault)
- Task checks if user exists before creating
- Uses podman exec + semaphore CLI
2026-05-27 21:56:36 -05:00
Hermes Agent service account
0116ec4cc3
fix(dns): improve hostname extraction in add_service_route.yml
...
- Use explicit Jinja2 loop for more reliable parsing of Host() rules
- Handles multi-host router definitions correctly
2026-05-27 21:39:51 -05:00
Hermes Agent service account
f962d0a6d7
feat(dns): rewrite add_service_route.yml to support multi-host Traefik configs
...
- Parse Host() rules from router definitions
- Supports multiple hostnames per service file (e.g. semaphore + imagineering)
- More robust and future-proof
2026-05-27 21:31:41 -05:00
Hermes Agent service account
dc3c0d7cb1
feat(traefik): add semaphore dynamic config with dual hostnames
...
- semaphore.local.mk-labs.cloud
- imagineering.local.mk-labs.cloud
- Backend: figment:3000
- Cloudflare certResolver + security-headers
2026-05-27 21:24:02 -05:00
Hermes Agent service account
b05f9fad09
fix(semaphore): add :U volume flag for proper rootless UID mapping
...
Prevents permission issues with BoltDB data directory in rootless Podman
2026-05-27 21:17:40 -05:00
Hermes Agent service account
8650995926
fix(semaphore): adjust BoltDB Path in config.json to parent directory
...
Prevents 'database.boltdb/database.boltdb' path issue in v2.18.x
2026-05-27 21:09:12 -05:00
Hermes Agent service account
e5469d2cb8
fix(semaphore): use semaphore_user for directory ownership + add config.json for BoltDB
...
- Replace hardcoded UID 1000 with {{ semaphore_user }} / {{ semaphore_group }}
- Add config.json creation task for non-interactive BoltDB startup
- Prevents interactive setup wizard and permission errors on v2.18.x
2026-05-27 21:07:30 -05:00
Hermes Agent service account
702698ddcd
fix(semaphore): always regenerate systemd unit and use DB_DIALECT
...
- Switch podman_container env to SEMAPHORE_DB_DIALECT
- Remove creates: guard on podman generate systemd task
- Add changed_when so unit is always updated on role run
2026-05-27 20:56:47 -05:00
Hermes Agent service account
d233d582d4
fix(semaphore): use SEMAPHORE_DB_DIALECT instead of legacy DB_TYPE
...
- Updated container quadlet template to use modern SEMAPHORE_DB_DIALECT variable
- Updated env.j2 template for consistency with current SemaphoreUI expectations
- Resolves BoltDB not being honoured on v2.18.x
2026-05-27 20:48:41 -05:00
Hermes Agent service account
3839fac162
fix: run directory ownership task with become: true
2026-05-26 23:04:23 -05:00
Hermes Agent service account
b01dac85da
fix: set correct ownership (1000:1000) on semaphore data directories
2026-05-26 23:02:04 -05:00
Hermes Agent service account
37a49824d0
fix: run podman generate systemd as root
2026-05-26 22:57:53 -05:00
Hermes Agent service account
0127016ab2
fix: run Semaphore container as root inside container
2026-05-26 22:57:10 -05:00
Hermes Agent service account
e0b6fcb24a
fix: use 'latest' as default Semaphore image tag
2026-05-26 22:55:12 -05:00
Hermes Agent service account
e7d9a8fec5
fix: use containers.podman collection instead of community.general
2026-05-26 22:53:57 -05:00
Hermes Agent service account
1a9addc537
feat: use community.general collection + requirements.yml for semaphore
2026-05-26 22:51:59 -05:00
Hermes Agent service account
401f25b1c4
fix: use raw podman commands (no external collections required)
2026-05-26 22:50:55 -05:00
Hermes Agent service account
ece522074e
fix: switch semaphore role to podman_container + generate systemd (more reliable)
2026-05-26 22:50:18 -05:00
Hermes Agent service account
c30c0074f1
fix: separate daemon-reload from service start in semaphore role
2026-05-26 22:49:38 -05:00
Hermes Agent service account
fa51dc2c4d
fix: correct Quadlet service startup in semaphore role
2026-05-26 22:48:55 -05:00
Hermes Agent service account
c1810fde8a
fix: replace semaphore role with new Podman + Quadlet version
2026-05-26 22:46:46 -05:00
a781ef8b14
update inventory
2026-05-26 22:44:48 -05:00
Hermes Agent service account
92b2a9d609
refactor: consolidate all roles into ansible/roles/ and update ansible.cfg
...
- Move all roles from playbooks/roles/ to roles/
- Update roles_path in ansible.cfg
- Add cast user to common role
- Create standalone podman role
- Add semaphore role with Podman + Quadlet support
2026-05-26 22:22:08 -05:00
Hermes Agent service account
9250b0f193
chore: remove defunct hermes directory
...
The previous Hermes deployment configuration has been superseded.
This directory is no longer used and is being removed as part of
the transition to the new command centre on carousel-of-progress.
2026-05-26 14:42:45 -05:00
24869f47ee
deply hermes VM
2026-05-26 11:48:23 -05:00
bb5a57e909
remove jarvis deployment
2026-05-25 21:16:52 -05:00
9f3d81729d
fix(jarvis): run as root for NFS compat, add namespace PSA baseline label
2026-05-25 20:43:03 -05:00
064d3e8b3d
fix(jarvis): move runAsNonRoot to container level, allow init container to run as root for chown
2026-05-25 20:39:39 -05:00
ef7e3c61ed
fix(jarvis): add init container to fix PVC ownership for UID 10000
2026-05-25 20:37:01 -05:00
64951e1e5e
fix(jarvis): use args not command for hermes entrypoint
2026-05-25 20:35:32 -05:00
58931732f7
fix(jarvis): correct hermes entrypoint command
2026-05-25 20:31:46 -05:00
be8e50d590
deploy hermes
2026-05-25 20:21:24 -05:00