# Requirements

- AWS account with the IAM permissions listed on the [EKS module Documentations](https://github.com/terraform-aws-modules/terraform-aws-eks/blob/master/docs/iam-permissions.md)
- a configured AWS CLI
- AWS IAM Authenticator
- `eksctl`
- `kubectl`
- `wget`

### Install & configure the AWS CLI

To install the AWS CLI, follow these instructions or choose a package manager based on your operating system.

- MacOS
- Linux
- Windows

Use the package manager [homebrew](https://formulae.brew.sh/) to install the AWS CLI:

```bash
brew install awscli
```

After you've installed the AWS CLI, configure it by running `aws configure`.

When prompted, enter your AWS Access Key ID, Secret Access Key, region and output format.

```bash
$ aws configure

AWS Access Key ID [None]: YOUR_AWS_ACCESS_KEY_ID

AWS Secret Access Key [None]: YOUR_AWS_SECRET_ACCESS_KEY

Default region name [None]: YOUR_AWS_REGION

Default output format [None]: json
```

If you don't have AWS Access Credentials, create your AWS Access Key ID and Secret Access Key by navigating to your [service credentials](https://console.aws.amazon.com/iam/home?#/security_credentials) in the IAM service on AWS. Click "Create access key" here and download the file. This file contains your access credentials.

Your default region can be found in the AWS Web Management Console beside your username. Select the region drop down to find the region name (eg. us-east-1) corresponding with your location.

### Install `eksctl`

Use the package manager [homebrew](https://formulae.brew.sh/) to install the eksctl CLI:

```bash
brew tap weaveworks/tap

brew update

brew install weaveworks/tap/eksctl
```

Test that your installation was successful with the following command.

```bash
eksctl version
```

### Install AWS IAM Authenticator

To install the AWS IAM Authenticator, [follow these instructions](https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html) or choose a package manager based on your operating system.

Use the package manager [homebrew](https://formulae.brew.sh/) to install the IAM Authenticator:

```bash
brew install aws-iam-authenticator
```

### Install `kubectl`

To install `kubectl` (Kubernetes CLI), follow [these instructions](https://kubernetes.io/docs/tasks/tools/install-kubectl/) or choose a package manager based on your operating system.

Use the package manager [homebrew](https://formulae.brew.sh/) to install `kubectl`:

```bash
brew install kubernetes-cli
```

### Install `wget`

To install the wget, follow [these instructions](https://www.gnu.org/software/wget/) or choose a package manager based on your operating system.

Use the package manager [homebrew](https://formulae.brew.sh/) to install the wget:

```bash
brew install wget
```
