Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: Update examples to use new addons module repo; remove module implementations #1494

Merged
merged 36 commits into from
Jun 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
1b44530
refactor: Update examples to use new addons module repo
askulkarni2 Mar 14, 2023
41bc6dd
update providers to use aws cli
askulkarni2 Mar 14, 2023
f68e76f
new line
askulkarni2 Mar 14, 2023
184af4d
Merge branch 'main' into refactor/addons-module
askulkarni2 Mar 17, 2023
afd61b3
updates for latest changes
askulkarni2 Mar 17, 2023
2e2cabc
add prefix for role_names
askulkarni2 Mar 17, 2023
54f5aa7
remove kubecost from example
askulkarni2 Mar 17, 2023
51cbca6
fix error
askulkarni2 Mar 17, 2023
ea410e0
add prefix for role_names
askulkarni2 Mar 18, 2023
11434a3
fix precommit errors
askulkarni2 Mar 18, 2023
7cba485
updates to blue-green example
askulkarni2 Mar 20, 2023
9e739fe
Merge branch 'main' into refactor/addons-module
askulkarni2 Mar 20, 2023
706a178
remove route53 hosted zone
askulkarni2 Mar 20, 2023
27225f3
fix pre-commit errors
askulkarni2 Mar 20, 2023
8d68a77
Merge branch 'main' into refactor/addons-module
askulkarni2 Mar 22, 2023
cb60dfc
Fixing `oidc_provider` argunment on `examples` directory.
rodrigobersa Mar 23, 2023
cc73369
fix pre-commit errors
askulkarni2 Mar 23, 2023
07ec0d6
Adjusting `enable_efs_csi_driver` parameter on `examples/stateful`.
rodrigobersa Mar 25, 2023
4e7cf5d
Merge branch 'main' of github.com:aws-ia/terraform-aws-eks-blueprints…
bryantbiggs May 1, 2023
c9d5bfb
chore: Validate `karpenter` addon using the updated `karpenter` examp…
bryantbiggs May 3, 2023
af85d0a
chore: Validate velero, efs, and stateful example (#1580)
csantanapr May 4, 2023
382d03b
feat: Update ipv4-prefix-delegation example (#1582)
csantanapr May 4, 2023
5dac153
refactor: Refactor examples for `fully-private-cluster`, `tls-with-a…
rodrigobersa May 17, 2023
6152daa
fix(chore): Argo example update (#1604)
candonov May 17, 2023
10ee0fd
feat: Test ipv6 example (#1584)
csantanapr May 22, 2023
352bfc7
feat: Update v5 docs for gatekeeper, vpa, nginx (#1613)
csantanapr May 24, 2023
1be5f74
feat: Update aws-cloudwatch-metrics module (#1615)
csantanapr May 25, 2023
287283b
refactor: Removing amp-amg-opensearch example until it is improved (#…
fcarta29 May 25, 2023
b300135
chore: Replace localy copy of addons module with published version (#…
bryantbiggs May 25, 2023
870cefc
fix: Update wireguard-with-cilium example (#1619)
csantanapr May 27, 2023
e6b199f
chore: Remove docs that are no longer hosted in this project; update …
bryantbiggs Jun 2, 2023
7912a7b
fix: Correct merge conflicts for blue/green upgrade example
bryantbiggs Jun 2, 2023
7aea509
fix: Update blue/green example docs (#1625)
allamand Jun 2, 2023
8409386
refactor: Refactor AppMesh-mTLS example. (#1627)
rodrigobersa Jun 3, 2023
f6d7063
fix: Remove Terraform module code from project (#1628)
bryantbiggs Jun 3, 2023
f365bf9
feat: Map blueprint readmes into doc generation site (#1629)
bryantbiggs Jun 3, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
File renamed without changes.
12 changes: 8 additions & 4 deletions .github/workflows/publish-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@ on:
branches:
- main
paths:
- "docs/**"
- "mkdocs.yml"

- 'docs/**'
- mkdocs.yml
- README.md
- '.github/workflows/publish-docs.yml'
release:
types:
- published
Expand All @@ -32,7 +33,10 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install mike==1.1.2 mkdocs-material==8.3.2 mkdocs-awesome-pages-plugin==2.7.0 mkdocs-include-markdown-plugin==3.5.2
pip install mike==1.1.2 \
mkdocs-material==9.1.4 \
mkdocs-include-markdown-plugin==4.0.4 \
mkdocs-awesome-pages-plugin==2.9.1

- name: git config
run: |
Expand Down
12 changes: 6 additions & 6 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ repos:
- id: detect-aws-credentials
args: ['--allow-missing-credentials']
- repo: https://github.com/antonbabenko/pre-commit-terraform
rev: v1.78.0
rev: v1.80.0
hooks:
- id: terraform_fmt
- id: terraform_docs
Expand All @@ -33,8 +33,8 @@ repos:
- '--args=--only=terraform_workspace_remote'
- id: terraform_validate
exclude: deploy
- id: terraform_tfsec
files: ^examples/ # only scan `examples/*` which are the implementation
args:
- --args=--config-file=__GIT_WORKING_DIR__/tfsec.yaml
- --args=--concise-output
# - id: terraform_tfsec
# files: ^examples/ # only scan `examples/*` which are the implementation
# args:
# - --args=--config-file=__GIT_WORKING_DIR__/tfsec.yaml
# - --args=--concise-output
41 changes: 24 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,44 @@
# Amazon EKS Blueprints for Terraform

[![plan-examples](https://github.com/aws-ia/terraform-aws-eks-blueprints/actions/workflows/plan-examples.yml/badge.svg)](https://github.com/aws-ia/terraform-aws-eks-blueprints/actions/workflows/plan-examples.yml)
[![pre-commit](https://github.com/aws-ia/terraform-aws-eks-blueprints/actions/workflows/pre-commit.yml/badge.svg)](https://github.com/aws-ia/terraform-aws-eks-blueprints/actions/workflows/pre-commit.yml)
Welcome to Amazon EKS Blueprints for Terraform!

---
This project contains a collection of Amazon EKS cluster patterns implemented in Terraform that demonstrate how fast and easy it is for customers to adopt [Amazon EKS](https://aws.amazon.com/eks/). The patterns can be used by AWS customers, partners, and internal AWS teams to configure and manage complete EKS clusters that are fully bootstrapped with the operational software that is needed to deploy and operate workloads.

## :bangbang: Notice of Potential Breaking Changes in Version 5 :bangbang:
## Motivation

The direction for EKS Blueprints in v5 will shift from providing an all-encompassing, monolithic "framework" and instead focus more on how users can organize a set of modular components to create the desired solution on Amazon EKS.
Kubernetes is a powerful and extensible container orchestration technology that allows you to deploy and manage containerized applications at scale. The extensible nature of Kubernetes also allows you to use a wide range of popular open-source tools, commonly referred to as add-ons, in Kubernetes clusters. With such a large number of tooling and design choices available however, building a tailored EKS cluster that meets your application’s specific needs can take a significant amount of time. It involves integrating a wide range of open-source tools and AWS services and requires deep expertise in AWS and Kubernetes.

The issue below was created to provide community notice and to help track progress, learn what's new and how the migration path would look like to upgrade your current Terraform deployments.
AWS customers have asked for examples that demonstrate how to integrate the landscape of Kubernetes tools and make it easy for them to provision complete, opinionated EKS clusters that meet specific application requirements. Customers can use EKS Blueprints to configure and deploy purpose built EKS clusters, and start onboarding workloads in days, rather than months.

We welcome the EKS Blueprints community to continue the discussion in issue https://github.com/aws-ia/terraform-aws-eks-blueprints/issues/1421
## Core Concepts

---
This document provides a high level overview of the Core Concepts that are embedded in EKS Blueprints. For the purposes of this document, we will assume the reader is familiar with Git, Docker, Kubernetes and AWS.

Welcome to Amazon EKS Blueprints for Terraform!
| Concept | Description |
| --------------------------- | --------------------------------------------------------------------------------------------- |
| [Cluster](#cluster) | An Amazon EKS Cluster and associated worker groups. |
| [Add-on](#add-on) | Operational software that provides key functionality to support your Kubernetes applications. |
| [Team](#team) | A logical grouping of IAM identities that have access to Kubernetes resources. |

This project contains a collection of Amazon EKS cluster patterns implemented in Terraform that demonstrate how fast and easy it is for customers to adopt [Amazon EKS](https://aws.amazon.com/eks/). The patterns can be used by AWS customers, partners, and internal AWS teams to configure and manage complete EKS clusters that are fully bootstrapped with the operational software that is needed to deploy and operate workloads.
### Cluster

## Getting Started
A `cluster` is simply an EKS cluster. EKS Blueprints provides for customizing the compute options you leverage with your `clusters`. The framework currently supports `EC2`, `Fargate` and `BottleRocket` instances. It also supports managed and self-managed node groups.

The easiest way to get started with EKS Blueprints is to follow our [Getting Started guide](https://aws-ia.github.io/terraform-aws-eks-blueprints/latest/getting-started/).
We rely on [`terraform-aws-modules/eks/aws`](https://registry.terraform.io/modules/terraform-aws-modules/eks/aws/latest) to configure `clusters`. See our [examples](getting-started.md) to see how `terraform-aws-modules/eks/aws` is configured for EKS Blueprints.

## Examples
### Add-on

To view examples for how you can leverage EKS Blueprints, please see the [examples](https://github.com/aws-ia/terraform-aws-eks-blueprints/tree/main/examples) directory.
`Add-ons` allow you to configure the operational tools that you would like to deploy into your EKS cluster. When you configure `add-ons` for a `cluster`, the `add-ons` will be provisioned at deploy time by leveraging the Terraform Helm provider. Add-ons can deploy both Kubernetes specific resources and AWS resources needed to support add-on functionality.

## Motivation
For example, the `metrics-server` add-on only deploys the Kubernetes manifests that are needed to run the Kubernetes Metrics Server. By contrast, the `aws-load-balancer-controller` add-on deploys both Kubernetes YAML, in addition to creating resources via AWS APIs that are needed to support the AWS Load Balancer Controller functionality.

Kubernetes is a powerful and extensible container orchestration technology that allows you to deploy and manage containerized applications at scale. The extensible nature of Kubernetes also allows you to use a wide range of popular open-source tools, commonly referred to as add-ons, in Kubernetes clusters. With such a large number of tooling and design choices available however, building a tailored EKS cluster that meets your application’s specific needs can take a significant amount of time. It involves integrating a wide range of open-source tools and AWS services and requires deep expertise in AWS and Kubernetes.
EKS Blueprints allows you to manage your add-ons directly via Terraform (by leveraging the Terraform Helm provider) or via GitOps with ArgoCD. See our [`Add-ons`](https://aws-ia.github.io/terraform-aws-eks-blueprints-addons/main/) documentation page for detailed information.

AWS customers have asked for examples that demonstrate how to integrate the landscape of Kubernetes tools and make it easy for them to provision complete, opinionated EKS clusters that meet specific application requirements. Customers can use EKS Blueprints to configure and deploy purpose built EKS clusters, and start onboarding workloads in days, rather than months.
### Team

`Teams` allow you to configure the logical grouping of users that have access to your EKS clusters, in addition to the access permissions they are granted.

See our [`Teams`](https://github.com/aws-ia/terraform-aws-eks-blueprints-teams) documentation page for detailed information.

## Support & Feedback

Expand Down
34 changes: 0 additions & 34 deletions aws-auth-configmap.tf

This file was deleted.

137 changes: 0 additions & 137 deletions data.tf

This file was deleted.

14 changes: 4 additions & 10 deletions docs/.pages
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
nav:
- Overview: index.md
- Getting Started: getting-started.md
- Core Concepts: core-concepts.md
- IAM: iam
- Teams: teams.md
- Modules: modules
- Add-ons: add-ons
- Advanced: advanced
- Extensibility: extensibility.md
- ...
- Overview: index.md
- Getting Started: getting-started.md
- Blueprints: blueprints
- IAM: iam
3 changes: 0 additions & 3 deletions docs/add-ons/.pages

This file was deleted.

45 changes: 0 additions & 45 deletions docs/add-ons/agones.md

This file was deleted.