Skip to content

chore: review and align the deployer-ui and backend bundle config contract #131

Description

@hyde-repo

chore: review and align the deployer-ui and backend bundle config contract

Wave: WAVE_04 (since 2026-06-05)
Related: #170 (deployer-ui bundle), #171 (backend bundle)

Status - it works

The bundles deploy the deployer-ui + backend on dev_deployer_ui_lab and the stack is functional end to end :
the backend container is up and healthy on :8000, the UI is up, and the backend reaches the Proxmox API. The
POC path is green.

Where things live

  • deployer-ui bundle : range42-playbooks/bundles/admin/software.install.deployer-ui/
  • backend bundle : range42-playbooks/bundles/admin/software.install.deployer-api-backend/
  • scenario : range42-playbooks/scenarios/dev_deployer_ui_lab/
  • bundle call-sites : scenarios/dev_deployer_ui_lab/02_dev_deployer_ui_lab_infrastructure/stage_01-vm_configure/dev-backend.yml and dev-deployer-ui.yml

The ask

The app and its containerisation have grown and largely live on your side now ; from the deployer-cli side we
mainly feed variables at deploy time. When you have bandwidth, could you take ownership of the deployer-ui +
backend bundles' app-facing config and flag what you would like to improve or align ? The aim is to keep the
config/wiring contract clean as the deployer-cli conventions evolve (key naming, workspace layout, vault).
No urgency.

Proposed split (simplest path)

  • You : own the backend Dockerfile and the two bundles' app-facing config, iterating on dev_deployer_ui_lab.
  • Us : feed the runtime variables to the containers at deploy, from the active workspace vault. Just tell
    us the interface you prefer - .env, a config file, or an API call - and we wire the bundle to feed it.

Context - a few spots we noticed (no pressure, just what we saw)

  • Naming + structure : SSH key naming and the workspace/vault layout are moving to the deployer-cli
    convention (r42.<C>-<S>-...) ; the bundle bridges via symlinks for now. We will share the new layout so
    the app can read it directly and we drop the bridge.
  • Vault keys : the Proxmox host seed reads 5 keys (proxmox_api_host/node/user/token_id/token_secret) ;
    the scenario vault example documents only one - we will fix the example on our side.
  • SSH key unlocking in the container : the range42 SSH keys are passphrase-protected by default, and the
    backend's in-container ansible-runner needs them to reach the Proxmox jump + the VMs - with no interactive
    ssh-agent inside a container. How does the current backend unlock them (an in-container agent, the
    passphrase from the vault, or passphrase-less keys) ? Have you already planned this, or is it something to
    sort out together ?
  • Your call, we adapt : how you would like the Git sources + PAT handed over, the scenarios/_universal
    entrypoint the backend runs, and whether the schema bootstrap (alembic upgrade head) stays app-side or
    bundle-side. Whatever you pick, we align the bundle.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions