From ba753644a40ee226b1a998a3543e24c63dd1fb83 Mon Sep 17 00:00:00 2001 From: w Date: Fri, 14 Jan 2022 20:52:53 -0800 Subject: [PATCH 1/3] doc --- README.md | 70 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 38 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 4c13e05..c2b1cef 100644 --- a/README.md +++ b/README.md @@ -1,62 +1,68 @@ ![TURN_KEY_DEVOPS_RAPID_TESTER](./docs/img/README_md_imgs/kubify-arch.drawio.png) -# Awesome !! - -Well hello there. Ready to Simulate AWS Cloud Locally?? +# Welcome +Well hello there! Welcome to Kubify. The Turn-Key DevOps OS Stack. -# By Why ? -Because Docker-Compose and Terraform are 2 different tools (so I fixed it). +# Awesome !! +Code faster than your Competition. -# Future State? +Fully Automated. First Class DevEx. Developers-First. Happy Devs. Fixes Spot. No more K8s pains. -Fork Terraform and build Docker-Compose, LocalStack & 🛹 Skater Hot Reloader into it. +You need your own environment, you need to test in real environment, you need to modify multiple services at the same time (without waiting for builds), you need to know your commit works before pushing it and you need the entire cloud on your laptop to do so.. -# What do I need? +# By Why ? + +Because Docker-Compose and Terraform are 2 different tools (so I fixed it). + +# Future State? + +Fork Terraform and build Docker-Compose, LocalStack & 🛹 Skater Hot Reloader into it. + + +# What do I need? + Mac, Linux, Windows or any Docker and AWS. - - -# Dependencies For Runtime? + +# Dependencies For Runtime? Just Docker (no admin rights required) !! - - + + # Setup Your AWS Cloud +1) Create kms key alias named like kubify_secrets_[env] +2) `./kubify deploy_cloud dev` + + -`./kubify deploy_cloud dev` - - # Summary, Install/Reset Workstation - - -`./kubify up` or `./kubify up_container` - - + + +A) To install/run on your OS directly: `./kubify up` + +or + +B) To install/run in a container: `./kubify up_container` + + ![FUTUREOFDEVOPS9000](./docs/img/README_md_imgs/the-future.gif) - - -# Hashtags, More Hashtags +# Hashtags, More Hashtags 💻💻💻💻💻💻💻💻💻💻💻💻 - #AUTOPILOTFORDEVOPS - #STAYINSPIRATIONAL - #FREESOFTWARE - #THEFUTURE - #DEVLOVE - #DEVEX - 💻💻 + +🛹 + -🛹 \ No newline at end of file From d2050987e8224ff5d0c6e2820d66a935d52f2f99 Mon Sep 17 00:00:00 2001 From: w Date: Fri, 14 Jan 2022 20:55:53 -0800 Subject: [PATCH 2/3] doc --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c2b1cef..222fb3e 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,12 @@ ![TURN_KEY_DEVOPS_RAPID_TESTER](./docs/img/README_md_imgs/kubify-arch.drawio.png) + # Welcome Well hello there! Welcome to Kubify. The Turn-Key DevOps OS Stack. +The world needs a fully Open Source and FREE DevOps Stack. Devs Approved. + # Awesome !! @@ -30,19 +33,19 @@ Mac, Linux, Windows or any Docker and AWS. # Dependencies For Runtime? + Just Docker (no admin rights required) !! # Setup Your AWS Cloud 1) Create kms key alias named like kubify_secrets_[env] + 2) `./kubify deploy_cloud dev` - # Summary, Install/Reset Workstation - A) To install/run on your OS directly: `./kubify up` or From d28948ca91cc2827b7daebc62f032f3000cc3521 Mon Sep 17 00:00:00 2001 From: Willy Guggenheim Date: Fri, 14 Jan 2022 21:46:32 -0800 Subject: [PATCH 3/3] doc --- README.md | 41 ++++++++++++++--- dev/svc/example-java-svc/kubify.yml | 2 + dev/svc/example-node-complex-svc/kubify.yml | 2 + dev/svc/zookeeper-svc/package.json | 2 +- .../tasks/main.yml | 3 +- src/kubify/tool/kubify | 45 ++++++------------- 6 files changed, 55 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 222fb3e..c2d8ab9 100644 --- a/README.md +++ b/README.md @@ -37,24 +37,51 @@ Mac, Linux, Windows or any Docker and AWS. Just Docker (no admin rights required) !! -# Setup Your AWS Cloud +# Start Cloud -1) Create kms key alias named like kubify_secrets_[env] +1) Create kms key(s) alias named like kubify_secrets_[env] (for each env) 2) `./kubify deploy_cloud dev` + +# Stop Cloud + +`./kubify delete_clouds_testing` -# Summary, Install/Reset Workstation + +# Start Debugging -A) To install/run on your OS directly: `./kubify up` +A) To install/run on your OS directly (brew): `./kubify up` or -B) To install/run in a container: `./kubify up_container` - +B) To install/run in a container (no admin rights): `./kubify up_container` + + +# Rapid Test + +``` +cd dev/svc/example-node-complex-svc +../../../kubify_verbose start +# open another terminal (because you need to work on another dependant service at the same time) +cd dev/svc/example-flask-svc +../../../kubify_verbose start +# make changes to both service's app folders (or any files/folders enabled in "sync" in kubify.yml) +``` + + +# Stop Debugging + +`./kubify down` + ![FUTUREOFDEVOPS9000](./docs/img/README_md_imgs/the-future.gif) - + +Your own REAL FULL environment (local & cloud). Entire AWS Cloud on Your Workstation!! + +Easy Cloud Env, Easy Patching, Easy Version Rollback and Quality Commits, FAST!! + +The Future, NOW. Developer's Dreams are Coming True Here.. # Hashtags, More Hashtags 💻💻💻💻💻💻💻💻💻💻💻💻 diff --git a/dev/svc/example-java-svc/kubify.yml b/dev/svc/example-java-svc/kubify.yml index c1911c4..9738965 100644 --- a/dev/svc/example-java-svc/kubify.yml +++ b/dev/svc/example-java-svc/kubify.yml @@ -5,6 +5,8 @@ metadata: name: example-java-svc init: | echo "run migrations for example-java-svc/app" +depends_on: + - zookeeper-svc dev: # "sync" is if you want Kubify to listen for code changes (other option is # using some cli listener for code changes in release.scripts.start) diff --git a/dev/svc/example-node-complex-svc/kubify.yml b/dev/svc/example-node-complex-svc/kubify.yml index 8037fa1..9785ec2 100644 --- a/dev/svc/example-node-complex-svc/kubify.yml +++ b/dev/svc/example-node-complex-svc/kubify.yml @@ -5,6 +5,8 @@ metadata: name: example-node-complex-svc init: | echo "run init for example-node-complex-svc/app" +depends_on: + - zookeeper-svc dev: sync: 'app/***': 'app/' diff --git a/dev/svc/zookeeper-svc/package.json b/dev/svc/zookeeper-svc/package.json index 00ceada..f353b0b 100644 --- a/dev/svc/zookeeper-svc/package.json +++ b/dev/svc/zookeeper-svc/package.json @@ -3,6 +3,6 @@ "version": "0.0.1", "description": "Simulate AWS Services Locally", "dependencies": { - "express": "^4.17.1" + "express": "^4.17.2" } } diff --git a/src/kubify/k8s/ansible/roles/generate_configs_from_kubify_yaml/tasks/main.yml b/src/kubify/k8s/ansible/roles/generate_configs_from_kubify_yaml/tasks/main.yml index 1da62d5..24c44b5 100644 --- a/src/kubify/k8s/ansible/roles/generate_configs_from_kubify_yaml/tasks/main.yml +++ b/src/kubify/k8s/ansible/roles/generate_configs_from_kubify_yaml/tasks/main.yml @@ -171,8 +171,9 @@ #use the new depends_on feature.. - name: Deploying Cloudformation templates with deployCloudformation.sh - shell: "{{ app_kubify_dir }}/deployCloudformation.sh" + shell: "{{ app_kubify_dir }}/deployCloudformation.sh 2>/dev/null" when: app_name is not search(".*localstack.*") + ignore_errors: true diff --git a/src/kubify/tool/kubify b/src/kubify/tool/kubify index f19b676..bd2a82f 100755 --- a/src/kubify/tool/kubify +++ b/src/kubify/tool/kubify @@ -241,35 +241,8 @@ else PROFILE=${KUBIFY_PROFILE:-default} fi -git config --get user.name &> /dev/null -if [ $? -eq 1 ]; then - echo "What is your first and last name (for git config)?" - read -t 10 GIT_FIRST_LAST - FIRST_LAST=${GIT_FIRST_LAST} - git config --set user.name "${GIT_FIRST_LAST}" &> /dev/null || git config --set user.name "Iwas NeverGivenAname" &> /dev/null - git config --global user.name "${GIT_FIRST_LAST}" &> /dev/null || git config --global user.name "Iwas NeverGivenAname" &> /dev/null -fi - -git config --get user.email &> /dev/null -if [ $? -eq 1 ]; then - echo "What is your email address (for git config)?" - read -t 10 GIT_EMAIL - EMAIL=${EMAIL} - git config --set user.email "${GIT_EMAIL}" &> /dev/null || git config --set user.email "awesome@sauce.whoknows" &> /dev/null - git config --global user.email "${GIT_EMAIL}" &> /dev/null || git config --global user.email "awesome@sauce.whoknows" &> /dev/null -fi - -if ! [ -x "$(command -v git config --get user.email)" ]; then - echo " - !!ERROR: - Please configure your git first: - Make sure git key exists, example: stat ~/.ssh/id_rsa - Make sure permissions, example: chmod 600 ~/.ssh/id_rsa - Make sure your git user.name is set, example: git config --global user.name '[First Last]' - Make sure your git user.name is set, example: git config --global user.email '[Email]' - " - exit 1 -fi +git config --get user.name | grep -E "[a-z]" || git config --global user.name "Set YourGitUsername" +git config --get user.email | grep -E "[a-z]" || git config --global user.email "Set@YourGitEmail.kubify.com" if [[ -z "${AWS_SECRET_ACCESS_KEY}" ]]; then if [ ! -f ${HOME}/.aws/credentials ]; then @@ -3148,8 +3121,8 @@ EOF docker-compose up -d docker ps | grep kubify-kubify-1 - docker exec -it --privileged -w "/src/kubify" "kubify-kubify-1" ./kubify_verbose _up_container - docker exec -it --privileged -w "/src/kubify/dev/svc/localstack-aws-svc" "kubify-kubify-1" ../../../kubify_verbose run + docker exec -it --privileged -w "/src/kubify" "kubify-kubify-1" ./kubify _up_container + docker exec -it --privileged -w "/src/kubify/dev/svc/localstack-aws-svc" "kubify-kubify-1" ../../../kubify run # docker exec -it --privileged -w "/src/kubify/dev/svc/localstack-aws-svc" "kubify-kubify-1" "../../../kubify run" } @@ -3294,6 +3267,16 @@ function deploy_cloud { } +function delete_clouds_testing { + + eksctl delete cluster --name "kubify-cpu-dev-west" --region us-west-2 & + eksctl delete cluster --name "kubify-gpu-dev-west" --region us-west-2 & + eksctl delete cluster --name "kubify-cpu-dev-east" --region us-east-1 & + eksctl delete cluster --name "kubify-gpu-dev-east" --region us-east-1 & + wait + +} + #### # END OF CONTAINER MOD