Skip to content

akeyless-community/akeyless-k8s-auth-terraform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Akeyless K8s Auth Setup through Terraform

This is a Terraform configuration for setting up a Kubernetes cluster to authenticate with Akeyless using the Akeyless K8s Auth method.

Prerequisites

  • An Akeyless account and a token with Access Permissions to the Akeyless Gateway API
  • A kubectl configured to the target Kubernetes cluster with permissions to create namespaces, service accounts, cluster role bindings, and secrets

Usage

This is designed to be run from a pipeline or computer that has access to the Akeyless Gateway API and the Kubernetes cluster.

Setup the Environment Variables

# Retrieve the Akeyless token from the Akeyless Web Console
export TF_VAR_akeyless_token=""

# Set the Gateway Address
export TF_VAR_gateway_address=https://your-gateway-address:8000/api/v2

# Set the Kubernetes Host Endpoint
export TF_VAR_k8s_host_endpoint=$(kubectl config view --flatten --minify --output=go-template='{{(index .clusters 0).cluster.server}}')

# Set the Kubernetes Cluster Name
export TF_VAR_k8s_cluster_name=$(kubectl config current-context)

Terraform Variables

The following variables can be configured either through environment variables (TF_VAR_*) or in a terraform.tfvars file:

Variable Name Description Default Value Required
akeyless_token Akeyless token (sensitive) - Yes
gateway_address Akeyless Gateway API Address (https://gateway-address:8000/api/v2) - Yes
k8s_host_endpoint The host endpoint for the kubernetes config - Yes
k8s_cluster_name The name of the kubernetes cluster - Yes
k8s_kube_config_path The path to the kubernetes config ~/.kube/config No
k8s_auth_account_name The name of the kubernetes auth service account and role binding "gateway-token-reviewer" No
akeyless_k8s_auth_namespace Akeyless k8s auth namespace "akeyless-auth" No

Initialize the Terraform Configuration

terraform init

Apply the Terraform Configuration

terraform apply

Destroy the Terraform Configuration

terraform destroy

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages