Skip to content

add homelab apply workflow - #3

Merged
nickvigilante merged 2 commits into
mainfrom
add-homelab-apply-workflow
May 11, 2026
Merged

add homelab apply workflow#3
nickvigilante merged 2 commits into
mainfrom
add-homelab-apply-workflow

Conversation

@nickvigilante

Copy link
Copy Markdown
Owner
  • Add homelab-apply workflow for browser-triggered tofu apply
  • Drop deprecated has_downloads attribute from managed repos

Manual-only trigger via workflow_dispatch. Plans, then applies the saved
plan (no -auto-approve, no surprise drift). Dry-run input lets you preview
without applying. Concurrency lock prevents parallel runs.

Same secrets / GitHub App PEM staging pattern as homelab-plan.yml.
Apply output goes to the Actions run summary.

README updated with both apply paths (local and Actions UI).
The GitHub Releases "downloads" feature is going away; the provider warns
on every read and refuses to set the field in a future version. Dropping
it from the schema lets Tofu stop managing the attribute without changing
what's currently set on GitHub (the field stays whatever GitHub keeps it
as, which is moot since the feature itself is being retired).

Silences 25 of the ~50 deprecation warnings in tofu plan. The remaining
vulnerability_alerts deprecation warrants its own PR — that one needs a
state-move dance to avoid briefly disabling alerts.
@github-actions

Copy link
Copy Markdown

homelab tofu plan

Plan output
tailscale_dns_nameservers.global: Refreshing state... [id=34619e51-87ec-b5df-c078-fd2e3181d9c5]
tailscale_dns_preferences.main: Refreshing state... [id=ad9f64d5-f380-ae42-4811-7604bfdb5bcd]
github_repository.managed["tools"]: Refreshing state... [id=tools]
github_repository.managed["docs"]: Refreshing state... [id=docs]
github_repository.managed["tuile"]: Refreshing state... [id=tuile]
github_repository.managed["passgen"]: Refreshing state... [id=passgen]
github_repository.managed["puzzles"]: Refreshing state... [id=puzzles]
github_repository.managed["vale-languagetool"]: Refreshing state... [id=vale-languagetool]
github_repository.managed["infrastructure"]: Refreshing state... [id=infrastructure]
github_repository.managed["styleguide"]: Refreshing state... [id=styleguide]
github_repository.managed["dotfiles"]: Refreshing state... [id=dotfiles]
github_actions_secret.tailscale_oauth_client_id: Refreshing state... [id=infrastructure:TAILSCALE_OAUTH_CLIENT_ID]
github_actions_secret.github_app_id: Refreshing state... [id=infrastructure:TF_GITHUB_APP_ID]
github_branch_protection.main["styleguide"]: Refreshing state... [id=BPR_kwDONEbTDs4Ek1Lj]
github_actions_secret.aws_secret_access_key: Refreshing state... [id=infrastructure:AWS_SECRET_ACCESS_KEY]
github_actions_secret.github_app_private_key: Refreshing state... [id=infrastructure:TF_GITHUB_APP_PRIVATE_KEY]
github_actions_secret.tailscale_oauth_client_secret: Refreshing state... [id=infrastructure:TAILSCALE_OAUTH_CLIENT_SECRET]
github_actions_secret.github_app_installation_id: Refreshing state... [id=infrastructure:TF_GITHUB_APP_INSTALLATION_ID]
github_actions_secret.aws_access_key_id: Refreshing state... [id=infrastructure:AWS_ACCESS_KEY_ID]
github_branch_protection.main["dotfiles"]: Refreshing state... [id=BPR_kwDOKUP2984EclBF]
github_branch_protection.main["docs"]: Refreshing state... [id=BPR_kwDOSFgwGs4Ek1Ll]
github_branch_protection.main["puzzles"]: Refreshing state... [id=BPR_kwDOSMxZ4c4Ek1Lo]
github_branch_protection.main["tuile"]: Refreshing state... [id=BPR_kwDOSB7YJc4Ek1LN]
github_branch_protection.main["vale-languagetool"]: Refreshing state... [id=BPR_kwDONCBpAs4Ek1LO]
github_branch_protection.main["tools"]: Refreshing state... [id=BPR_kwDOCpIRFs4CjUwo]
github_branch_protection.main["infrastructure"]: Refreshing state... [id=BPR_kwDOSZwzas4Ek1LQ]
github_branch_protection.main["passgen"]: Refreshing state... [id=BPR_kwDOPAgUIM4Ek1Lp]

No changes. Your infrastructure matches the configuration.

OpenTofu has compared your real infrastructure against your configuration and
found no differences, so no changes are needed.

Warning: Argument is deprecated

  with github_repository.managed["dotfiles"],
  on github.tf line 24, in resource "github_repository" "managed":
  24:   vulnerability_alerts        = each.value.vulnerability_alerts

Use the github_repository_vulnerability_alerts resource instead. This field
will be removed in a future version.

(and 15 more similar warnings elsewhere)

@nickvigilante
nickvigilante merged commit e3a8919 into main May 11, 2026
1 check passed
@nickvigilante
nickvigilante deleted the add-homelab-apply-workflow branch May 11, 2026 02:33
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