brotandgames / terraform-hcloud-rke Goto Github PK
View Code? Open in Web Editor NEWTerraform Module to deploy a Kubernetes Cluster using RKE Provider in Hetzner Cloud
Terraform Module to deploy a Kubernetes Cluster using RKE Provider in Hetzner Cloud
Is your feature request related to a problem? Please describe.
Currently the options to pass to nodes being built are limited to the role. There are many more options that are interesting/useful to be able to pass
Describe the solution you'd like
Expand the nodes map to include:
hostname_override: maps to nodes.value.name (so that hostnames are present in Kubernetes, not node IPs)
labels: maps to new value nodes.value.labels, defaults to empty, so additional labels (for instance for scheduling) can be added
taints: maps to new value nodes.value.taints, defaults to empty, so taints (for instance for scheduling) can be added
Describe alternatives you've considered
Adding the labels/taints after creation using terraform, but the kubernetes provider doesnt support managing node objects
Is your feature request related to a problem? Please describe.
Currently the module deploys a standard hcloud_server, with many features at default. This makes it not so trivial to influence, say, backup of a node
Describe the solution you'd like
Expose the following features of hcloud_server (similar to #6 in baby steps)
location - (Optional, string) The location name to create the server in. nbg1, fsn1 or hel1
datacenter - (Optional, string) The datacenter name to create the server in.
labels - (Optional, map) User-defined labels (key-value pairs) should be created with.
backups - (Optional, boolean) Enable or disable backups.
Describe alternatives you've considered
See #6 :-)
Is your feature request related to a problem? Please describe.
Many options to rke_cluster are currently not passed to the module, resulting in a limited feature set of this module, currently limiting the use.
Describe the solution you'd like
Add the following arguments (maybe in baby steps ;-) )
authentication - (Optional/Computed) RKE k8s cluster authentication configuration (list maxitems:1)
authorization - (Optional/Computed) RKE k8s cluster authorization mode configuration (list maxitems:1)
bastion_host - (Optional) RKE k8s cluster bastion Host configuration (list maxitems:1)
cert_dir - (Optional) Specify a certificate dir path (string)
custom_certs - (Optional) Use custom certificates from a cert dir (string)
dns - (Optional/Computed) RKE k8s cluster DNS Config (list maxitems:1)
kubernetes_version - (Optional) K8s version to deploy. If kubernetes image is specified, image version takes precedence. Default: rke default (string)
monitoring - (Optional/Computed) RKE k8s cluster monitoring Config (list maxitems:1)
network - (Optional/Computed) RKE k8s cluster network configuration (list maxitems:1)
private_registries - (Optional) RKE k8s cluster private docker registries (list)
services - (Optional/Computed) RKE k8s cluster services (list maxitems:1)
system_images - (Optional) RKE k8s cluster system images list (list maxitems:1)
update_only - (Optional) Skip idempotent deployment of control and etcd plane. Default false (bool)
upgrade_strategy - (Optional/Computed) RKE k8s cluster upgrade strategy (list maxitems:1)
Describe alternatives you've considered
Management of the rke cluster after terraform deployed it, however resource definitions are done inside modules and cannot be infuenced outside the module
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.