From ddc3c65d3b17b75982a9cdc459c452327710b2a1 Mon Sep 17 00:00:00 2001 From: Elamaran Shanmugam Date: Tue, 23 Apr 2024 21:04:04 -0400 Subject: [PATCH 1/5] Introducing Dev Containers to Framework --- .devcontainer/devcontainer.json | 19 +++++++++++++++++++ .devcontainer/postCreateCommand.sh | 21 +++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 .devcontainer/devcontainer.json create mode 100755 .devcontainer/postCreateCommand.sh diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..c2f37d1e --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,19 @@ +{ + "image": "mcr.microsoft.com/vscode/devcontainers/base:ubuntu", + "features": { + "ghcr.io/devcontainers/features/node:1": {}, + "ghcr.io/devcontainers/features/aws-cli:1": {}, + "ghcr.io/devcontainers-contrib/features/aws-cdk:2": { + "version": "2.133.0" + } + }, + "postCreateCommand": ".devcontainer/postCreateCommand.sh", + "workspaceFolder": "/home/vscode/cdk-eks-blueprints", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/vscode/cdk-eks-blueprints,type=bind", + "hostRequirements": { + "cpus": 2 + }, + "remoteEnv": { + "PATH": "${containerEnv:PATH}:/home/vscode/cdk-eks-blueprints" + } +} \ No newline at end of file diff --git a/.devcontainer/postCreateCommand.sh b/.devcontainer/postCreateCommand.sh new file mode 100755 index 00000000..8e4d73db --- /dev/null +++ b/.devcontainer/postCreateCommand.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +# For Kubectl AMD64 / x86_64 +[ $(uname -m) = x86_64 ] && curl -sLO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" +# For Kubectl ARM64 +[ $(uname -m) = aarch64 ] && curl -sLO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl" +chmod +x ./kubectl +sudo mv ./kubectl /usr/local/bin/kubectl + +# For Helm +curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 +chmod 700 get_helm.sh +echo "Installing 'helm' utility ..." +./get_helm.sh +rm -rf get_helm.sh + +# setup autocomplete for kubectl and alias k +mkdir $HOME/.kube +echo "source <(kubectl completion bash)" >> $HOME/.bashrc +echo "alias k=kubectl" >> $HOME/.bashrc +echo "complete -F __start_kubectl k" >> $HOME/.bashrc From 0fb4bf53224c20f05d81d10a0101ef79cf3c2ead Mon Sep 17 00:00:00 2001 From: Elamaran Shanmugam Date: Wed, 24 Apr 2024 15:53:34 -0400 Subject: [PATCH 2/5] Introducing Dev Containers to Framework --- README.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a5194606..7d7306b6 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,14 @@ The individual patterns can be found in the [`lib`](https://github.com/aws-obser Before proceeding, make sure [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) is installed on your machine. -To use the eks-blueprints and patterns module, you must have [Node.js](https://nodejs.org/en/) and [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) installed. You will also use `make` and `brew` to simplify build and other common actions. +To use this solution, you must have [Node.js](https://nodejs.org/en/) and [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) installed. You will also use `make` and `brew` to simplify build and other common actions. + + +## Workstation Setup Options + +### DevContainer Setup + +Users can choose this option, if you dont want to run this solution on a mac or ubuntu machine. Please use the dev container configuration in the `.devcontainer` folder with [devpod](devpod.sh) or any other dev container environment to creat an environment with dependencies such as Node, NPM, aws-cli, aws-cdk, kubectl, helm dependencies for your local development with `cdk-aws-observability` accelerator repo. ### Ubuntu Setup @@ -155,7 +162,7 @@ $ npm -v Updating npm: `sudo n stable` where stable can also be a specific version above 10.1. May require `sudo`. -### Repo setup +## Repo setup 1. Clone the `cdk-aws-observability-accelerator` repository From 413420a4b9708bffd473d07e51ff243fea215c67 Mon Sep 17 00:00:00 2001 From: Elamaran Shanmugam Date: Wed, 24 Apr 2024 15:54:22 -0400 Subject: [PATCH 3/5] Introducing Dev Containers to Framework --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 7d7306b6..369eff41 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,6 @@ Before proceeding, make sure [AWS CLI](https://docs.aws.amazon.com/cli/latest/us To use this solution, you must have [Node.js](https://nodejs.org/en/) and [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) installed. You will also use `make` and `brew` to simplify build and other common actions. - ## Workstation Setup Options ### DevContainer Setup From 891de7cecf193da4c3a750c7358e0d8e6160de77 Mon Sep 17 00:00:00 2001 From: Elamaran Shanmugam Date: Wed, 24 Apr 2024 15:55:29 -0400 Subject: [PATCH 4/5] Introducing Dev Containers to Framework --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 369eff41..b30c81bc 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ To use this solution, you must have [Node.js](https://nodejs.org/en/) and [npm]( ### DevContainer Setup -Users can choose this option, if you dont want to run this solution on a mac or ubuntu machine. Please use the dev container configuration in the `.devcontainer` folder with [devpod](devpod.sh) or any other dev container environment to creat an environment with dependencies such as Node, NPM, aws-cli, aws-cdk, kubectl, helm dependencies for your local development with `cdk-aws-observability` accelerator repo. +Users can choose this option, if you dont want to run this solution on a mac or ubuntu machine. Please use the dev container configuration in the `.devcontainer` folder with [devpod](devpod.sh) or any other dev container environment to create a development environment with dependencies such as Node, NPM, aws-cli, aws-cdk, kubectl, helm dependencies for your local development with `cdk-aws-observability-accelerator` solution. ### Ubuntu Setup From 545dade3cd60575d1db291d13f850b0a6620f2a3 Mon Sep 17 00:00:00 2001 From: Elamaran Shanmugam Date: Wed, 24 Apr 2024 16:56:27 -0400 Subject: [PATCH 5/5] Introducing Dev Containers to Framework --- .devcontainer/devcontainer.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index c2f37d1e..7f3fd3f7 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -8,12 +8,12 @@ } }, "postCreateCommand": ".devcontainer/postCreateCommand.sh", - "workspaceFolder": "/home/vscode/cdk-eks-blueprints", - "workspaceMount": "source=${localWorkspaceFolder},target=/home/vscode/cdk-eks-blueprints,type=bind", + "workspaceFolder": "/home/vscode/cdk-aws-observability-accelerator", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/vscode/cdk-aws-observability-accelerator,type=bind", "hostRequirements": { "cpus": 2 }, "remoteEnv": { - "PATH": "${containerEnv:PATH}:/home/vscode/cdk-eks-blueprints" + "PATH": "${containerEnv:PATH}:/home/vscode/cdk-aws-observability-accelerator" } } \ No newline at end of file