Skip to content

chore(incus): bump lxc/incus provider ~> 0.3 → ~> 1.0 (v1.1.1)#466

Open
ccrutchf wants to merge 1 commit into
mainfrom
chore/incus-provider-v1
Open

chore(incus): bump lxc/incus provider ~> 0.3 → ~> 1.0 (v1.1.1)#466
ccrutchf wants to merge 1 commit into
mainfrom
chore/incus-provider-v1

Conversation

@ccrutchf

Copy link
Copy Markdown
Contributor

The only dependency in the 2026-07-12 audit that was a major version behind and could not self-heal: the ~> 0.3 constraint caps the provider under 1.0, so tofu init -upgrade never crosses to the 1.x line. Kept separate from the image-bump PR because it's a major provider jump on live tenant infra (the terraform/incus boundary drives the Incus NAT self-serve platform).

What changed

  • Constraint ~> 0.3~> 1.0; lockfile regenerated → pins v1.1.1.
  • Provider config migration — incus 1.0.0 reworked the provider configuration, which broke our remote {} block (tofu validate failed: scheme/port/default are no longer valid args). Migrated to the 1.x schema:
    • remote.address is now a full URL (scheme://host:port); separate scheme/port fields removed. Built from the existing host+port vars (port still mirrors nix krg.incus.apiPort 1:1).
    • per-remote default = true → provider-level default_remote.
    • Updated the load-bearing comments: the 1.x full-URL requirement inverts the 0.x "bare host or it falls back to the unix socket" gotcha we previously documented.

Verification

  • tofu init -upgrade -backend=false → installs v1.1.1, lockfile updated.
  • tofu validatepasses against v1.1.1.

⚠️ Before apply

validate is schema-only. The remote-config rework is a runtime path, so a live tofu plan against krg-nat (via deploy-tofu.sh with a PKI-minted client cert) must be reviewed for a clean no-op / expected diff before apply. I did not run a live plan (needs the OpenBao-brokered deploy creds).

Also worth a skim of the 1.x resource changelog for incus_network / incus_project / incus_network_forward in case any managed attribute defaults shifted (none surfaced as an error in validate).

🤖 Generated with Claude Code

The `~> 0.3` constraint capped the provider below 1.0, so `tofu init
-upgrade` could never cross to the 1.x line — bump the constraint and
regenerate the lockfile (now pins v1.1.1).

incus 1.0.0 reworked the provider configuration, which broke our remote
block (`tofu validate` failed on scheme/port/default). Migrated to the 1.x
schema:
- remote.address is now a FULL URL (`scheme://host:port`); the separate
  `scheme`/`port` fields are gone. Built from the existing host+port vars
  (port still mirrors nix krg.incus.apiPort 1:1).
- per-remote `default = true` -> provider-level `default_remote`.
- Updated the load-bearing comments: the 1.x URL requirement INVERTS the
  0.x "bare host or it falls back to the unix socket" gotcha.

`tofu validate` passes against v1.1.1. Kept separate from the image-bump PR
because it's a major provider jump on live tenant infra.

NOTE: validate is schema-only. The remote-config rework is a runtime path,
so a live `tofu plan` against krg-nat (via deploy-tofu.sh, PKI-minted cert)
must be reviewed for no-op / expected diffs BEFORE apply.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant