AWS EKS OIDC#

The AWS EKS OIDC template provisions a complete multi-user JupyterLab platform on AWS: an EKS cluster, Jupyter K8s, and a browser access stack with HTTPS and GitHub OAuth. It is the jupyter-deploy equivalent of bringing your own cluster and installing the AWS OIDC guided chart yourself.

  • Provider: AWS (EKS)

  • Engine: Terraform

  • Access: OIDC web access — GitHub identities federated through Dex

It provisions an EKS cluster configured with OIDC access, installs the Jupyter K8s operator chart, and layers on the AWS OIDC guided chart for HTTPS ingress, GitHub OAuth, and browser access. The AWS EKS OIDC Template documentation is the source of truth for its architecture, prerequisites, and configuration.

Getting started#

The template requires an AWS account, a domain registered with Amazon Route 53, and a GitHub OAuth app. See the prerequisites for the details.

Create a Python environment for the jd CLI and the template. We recommend uv:

# prepare a virtual environment
uv init . --bare
uv venv
source .venv/bin/activate

# install jupyter-deploy and the AWS EKS OIDC template
uv add "jupyter-deploy[aws,k8s]" jupyter-deploy-tf-aws-eks-oidc

Or with pip:

pip install "jupyter-deploy[aws,k8s]" jupyter-deploy-tf-aws-eks-oidc

Then initialize, configure, and deploy a project:

mkdir my-eks-deployment && cd my-eks-deployment
jd init . -E terraform -P aws -I eks -T oidc
jd config
jd up

jd config walks you through the template’s variables and how to install any missing tools. Once the cluster is up, you create and manage workspaces as in any Jupyter K8s deployment. See Run Workspaces.

Learn more#