Skip to content

v3#397

Open
mrclrchtr wants to merge 10 commits intomainfrom
next
Open

v3#397
mrclrchtr wants to merge 10 commits intomainfrom
next

Conversation

@mrclrchtr
Copy link
Member

No description provided.

@mrclrchtr mrclrchtr added this to the v3 milestone Jan 29, 2026
@mrclrchtr mrclrchtr changed the title V3 v3 Jan 29, 2026
@github-actions
Copy link

github-actions bot commented Jan 29, 2026

Terraform-Check (version: 1.9.8): ✅

🖌 Terraform Format: ✅
# Outputs:


# Errors:

⚙️ Terraform Init: ✅
# Outputs:
Initializing the backend...
Initializing provider plugins...
- Finding hashicorp/http versions matching ">= 3.5.0"...
- Finding hashicorp/helm versions matching ">= 3.1.1"...
- Finding alekc/kubectl versions matching ">= 2.1.3"...
- Finding hashicorp/tls versions matching ">= 4.2.1"...
- Finding hetznercloud/hcloud versions matching ">= 1.60.0"...
- Finding siderolabs/talos versions matching ">= 0.10.1"...
- Installing hashicorp/tls v4.2.1...
- Installed hashicorp/tls v4.2.1 (signed by HashiCorp)
- Installing hetznercloud/hcloud v1.60.0...
- Installed hetznercloud/hcloud v1.60.0 (signed by a HashiCorp partner, key ID 5219EACB3A77198B)
- Installing siderolabs/talos v0.10.1...
- Installed siderolabs/talos v0.10.1 (signed by a HashiCorp partner, key ID AF0815C7E2EC16A8)
- Installing hashicorp/http v3.5.0...
- Installed hashicorp/http v3.5.0 (signed by HashiCorp)
- Installing hashicorp/helm v3.1.1...
- Installed hashicorp/helm v3.1.1 (signed by HashiCorp)
- Installing alekc/kubectl v2.1.3...
- Installed alekc/kubectl v2.1.3 (self-signed, key ID 772FB27A86DAFCE7)
Partner and community providers are signed by their developers.
If you'd like to know more about provider signing, you can read about it here:
https://www.terraform.io/docs/cli/plugins/signing.html
Terraform has created a lock file .terraform.lock.hcl to record the provider
selections it made above. Include this file in your version control repository
so that Terraform can guarantee to make the same selections by default when
you run "terraform init" in the future.

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.


# Errors:

🤖 Terraform Validate: ✅
# Outputs:
Success! The configuration is valid.



# Errors:

@github-actions
Copy link

github-actions bot commented Jan 29, 2026

Commitlint-Check

Thanks for your contribution ❤️

commitlint has detected that all commit messages in this PR follow the conventional commit format 🎉

@github-actions
Copy link

github-actions bot commented Jan 29, 2026

Terraform-Check (version: 1.8.5): ❌

🖌 Terraform Format: ✅
# Outputs:


# Errors:

⚙️ Terraform Init: ❌
# Outputs:

Initializing the backend...


# Errors:

Error: Unsupported Terraform Core version

  on terraform.tf line 2, in terraform:
   2:   required_version = ">=1.9.0"

This configuration does not support Terraform version 1.8.5. To proceed,
either choose another supported Terraform version or update this version
constraint. Version constraints are normally set for good reason, so updating
the constraint may lead to other errors or unexpected behavior.


🤖 Terraform Validate: ❌
# Outputs:


# Errors:

Error: Invalid reference in variable validation

  on variables.tf line 94, in variable "location_name":
  94:     condition     = contains(data.hcloud_locations.all.locations[*].name, var.location_name)

The condition for variable "location_name" can only refer to the variable
itself, using var.location_name.

@hcloud-talos-bot
Copy link

🎉 This PR is included in version 3.0.0-next.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

mrclrchtr and others added 10 commits February 4, 2026 17:36
BREAKING CHANGE: Complete overhaul of node configuration schema for v3

- Replace count-based variables with list-based configuration:
  - Remove: control_plane_count, control_plane_server_type
  - Remove: worker_count, worker_server_type
  - Introduce: control_plane_nodes (list with required id field)
  - Unify: worker_nodes now represents ALL workers (was additive in v2)

- Add explicit id field for stable node identity:
  - Node names and IP allocation now derived from id (1..N)
  - List order no longer affects resource identity
  - Validation enforces unique, contiguous ids starting at 1

- Support per-node configuration:
  - Control planes and workers support custom labels and taints

- Simplify architecture:
  - Remove debugging mode (empty control_plane list no longer supported)
  - Delete dummy.tf (no dummy TLS certs for zero-node clusters)
  - Consolidate worker resources (workers_new → workers with moved block)
  - Clean up conditional logic throughout (count > 0 checks)

- Improve code quality:
  - Consistent label formatting (commas in all object literals)
  - Remove legacy worker patterns entirely

Migration guide added in MIGRATIONS.md with state move instructions.
…bute

BREAKING CHANGE: The `datacenter_name` variable has been renamed to
`location_name` and now uses location names instead of datacenter names.

Users must update their configuration:
- Change variable from `datacenter_name` to `location_name`
- Update value format: "fsn1-dc14" → "fsn1", "nbg1-dc3" → "nbg1", etc.

Closes: #390
Document known issues when adding new nodes:
- Alias IP stale state due to empty alias_ips workaround
- Registry 403 errors from blocked Hetzner IP ranges
- Replace output_mode_config_cluster_endpoint with
kubeconfig_endpoint_mode + talosconfig_endpoints_mode
- Always write per-control-plane IPs into talosconfig
endpoints (no VIP/LB)
- Add HA checks for kubeconfig endpoint and Talos cluster_endpoint
- Update docs, migrations, and endpoint examples

BREAKING CHANGE: output_mode_config_cluster_endpoint is removed;
kubeconfig and talosconfig endpoints are configured separately
and HA-unsafe combinations are now rejected.
Removes the hardcoded default of "1.30.3" and makes kubernetes_version
a required variable. This forces users to explicitly choose a compatible
Kubernetes version for their Talos version, preventing issues with
outdated defaults.

Closes: #349

BREAKING CHANGE: kubernetes_version must now be explicitly set.
Check the Talos support matrix for compatible versions:
https://docs.siderolabs.com/talos/latest/getting-started/support-matrix
Update all talos_version definitions across the codebase to v1.12.2.
- Update all kubernetes_version examples from 1.32.2 to 1.35.0
- Add compatibility check note with links to support matrices
- Add new versions to CI matrix

BREAKING CHANGE: Drop Terraform 1.8.x support
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant