Using Private EKS API Endpoints with Self-Hosted Spacelift
Last updated: September 3, 2026
The Spacelift self-hosted EKS deployment module (terraform-aws-eks-spacelift-selfhosted) sets the EKS API endpoint to public access by default. However, you can configure it to use private-only endpoints to meet your security requirements.
Options for Private EKS API Endpoints
You have two main approaches to deploy Spacelift self-hosted with private EKS API endpoints:
1. Modify the Terraform Module
You can override the default public access setting in the module. The cluster_endpoint_public_access = true setting in eks.tf is not a hard requirement and can be changed to:
cluster_endpoint_public_access = falsecluster_endpoint_private_access = true
2. Bring Your Own (BYO) EKS Cluster
You can use a pre-deployed Kubernetes cluster in your environment that already has the private endpoint configuration you need. Spacelift provides a BYO EKS cluster example that demonstrates this approach.
You can find the BYO EKS cluster example in the official repository: terraform-aws-eks-spacelift-selfhosted
Flexible Resource Creation
The Spacelift self-hosted modules are designed with flexibility in mind. Many resources in the modules include create parameters that allow you to use existing infrastructure instead of creating new resources. This includes:
RDS instances
VPC
SQS queues
EKS clusters
This flexibility allows you to integrate Spacelift self-hosted into your existing infrastructure while maintaining your security policies and requirements.