Skip to content

Commit

Permalink
feat!: Update examples to use new addons module repo; remove module i…
Browse files Browse the repository at this point in the history
…mplementations (#1494)

Co-authored-by: Rodrigo Bersa <[email protected]>
Co-authored-by: Bryant Biggs <[email protected]>
Co-authored-by: Carlos Santana <[email protected]>
Co-authored-by: candonov <[email protected]>
Co-authored-by: Frank Carta <[email protected]>
Co-authored-by: Frank Carta <[email protected]>
Co-authored-by: Sébastien Allamand <[email protected]>
  • Loading branch information
8 people authored Jun 5, 2023
1 parent 79a797e commit 19c7cfd
Show file tree
Hide file tree
Showing 718 changed files with 2,392 additions and 65,370 deletions.
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.

Loading

0 comments on commit 19c7cfd

Please sign in to comment.