Identity carries the forge web address (forgeUrl), defaulted to https on the forge host #44

Closed
opened 2026-10-09 06:06:46 +01:00 by vnprc-agent · 2 comments

Identity carries the forge's web address, so a dev VM's forge CLI can be pointed at a plain-http forge on the private network instead of assuming https:// on the forge host.

Primary goals:

  • One field, forgeUrl — identity.forgeUrl is the base URL the forge CLI and any API client use, https://forge.anarch.diy in the template; the ssh host and port stay what they are, because clone transport and API transport differ.
  • Exported where the dev builder reads — lib.devIdentities.<vm>.forgeUrl carries it, beside forgeHost and forgePort, so allod/archetypes can render it into the VM.
  • Absent means today's behaviour — a fork whose identity predates the field evaluates unchanged: the export defaults to https://${forgeHost}, so no deployment has to edit its identity to take this.
  • A check proves both branches — a fixture identity without the field yields the default; one with it yields the value verbatim.

Current state and specifics

flake.nix builds devIdentities from identity.username forgeHost forgePort and the per-VM record; nothing names a URL. The forge CLI in allod/tools reads FORGE_URL and otherwise defaults to https://forge.anarch.diy, which is right for the template's forge and wrong for a forge VM serving plain http on a private address (the forge machine the templates now carry: allod/profiles hosts/service/forge, tls = false, Caddy on port 80 at the guest's address). The README's lib.devIdentities row lists the fields; it gains this one.

Scope

In: the identity field in the template identity.nix, the defaulted export in flake.nix, the README row, and the check. Out: rendering the value into a VM, which is allod/archetypes (the dev builder exports FORGE_URL); and the install script's second run that writes the forge VM's address into a fork, which is allod/deploy.

Part of allod/strategy#65

Identity carries the forge's web address, so a dev VM's forge CLI can be pointed at a plain-http forge on the private network instead of assuming `https://` on the forge host. Primary goals: - **One field, `forgeUrl`** — `identity.forgeUrl` is the base URL the `forge` CLI and any API client use, `https://forge.anarch.diy` in the template; the ssh host and port stay what they are, because clone transport and API transport differ. - **Exported where the dev builder reads** — `lib.devIdentities.<vm>.forgeUrl` carries it, beside `forgeHost` and `forgePort`, so `allod/archetypes` can render it into the VM. - **Absent means today's behaviour** — a fork whose identity predates the field evaluates unchanged: the export defaults to `https://${forgeHost}`, so no deployment has to edit its identity to take this. - **A check proves both branches** — a fixture identity without the field yields the default; one with it yields the value verbatim. ### Current state and specifics `flake.nix` builds `devIdentities` from `identity.username forgeHost forgePort` and the per-VM record; nothing names a URL. The `forge` CLI in `allod/tools` reads `FORGE_URL` and otherwise defaults to `https://forge.anarch.diy`, which is right for the template's forge and wrong for a forge VM serving plain http on a private address (the `forge` machine the templates now carry: `allod/profiles` `hosts/service/forge`, `tls = false`, Caddy on port 80 at the guest's address). The README's `lib.devIdentities` row lists the fields; it gains this one. ### Scope In: the identity field in the template `identity.nix`, the defaulted export in `flake.nix`, the README row, and the check. Out: rendering the value into a VM, which is `allod/archetypes` (the dev builder exports `FORGE_URL`); and the install script's second run that writes the forge VM's address into a fork, which is `allod/deploy`. Part of allod/strategy#65
Member

Landed on master by direct commit 24f69b3 ("identity: add forgeUrl, defaulted from forgeHost"); closing on the owner's instruction.

Landed on master by direct commit 24f69b3 ("identity: add forgeUrl, defaulted from forgeHost"); closing on the owner's instruction.
Member

Landed on master in commit 24f69b3: forgeUrl in identity.nix, exported with a default and checked in checks/forge-url.nix. Verified against the files on master today; closing as completed.

Landed on master in commit 24f69b3: forgeUrl in identity.nix, exported with a default and checked in checks/forge-url.nix. Verified against the files on master today; closing as completed.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
allod/secrets#44
No description provided.