From d7d1d1975376fdfa8df596799651ec45dd7be7f1 Mon Sep 17 00:00:00 2001 From: KostLinux Date: Tue, 1 Oct 2024 12:37:06 +0300 Subject: [PATCH] fix: moved tar.gz to s3 bucket --- employment-tasks/devops/notbad-task/README.md | 11 ++++++++++- .../devops/notbad-task/keycloak-test.tar.gz | Bin 17152 -> 0 bytes 2 files changed, 10 insertions(+), 1 deletion(-) delete mode 100644 employment-tasks/devops/notbad-task/keycloak-test.tar.gz diff --git a/employment-tasks/devops/notbad-task/README.md b/employment-tasks/devops/notbad-task/README.md index 9a8dae77a..7da5038ca 100644 --- a/employment-tasks/devops/notbad-task/README.md +++ b/employment-tasks/devops/notbad-task/README.md @@ -16,7 +16,16 @@ You need at least: ## The tasks 1) We have a Terraform securitygroups.tf file. Every time Terraform runs, it says the security group in that file will be updated in place. Find a way to prevent this. -2) You have the keycloak-test.tar.gz archive. What we can improve? +2) Get the keycloak-test.tar.gz archive. What we can improve? + +**2.1 Pull the archive from S3 bucket via `wget`** + +```bash +wget https://lookinlabs-contribution-data.s3.eu-west-1.amazonaws.com/keycloak-test.tar.gz +``` + +**2.2 Find what can be improved in `keycloak-test.tar.gz`** + 3) Provide infrastructure and create CI/CD with a web app that will listen to 8089 port and return "ReallyNotBad" string when POST request contains header "NotBad" with value "true", eg. `curl -X POST -H "NotBad: true" https://someurl:8089/` should return "ReallyNotBad". Use any technology you want to deploy the application to AWS. It can be Ansible, Terraform, etc. or a combination of some of them. diff --git a/employment-tasks/devops/notbad-task/keycloak-test.tar.gz b/employment-tasks/devops/notbad-task/keycloak-test.tar.gz deleted file mode 100644 index 1088eb56980516fcec3ad0704da907588953edf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17152 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 XyLu`daKHfvstW%P2qxPT02~4U8dIG~