Commit Graph
78 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
Benjamin Labrecque f19b828cdc docs: gui startup script
Build and Publish Site / docker (push) Successful in 5s
2026-08-03 14:49:14 +02:00
Benjamin Labrecque ce776c15f8 docs: gui startup script
Build and Publish Site / docker (push) Successful in 3s
2026-08-03 14:48:04 +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 df817a0aee docs: update add new service docs 2026-07-28 08:29:34 +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 9174f573d4 test: add cli test fixtures
Deploy / deploy (push) Failing after 3s
2026-07-23 13:57:21 +02:00
Benjamin Labrecque 30832ac59f fix: config files 2026-07-22 13:15:10 +02:00
Benjamin Labrecque 76aab08c1e docs: refactor and add entry points 2026-07-21 17:01:54 +02:00
Benjamin Labrecque 86212af43c docs: refactor into user and developer docs 2026-07-21 16:44:28 +02:00
Benjamin Labrecque 2a74d1e2be docs: refactor into user and developer docs 2026-07-21 16:40:41 +02:00
Benjamin Labrecque b1b5616947 docs: clean todos
Deploy / deploy (push) Canceled after 0s
2026-07-20 12:28:38 +02:00
Benjamin Labrecque 3289b368b1 docs: todo cicd 2026-07-17 16:11:41 +02:00
Benjamin Labrecque 117d6f2405 feat: run the cicd act runner as a systemd service 2026-07-17 15:52:28 +02:00
Benjamin Labrecque fe6c86490b docs: add missing iocs overview 2026-07-17 13:58:01 +02:00
Benjamin Labrecque 627fd65640 Merge branch 'main' of gitea.psi.ch:sls/hla_framework_bd into feature/add-new-service-all-migrate-python 2026-07-16 14:28:28 +02:00
Benjamin Labrecque f278ad1a9d feature: add new service shifttool 2026-07-16 13:43:25 +02:00
Benjamin Labrecque bbbd68446e feature: add new service topuptool 2026-07-16 13:40:29 +02:00
Benjamin Labrecque 8ce97e701f feature: add new service tune 2026-07-16 13:37:48 +02:00
Benjamin Labrecque 0ef919ad71 docs: ioc todo 2026-07-16 11:49:48 +02:00
Benjamin Labrecque fc9a7481a7 Merge branch 'main' of gitea.psi.ch:sls/hla_framework_bd into feature/add-new-service-all-migrate 2026-07-16 11:08:00 +02:00
Benjamin Labrecque f39dfeee69 docs: add existing ioc docs 2026-07-16 11:07:38 +02:00
Benjamin Labrecque cfac6a4fb4 docs: add todo for iocs 2026-07-16 10:32:23 +02:00
Benjamin Labrecque f2537a6220 feature: add new service plots 2026-07-16 09:51:51 +02:00
Benjamin Labrecque 637594bb82 feature: add new service postmortemlog 2026-07-16 09:50:04 +02:00
Benjamin Labrecque 7b34c743ee feature: add new service orbitbump 2026-07-16 09:44:53 +02:00
Benjamin Labrecque d48fe45b02 feature: add new service injectionguard 2026-07-16 09:43:21 +02:00
Benjamin Labrecque 1b3992075c feature: add new service tunefby 2026-07-16 09:29:53 +02:00
Benjamin Labrecque 385b9a760b feature: add new service tunefbx 2026-07-16 09:29:53 +02:00
Benjamin Labrecque 250d90b7bb feature: add new service tunebump 2026-07-16 09:29:53 +02:00
Benjamin Labrecque 60b38249e0 feature: add new service scrubbing 2026-07-16 09:29:53 +02:00
Benjamin Labrecque 120575e29f feature: add new service timing 2026-07-16 09:29:53 +02:00
Benjamin Labrecque 01f67c3a05 feature: add new service taupct 2026-07-16 09:29:53 +02:00
Benjamin Labrecque 90aa6136ce chore: ui todo 2026-07-16 09:13:14 +02:00
labrec_bandBenjamin Labrecque 9094249fce Feature/add service taubpm (#5)
Deploy / deploy (push) Successful in 20s
Add taubpm

---------

Co-authored-by: Benjamin Labrecque <labrecque.benji@gmail.com>
Reviewed-on: #5
2026-07-16 08:30:55 +02:00
Benjamin Labrecque 8032cfae6f chore: clean up ansible structure 2026-07-14 14:31:06 +02:00
labrec_bandBenjamin Labrecque e6938646f1 Feature/add service dbpm3curr (#3)
Add new service dbpm3curr

---------

Co-authored-by: Benjamin Labrecque <labrecque.benji@gmail.com>
Reviewed-on: #3
2026-07-14 11:39:58 +02:00
labrec_bandBenjamin Labrecque 13abb68f96 Feature/add service nturns (#2)
Migrate NTURNS

---------

Co-authored-by: Benjamin Labrecque <labrecque.benji@gmail.com>
Reviewed-on: #2
2026-07-14 09:35:10 +02:00
Benjamin Labrecque b38c3c08c0 docs: epics docs 2026-07-13 15:25:45 +02:00
Benjamin Labrecque d252258469 docs: add python/pixi/epics docs
Deploy bin / deploy (push) Canceled after 0s
2026-07-10 17:21:19 +02:00
Benjamin Labrecque c30822223e docs: ui 2026-07-10 12:06:40 +02:00
Benjamin Labrecque b14f4ff36f ui: better default ui 2026-07-10 12:03:41 +02:00
Benjamin Labrecque d56afee88b chore: test writing to pv 2026-07-10 09:22:33 +02:00