Commit Graph
12 Commits
Author SHA1 Message Date
Benjamin LabrecqueandClaude Opus 5 4a73e52a35 refactor: one definition per naming rule, drop ansible (step 5)
Consolidates the last duplicated derivations, and removes the ansible
tree along with the CLI surface that existed only to drive it.

Naming rules:

  * agebd/names.py holds ServiceName -- the single definition of how a
    service name is spelled in each context: dir_name, module_name,
    ioc_name, systemd_unit_name and the case forms. The environment
    suffix is deliberately not part of it; that stays a deploy-time
    token applied to these base names.
  * cli's Service model delegates every name_* property to it, so the
    CLI and the CI scripts derive names the same way.
  * scripts/ci/service_names.py emits the derived forms as shell
    assignments, and deploy-and-restart-service.sh evals them instead of
    carrying its own tr calls and its own copy of the systemd naming
    convention. Values are shell-quoted, and an invalid name exits
    non-zero emitting nothing, so an eval cannot leave empty variables
    behind.

Registry lookups:

  * agebd.subs.find_service_entry is now the only place that answers
    "which registry entry is this service", used by read_ioc_port,
    get_ioc_port.py and cli's ServiceRegistry. get_ioc_port.py no longer
    parses the registry itself.
  * That also settles a semantic split: ServiceRegistry matched names
    case-sensitively while read_ioc_port did not. Both now match
    case-insensitively via ServiceName, so 'tune', 'Tune' and 'TUNE'
    resolve to the same service everywhere.

Ansible removal:

  * ansible/ is deleted, along with cli/src/ioc.py, cli/src/core/
    ansible.py, the IOC_ENV enum, the ansible and ansible-runner
    dependencies, and docs/developer/ansible.md.
  * This removes the 'agebd ioc install|start|restart' commands. They
    were pure playbook wrappers, so they could not outlive the
    playbooks; IOC install, start and restart now have no automation
    path in this repo.

bin/start_service.sh keeps deriving its two name forms in bash, with a
comment saying why: it runs on the deploy host before the service venv
exists, so it cannot import agebd. It is the one deliberate exception.

Verified: get_ioc_port.py, cli's ServiceRegistry and agebd's renderer all
return 50007 for 'tune', 'Tune' and 'TUNE'; the shell-emitted names match
the committed on-disk layout for real services including the dashed
OpticsFF-X02S; the CLI runs with only the 'service' command left.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 10:35:41 +02:00
labrec_bandBenjamin Labrecque dabcf8a407 Feature/gui startup script (#13)
Build and Publish Site / docker (push) Successful in 5s
Deploy / deploy (push) Successful in 8s
Add GUI startup script
---------

Co-authored-by: Benjamin Labrecque <labrecque.benji@gmail.com>
Reviewed-on: #13
2026-08-03 14:38:27 +02:00
labrec_bandBenjamin Labrecque 7c86ddd3a3 Feature/add services tests cicd (#48)
Build and Publish Site / docker (push) Successful in 6s
Deploy / deploy (push) Successful in 41s
Closes:
- uv caching #51
- act runner cache #49
- services tests #20

---------

Co-authored-by: Benjamin Labrecque <labrecque.benji@gmail.com>
Reviewed-on: #48
2026-07-31 11:34:42 +02:00
labrec_bandBenjamin Labrecque 3aa1fc735c feat: add Gitea Pages documentation (#43)
Build and Publish Site / docker (push) Successful in 3s
feat: add Gitea Pages documentation

---------

Co-authored-by: Benjamin Labrecque <labrecque.benji@gmail.com>
Reviewed-on: #43
2026-07-29 16:32:32 +02:00
Benjamin Labrecque f62f0ec2aa docs: update cicd docs 2026-07-29 15:21:17 +02:00
Benjamin Labrecque 1188cd383b docs: ioc 2026-07-28 08:19:46 +02:00
Benjamin Labrecque 8c1fddfc2c docs: python packaging -- link to linux docs 2026-07-27 17:06:37 +02:00
Benjamin Labrecque 9e7d5dfa7c docs: update cicd runner docs 2026-07-24 10:33:09 +02:00
Benjamin Labrecque dd2ba655cd docs: update cicd runner setup docs 2026-07-24 10:17:16 +02:00
Benjamin Labrecque 68e51b5f6f docs: add python packaging docs 2026-07-23 16:25:20 +02:00
Benjamin Labrecque 76aab08c1e docs: refactor and add entry points 2026-07-21 17:01:54 +02:00
Benjamin Labrecque 2a74d1e2be docs: refactor into user and developer docs 2026-07-21 16:40:41 +02:00