Introduced conditional logic for enabling an alias IP for the control plane, improving network configuration flexibility. This change includes the addition of a new variable `enable_alias_ip` and updates to network and server configurations to conditionally assign the alias IP.
Signed-off-by: Marcel Richter <mail@mrclrchtr.de>
Introduced variables for network, node, pod, and service IPv4 CIDRs in `variables.tf` to allow dynamic network configuration.
Signed-off-by: Marcel Richter <mail@mrclrchtr.de>
Updated the README to include a warning about active development and compatibility issues, along with instructions for setting `cluster_api_host`. Improved the Terraform usage example with the latest version and additional parameters. Also, added a section on known issues regarding IPv6 and `enable_kube_span`.
Refactored the `cluster_api_host` variable description in `variables.tf` to include DNS setup instructions.
Signed-off-by: Marcel Richter <mail@mrclrchtr.de>
Enabled Prometheus metrics in Cilium configuration to prepare for kube-prometheus-stack integration. Updated README to reflect these changes.
Signed-off-by: Marcel Richter <mail@mrclrchtr.de>
Added `bind-address` config for Kubernetes scheduler in the Talos control plane patch file to be able to monitor with prometheus.
Signed-off-by: Marcel Richter <mail@mrclrchtr.de>
Created `_packer/schematic.yaml` for defining image customization and `_packer/README.md` to guide on adding extensions to Talos images using the image factory.
Signed-off-by: Marcel Richter <mail@mrclrchtr.de>
Changed "rotate-server-certificates" from string to boolean in talos_patch_control_plane.tf. This ensures proper parsing by Terraform.
Signed-off-by: Marcel Richter <mail@mrclrchtr.de>
Introduced a new variable `cluster_api_host` to allow custom cluster API host configuration. Updated references to use the new variable or default to `local_api_host` if not set.
Adjusted resource and data configurations to ensure at least one instance is created, even when count is set to 0. This change includes updates to control plane and worker machine configurations, primary IP assignments, and private IPv4 lists.
This adjustment is crucial for maintaining debuggability and consistent infrastructure provisioning.
Introduced a conditional check to enable or disable the assignment of a floating IP to control planes based on the `create_floating_ip` local variable.
Made the cluster domain configurable by introducing a new variable `cluster_domain` and updating references in Terraform configuration files. This change allows for dynamic domain naming, enhancing flexibility for different deployment scenarios.
The icon's source URL in the README.md was updated to an absolute URL to ensure it is accessible regardless of where the README is viewed, e.g. Terraform Registry.
IPv4/IPv6 dual-stack is actually not supported, it keeps being an IPv4 single stack. PRs welcome!
Added the `enable_ipv6` variable to conditionally enable IPv6 addresses for servers. This update allows users to specify whether their infrastructure should support IPv6, making the setup more flexible for different network requirements. Additionally, updated resources and configurations to respect the `enable_ipv6` flag, including adjustments to server and network configurations to properly handle IPv6 addresses and subnets when enabled. This change enhances network configuration options, enabling users to opt for IPv6 support based on their specific needs or restrictions.
The update includes:
- A new variable `enable_ipv6` to toggle IPv6 support.
- Conditional logic in Terraform configurations to apply IPv6 settings.
- Adjustments to server provisioning scripts to enable or disable IPv6 based on the new variable.
This enhancement simplifies network configuration management in environments where IPv6 support is either required or needs to be explicitly disabled, providing greater flexibility in how infrastructure is deployed.
Introduced a CONTRIBUTING.md file to the repository, outlining the
conventional commit types, scopes, and footer types. This addition will
help contributors to understand and adhere to the project's commit
convention, ensuring a cleaner and more manageable git history.
This documentation serves as a reference for contributors to submit
well-structured commits, facilitating easier code review and
collaboration. It also aims to enhance the overall quality of the
project's codebase by encouraging precise and descriptive commit
messages.
This commit ignores the debug.tf file in the project's .gitignore,
preventing it from being tracked by Git. This is beneficial as debug.tf
files often contain sensitive information or are used for local testing
purposes only, which should not be included in version control.
This commit introduces a time delay for the cilium setup in both the `manifest_hcloud_ccm.tf` and `manifest_cilium.tf` files. This delay helps ensure the cilium network is properly settled down before proceeding with the rest of the setup.
This commit introduces the ability to assign a floating IP to the control plane nodes. This is controlled by the new `enable_floating_ip` variable. The floating IP is created and managed through the `hcloud_floating_ip` resource. The IP is assigned to the `eth0` interface if available.