There are a few, important pregame steps:
- [homebrew]
- [awscli]
- macOS:
brew install awscli
- macOS:
- Ubuntu:
sudo apt-get update && sudo apt-get install awscli
/* | |
AuthN Configuration for EKS | |
This config solves the issue of pre-configuring cluster credentials before the cluster is built. | |
*/ | |
### Discover the Cluster Token for AuthN | |
data "aws_eks_cluster_auth" "cluster_auth" { | |
name = module.eks.cluster_name | |
} |
apiVersion: apps/v1beta1 | |
kind: Deployment | |
metadata: | |
labels: | |
name: 12F-app | |
name: 12F-app | |
namespace: 12F-app-ns | |
spec: | |
replicas: 3 | |
template: |
# If EXISTING install start here | |
# Dump the current Terraform binary | |
brew unlink terraform | |
brew uninstall terraform | |
# If NEW install start here | |
# Install tfenv | |
brew install tfenv | |
--- |
2023-11-12T19:15:43.027-0800 [INFO] Terraform version: 1.6.3 | |
2023-11-12T19:15:43.027-0800 [DEBUG] using github.com/hashicorp/go-tfe v1.36.0 | |
2023-11-12T19:15:43.027-0800 [DEBUG] using github.com/hashicorp/hcl/v2 v2.19.1 | |
2023-11-12T19:15:43.027-0800 [DEBUG] using github.com/hashicorp/terraform-svchost v0.1.1 | |
2023-11-12T19:15:43.027-0800 [DEBUG] using github.com/zclconf/go-cty v1.14.1 | |
2023-11-12T19:15:43.027-0800 [INFO] Go runtime version: go1.21.3 | |
2023-11-12T19:15:43.027-0800 [INFO] CLI args: []string{"/opt/homebrew/Cellar/tfenv/3.0.0/versions/1.6.3/terraform", "fmt", "-recursive=true"} | |
2023-11-12T19:15:43.027-0800 [DEBUG] Attempting to open CLI config file: /Users/thomas/.terraformrc | |
2023-11-12T19:15:43.027-0800 [DEBUG] File doesn't exist, but doesn't need to. Ignoring. | |
2023-11-12T19:15:43.028-0800 [DEBUG] checking for credentials in "/Users/thomas/.terraform.d/plugins" |
# This is an initContainer: | |
# REF: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ | |
# It is configured in a pod like any other container, except that it is | |
# specified inside its own "initContainers" section. | |
apiVersion: v1 | |
kind: Pod | |
metadata: | |
name: myapp-pod | |
labels: | |
app: myapp |
{} |
# Homebrew | |
brew install --cask google-cloud-sdk |
# Vault Helm Chart Value Overrides | |
global: | |
enabled: true | |
tlsDisable: false | |
#injector: | |
# enabled: true | |
# # Use the Enterprise Image | |
# image: | |
# repository: "hashicorp/vault-enterprise" |
First, install some required programs:
brew install --cask keybase
keybase
running during the Terraform install