Skip to content

An opinionated Terraform module that can be used to install and manage Cilium on top of a Kubernetes cluster.

License

Notifications You must be signed in to change notification settings

isovalent/terraform-k8s-cilium

Repository files navigation

terraform-k8s-cilium

An opinionated Terraform module that can be used to install and manage Cilium on top of a Kubernetes cluster.

Requirements

Name Version
terraform >= 1.2.0
null >= 3.1.1

Providers

Name Version
null >= 3.1.1

Modules

No modules.

Resources

Name Type
null_resource.main resource

Inputs

Name Description Type Default Required
cilium_helm_chart The name of the Helm chart to use to install Cilium. It is assumed that the Helm repository containing this chart has been added beforehand (e.g. using 'helm repo add'). string "cilium/cilium" no
cilium_helm_extra_args Extra arguments to be passed to the 'helm upgrade --install' command that installs Cilium. string "" no
cilium_helm_release_name The name of the Helm release to use for Cilium. string "cilium" no
cilium_helm_values_file_path The path to the file containing the values to use when installing Cilium. string n/a yes
cilium_helm_values_override_file_path The path to the file containing the values to use when installing Cilium. These values will override the ones in 'cilium_helm_values_file_path'. string n/a yes
cilium_helm_version The version of the Cilium Helm chart to install. string n/a yes
cilium_namespace The namespace in which to install Cilium. string "kube-system" no
control_plane_nodes_label_selector The label selector used to filter control-plane nodes. string "node-role.kubernetes.io/control-plane" no
deploy_etcd_cluster Whether to deploy an 'etcd' cluster suitable for usage as the Cilium key-value store (HIGHLY EXPERIMENTAL). bool false no
disable_kube_proxy Whether to disable the kube proxy so the cluster uses kube-proxy replacement bool false no
extra_provisioner_environment_variables A map of extra environment variables to include when executing the provisioning script. map(string) {} no
install_kube_prometheus_servicemonitor_crd Whether to install the 'kube-prometheus' ServiceMonitor CRD. bool true no
ipsec_key The IPsec key to use for transparent encryption. Leave empty for none to be created (in which case encryption should be disabled in Helm as well). string "" no
kube_prometheus_crds_version Version of the 'kube-prometheus' ServiceMonitor CRD to install. string "v0.13.0" no
kube_proxy_namespace Whether to disable the kube proxy so the cluster uses kube-proxy replacement string "kube-system" no
path_to_kubeconfig_file The path to the kubeconfig file to use. string n/a yes
post_cilium_install_script A script to be run right after installing Cilium. string "" no
pre_cilium_install_script A script to be run right before installing Cilium. string "" no
total_control_plane_nodes The number of control-plane nodes expected in the cluster. number 3 no
wait_for_total_control_plane_nodes Whether to wait for the expected number of control-plane nodes to be registered before applying any changes. bool false no

Outputs

No outputs.

License

Copyright 2022 Isovalent, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

An opinionated Terraform module that can be used to install and manage Cilium on top of a Kubernetes cluster.

Resources

License

Stars

Watchers

Forks

Packages

No packages published