Skip to content

Collection of Terraform modules to configure and manage Kubernetes clusters on Equinix Metal servers

License

Notifications You must be signed in to change notification settings

skeerthivasan/terraform-equinix-kubernetes-addons

 
 

Repository files navigation

Terraform Equinix Kubernetes Addons

Experimental terraform

Experimental This project is experimental and a work in progress. The support is provided best-effort by the Kubernetes Addons community.

This repository contains a collection of Terraform modules (addons) to help automate the deploy and management of Kubernetes components in Kubernetes environments running on Equinix Metal baremetal.

Usage

This project is intended to be used as a Terraform module.

This project may also be forked, cloned, or downloaded and modified as needed as the base in your integrations and deployments.

Prerequisites

Steps

Checkout examples directory within any of the available modules to define required files and installation steps.

Examples

Each module includes an examples directory with configuration examples specific to them.

As this project grows and more modules become available, an examples directory will be included in the root directory, with blueprints to provision complete solutions.

Requirements

Name Version
terraform >= 1.0.0
equinix >= 1.11.1
helm >= 2.8.0

Providers

No providers.

Modules

Name Source Version
cloud_provider_equinix_metal ./modules/cloud_provider_equinix_metal n/a
longhorn ./modules/longhorn n/a
metallb ./modules/metallb n/a
rook ./modules/rook n/a

Resources

No resources.

Inputs

Name Description Type Default Required
equinix_metro Equinix metro code string n/a yes
equinix_project Equinix project string n/a yes
kubeconfig_local_path Depending on your setup, you may need to specify the path to the kubeconfig file locally string n/a yes
kubeconfig_remote_path Depending on your setup, you may need to specify the path to the kubeconfig file hosted on the remote server string n/a yes
ssh_host The address of the server from where to perform kubectl installations and changes string n/a yes
ssh_private_key The contents of an SSH key to use for the connection. These can be loaded from a file on disk using the file function string n/a yes
cloud_provider_equinix_metal_config Configuration for cloudproviderequinixmetal add-on any {} no
enable_cloud_provider_equinix_metal Enable cloudproviderequinixmetal add-on bool false no
enable_longhorn Enable Longhorn add-on bool false no
enable_metallb Enable Metallb add-on bool false no
enable_rook Enable Rook add-on bool false no
longhorn_config Configuration for Longhorn add-on any null no
metallb_config Configuration for Metallb add-on any {} no
rook_config Configuration for Rook add-on any null no
ssh_user The user to use for the connection string "root" no
tags Additional tags (e.g. ['k8s,production] list(string) [] no

Outputs

Name Description
cloud_provider_equinix_metal Cloud Provider Equinix Metal add-on outputs
cloud_provider_equinix_metal_prerequisites Cloud Provider Equinix Metal add-on prerequisites for device provisioning
metallb MetaLB addon outputs

Adding a new Addon

If you are interested in adding new addons, please see CONTRIBUTING A NEW ADDON section for more information and tools available.

About

Collection of Terraform modules to configure and manage Kubernetes clusters on Equinix Metal servers

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HCL 69.0%
  • Shell 15.9%
  • Smarty 15.1%