From ffa811f48589475083952c9c9f324eb8d56aeb1b Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Tue, 18 Apr 2023 16:22:50 +0300 Subject: [PATCH 01/48] Modify the Dockerfile to be optimized --- task1_docker/Dockerfile | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/task1_docker/Dockerfile b/task1_docker/Dockerfile index d6b4524..c2a162e 100644 --- a/task1_docker/Dockerfile +++ b/task1_docker/Dockerfile @@ -1,6 +1,20 @@ -FROM golang:1.19 +# Build Stage +FROM golang:1.19 AS build WORKDIR /app -COPY . . +COPY go.mod go.sum ./ RUN go mod download -RUN go build -o /hello_world +COPY . . +RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o .hello_world && strip /hello_world + +# Production Stage +FROM scratch +COPY --from=build /hello_world /hello_world ENTRYPOINT ["/hello_world"] + + +#FROM golang:1.19 +#WORKDIR /app +#COPY . . +#RUN go mod download +#RUN go build -o /hello_world +#ENTRYPOINT ["/hello_world"] From 6ba3541a5122c116d31a7ace8df0533609706089 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Tue, 18 Apr 2023 16:32:25 +0300 Subject: [PATCH 02/48] Update the way the Dockerfile is optimized --- task1_docker/README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index 74a387b..1c55cff 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -2,7 +2,12 @@ ### 1. Optimize Dockerfile (make it more lightweight) ``` -Type here what was done... +To optimize it, it means we have to make the dockerfile as lightweight as possible and the benefits to this is to reduce the attack area and improve the security of the overall application. The methods implemented involves: + +- Using a specific base image that matches the requirements of the application in production +- when using the COPY command, we make sure we copy the necessary files for the building and running of the application +- Combining the RUN command instead of using multiple RUN commands, becasue these commands add an extra layer to the application +- Finally using a multi-stage build ``` From 863c98dd05e3a7343e667606449ac6c0b32884a7 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Tue, 18 Apr 2023 16:35:58 +0300 Subject: [PATCH 03/48] Modify the README.md to update the Optimizing Dcokerfile --- task1_docker/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index 1c55cff..9a0f978 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -2,7 +2,9 @@ ### 1. Optimize Dockerfile (make it more lightweight) ``` -To optimize it, it means we have to make the dockerfile as lightweight as possible and the benefits to this is to reduce the attack area and improve the security of the overall application. The methods implemented involves: +To optimize it, it means we have to make the dockerfile as lightweight +as possible and the benefits to this is to reduce the attack area and +improve the security of the overall application. The methods implemented involves: - Using a specific base image that matches the requirements of the application in production - when using the COPY command, we make sure we copy the necessary files for the building and running of the application From 86c84251d281e838f569805965c14bb8e047fa93 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Tue, 18 Apr 2023 16:37:03 +0300 Subject: [PATCH 04/48] Modify the README.md to update the Optimizing Dcokerfile --- task1_docker/README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index 9a0f978..566637b 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -7,8 +7,10 @@ as possible and the benefits to this is to reduce the attack area and improve the security of the overall application. The methods implemented involves: - Using a specific base image that matches the requirements of the application in production -- when using the COPY command, we make sure we copy the necessary files for the building and running of the application -- Combining the RUN command instead of using multiple RUN commands, becasue these commands add an extra layer to the application +- when using the COPY command, we make sure we copy the necessary files +for the building and running of the application +- Combining the RUN command instead of using multiple RUN commands, +becasue these commands add an extra layer to the application - Finally using a multi-stage build ``` From 74fe15d7aa999750c602fefc3ab56807907aaffc Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Tue, 18 Apr 2023 16:38:07 +0300 Subject: [PATCH 05/48] Modify the README.md to update the Optimizing Dcokerfile --- task1_docker/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/task1_docker/README.md b/task1_docker/README.md index 566637b..30e624a 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -7,10 +7,13 @@ as possible and the benefits to this is to reduce the attack area and improve the security of the overall application. The methods implemented involves: - Using a specific base image that matches the requirements of the application in production + - when using the COPY command, we make sure we copy the necessary files for the building and running of the application + - Combining the RUN command instead of using multiple RUN commands, becasue these commands add an extra layer to the application + - Finally using a multi-stage build ``` From 1d27aa5fa1124a6b956fcf06a57d44ff2c65bd3d Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Tue, 18 Apr 2023 16:38:48 +0300 Subject: [PATCH 06/48] Modify the README.md to update the Optimizing Dcokerfile --- task1_docker/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index 30e624a..0573036 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -6,7 +6,8 @@ To optimize it, it means we have to make the dockerfile as lightweight as possible and the benefits to this is to reduce the attack area and improve the security of the overall application. The methods implemented involves: -- Using a specific base image that matches the requirements of the application in production +- Using a specific base image that matches the requirements of the +application in production - when using the COPY command, we make sure we copy the necessary files for the building and running of the application From 62b032b86b8b35ba6d67cc49254ffb5b12806476 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Tue, 18 Apr 2023 16:41:22 +0300 Subject: [PATCH 07/48] Modify the Dockerfile --- task1_docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/task1_docker/Dockerfile b/task1_docker/Dockerfile index c2a162e..6b9af61 100644 --- a/task1_docker/Dockerfile +++ b/task1_docker/Dockerfile @@ -1,7 +1,7 @@ # Build Stage FROM golang:1.19 AS build WORKDIR /app -COPY go.mod go.sum ./ +COPY go.mod ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o .hello_world && strip /hello_world From 788dd84c054ad698311b3379b2718a8c729a1efe Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Tue, 18 Apr 2023 17:12:49 +0300 Subject: [PATCH 08/48] Add the README.md for the Multistage build --- task1_docker/README.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index 0573036..30955ba 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -2,7 +2,7 @@ ### 1. Optimize Dockerfile (make it more lightweight) ``` -To optimize it, it means we have to make the dockerfile as lightweight +To optimize it, it means we have to make the Dockerfile as lightweight as possible and the benefits to this is to reduce the attack area and improve the security of the overall application. The methods implemented involves: @@ -23,6 +23,18 @@ becasue these commands add an extra layer to the application ``` Type here what was done... +To create a multistage build technically mean creating a more than one +build so as to keep the Dockerfile optimized, easy to read and maintain. +This is so because most times developers uses different Dockerfile for +build and production. To achieve this this is what i did: +The multistage build consist of two stages, where each is defined with +its own FROM statement + +- Build Stage +in this stage, we use an official Golang image as the base image and +give it an alias "build" ('FROM golang:1.19 AS build). I set the +working directory to "./app", copy the go.mod files to the container, +and download the Go moduke dependencies using the "go mod download". ``` ### 3. Build, run and open in browser From 4c9ca83a4fb6bf85dc19cd1700c654b1aef09860 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Tue, 18 Apr 2023 17:16:26 +0300 Subject: [PATCH 09/48] Update the README.md for the multistage explanation --- task1_docker/README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index 30955ba..ca4d8ad 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -34,7 +34,12 @@ its own FROM statement in this stage, we use an official Golang image as the base image and give it an alias "build" ('FROM golang:1.19 AS build). I set the working directory to "./app", copy the go.mod files to the container, -and download the Go moduke dependencies using the "go mod download". +and download the Go moduke dependencies using the "go mod download". I +then copy the rest of the application code to the container and build it +using the "CGO_ENABLED=0 GOOS=linux go build" command with the necessary +flags to produce a statically linked binary executable ('/hello_world'). +Finally, I used the strip command to remove the debug information from +the executable, although this is optional and not necessary. ``` ### 3. Build, run and open in browser From b057f4f79628441734917b927789536f000c85f0 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Tue, 18 Apr 2023 17:19:44 +0300 Subject: [PATCH 10/48] Update the README.md for the multistage explanation --- task1_docker/README.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index ca4d8ad..f0c4309 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -2,14 +2,14 @@ ### 1. Optimize Dockerfile (make it more lightweight) ``` -To optimize it, it means we have to make the Dockerfile as lightweight +To optimize it, it means I have to make the Dockerfile as lightweight as possible and the benefits to this is to reduce the attack area and improve the security of the overall application. The methods implemented involves: - Using a specific base image that matches the requirements of the application in production -- when using the COPY command, we make sure we copy the necessary files +- when using the COPY command, I made sure I copied the necessary files for the building and running of the application - Combining the RUN command instead of using multiple RUN commands, @@ -31,13 +31,15 @@ The multistage build consist of two stages, where each is defined with its own FROM statement - Build Stage -in this stage, we use an official Golang image as the base image and -give it an alias "build" ('FROM golang:1.19 AS build). I set the -working directory to "./app", copy the go.mod files to the container, -and download the Go moduke dependencies using the "go mod download". I -then copy the rest of the application code to the container and build it -using the "CGO_ENABLED=0 GOOS=linux go build" command with the necessary -flags to produce a statically linked binary executable ('/hello_world'). + +In this stage, I use an official Golang image as the base image and +give it an alias "build" ('FROM golang:1.19 AS build). +I set the working directory to "./app", copy the go.mod files to the container, and download the Go module dependencies using the "go mod +download". +I then copy the rest of the application code to the container and build +it using the "CGO_ENABLED=0 GOOS=linux go build" command with the +necessary flags to produce a statically linked binary executable ('/ +hello_world'). Finally, I used the strip command to remove the debug information from the executable, although this is optional and not necessary. ``` From 39ffb8e261a45d19d9fe42aefa3058ebcbb0e234 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Tue, 18 Apr 2023 17:20:50 +0300 Subject: [PATCH 11/48] Update the README.md for the multistage explanation --- task1_docker/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index f0c4309..64fdd12 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -34,8 +34,9 @@ its own FROM statement In this stage, I use an official Golang image as the base image and give it an alias "build" ('FROM golang:1.19 AS build). -I set the working directory to "./app", copy the go.mod files to the container, and download the Go module dependencies using the "go mod -download". +I set the working directory to "./app", copy the go.mod files to +the container, and download the Go module dependencies using the "go +mod download". I then copy the rest of the application code to the container and build it using the "CGO_ENABLED=0 GOOS=linux go build" command with the necessary flags to produce a statically linked binary executable ('/ From f0ab91ed8a640f2e7ce0b3cd4811295882266d42 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Tue, 18 Apr 2023 17:27:11 +0300 Subject: [PATCH 12/48] Update the README.md for the multistage reason --- task1_docker/README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/task1_docker/README.md b/task1_docker/README.md index 64fdd12..34bb33e 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -43,6 +43,16 @@ necessary flags to produce a statically linked binary executable ('/ hello_world'). Finally, I used the strip command to remove the debug information from the executable, although this is optional and not necessary. + +- Production Stage + +In this stage, I will start with a minimal 'scratch' base image, which +contains no files or dependencies. +I copied the '/hello_world' binary executable from the 'build' stage +using the 'COPY --from=build' command which copies the file from the +'build' stage to the current stage. +Finally, I will set the entry point to '/hello_world', which specifies +the command to run when the container starts ``` ### 3. Build, run and open in browser From d3902ba65cbfd29f67580958dc452acc43f7b471 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 01:00:43 +0300 Subject: [PATCH 13/48] Update on README.md --- task1_docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/task1_docker/Dockerfile b/task1_docker/Dockerfile index 6b9af61..913d420 100644 --- a/task1_docker/Dockerfile +++ b/task1_docker/Dockerfile @@ -17,4 +17,4 @@ ENTRYPOINT ["/hello_world"] #COPY . . #RUN go mod download #RUN go build -o /hello_world -#ENTRYPOINT ["/hello_world"] +#ENTRYPOINT ["/hello_world"] \ No newline at end of file From a10a1c4bc08b4cd861c4bfc330739694f8366f5d Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 01:52:49 +0300 Subject: [PATCH 14/48] Modify te=he README.md --- task1_docker/Dockerfile | 2 +- task1_docker/README.md | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/task1_docker/Dockerfile b/task1_docker/Dockerfile index 913d420..a385049 100644 --- a/task1_docker/Dockerfile +++ b/task1_docker/Dockerfile @@ -4,7 +4,7 @@ WORKDIR /app COPY go.mod ./ RUN go mod download COPY . . -RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o .hello_world && strip /hello_world +RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o /hello_world # Production Stage FROM scratch diff --git a/task1_docker/README.md b/task1_docker/README.md index 34bb33e..db42cba 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -41,8 +41,9 @@ I then copy the rest of the application code to the container and build it using the "CGO_ENABLED=0 GOOS=linux go build" command with the necessary flags to produce a statically linked binary executable ('/ hello_world'). -Finally, I used the strip command to remove the debug information from -the executable, although this is optional and not necessary. +Finally an optional case of using the strip command. The strip command +can be used to remove the debug information from the executable, this +like i said is optional and not necessary. - Production Stage @@ -59,10 +60,18 @@ the command to run when the container starts ``` Type here the command you used to build and run the container... +To do this we will run the following command + +- docker build -t go_app . +- docker run -p 8060:8060 go_app + +To open in browser, I will access http:/localhost:8060/helloworld + ``` ### 4. Tag it with :v1.0.0 and :latest and push the image to your DockerHub or Github Packages repository ``` Type here the public image URL + ``` From 8b24f4c2efd6f5807a8c9fac11b4ec9e7d809d4d Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 02:14:17 +0300 Subject: [PATCH 15/48] Modify the README.md for Task1 --- task1_docker/README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/task1_docker/README.md b/task1_docker/README.md index db42cba..b2d554e 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -73,5 +73,14 @@ To open in browser, I will access http:/localhost:8060/helloworld ``` Type here the public image URL +For (:v1.0.0): +- docker build -t galactican/go_app:v1.0.0 . +- docker push galactican/go_app:v1.0.0 +URL= https://hub.docker.com/layers/galactican/go_app/v1.0.0/images/sha256:4805a5a50105f82ec9563b118757084608a565760e64281bac93f8c3370882cd + +For (:latest) +- docker build -t galactican/go_app:latest . +- docker push galactican/go_app:latest +URL= https://hub.docker.com/layers/galactican/go_app/latest/images/sha256:4805a5a50105f82ec9563b118757084608a565760e64281bac93f8c3370882cd ``` From 51b306ac3459ca7ec9f68afb333b57ad8f126f79 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 02:31:54 +0300 Subject: [PATCH 16/48] Updated the README.md for task1 --- task1_docker/README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index b2d554e..a4e9c9f 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -58,8 +58,6 @@ the command to run when the container starts ### 3. Build, run and open in browser ``` -Type here the command you used to build and run the container... - To do this we will run the following command - docker build -t go_app . @@ -71,8 +69,6 @@ To open in browser, I will access http:/localhost:8060/helloworld ### 4. Tag it with :v1.0.0 and :latest and push the image to your DockerHub or Github Packages repository ``` -Type here the public image URL - For (:v1.0.0): - docker build -t galactican/go_app:v1.0.0 . - docker push galactican/go_app:v1.0.0 From a238e64c6f60bd49d8963f2712ad3b4d621f9c62 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 03:55:59 +0300 Subject: [PATCH 17/48] init --- task2_vault/tf/main.tf | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/task2_vault/tf/main.tf b/task2_vault/tf/main.tf index 26d989f..47b57bd 100644 --- a/task2_vault/tf/main.tf +++ b/task2_vault/tf/main.tf @@ -47,10 +47,24 @@ resource "vault_auth_backend" "userpass" { # TODO: Add missing users and policies +# policy for the service-alpha container +resource "vault_policy" "service-alpha-policy" { + name = "service-alpha-policy" + policy = < Date: Wed, 19 Apr 2023 07:36:02 +0300 Subject: [PATCH 18/48] Added the service-alpha --- task2_vault/tf/service-alpha | 37 ++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 task2_vault/tf/service-alpha diff --git a/task2_vault/tf/service-alpha b/task2_vault/tf/service-alpha new file mode 100644 index 0000000..0ba8651 --- /dev/null +++ b/task2_vault/tf/service-alpha @@ -0,0 +1,37 @@ +terraform { + required_version = ">= 1.1.0" + + required_providers { + docker = { + source = "kreuzwerker/docker" + version = "3.0.2" + } + } +} + +# Build and run service-alpha +resource "docker_image" "service-alpha" { + name = "service-alpha" + + build { + context = "../services/alpha" + tag = ["service-alpha"] + } + triggers = { + dir_sha1 = sha1(join("", [for f in fileset(path.module, "../services/alpha/*") : filesha1(f)])) + } +} + +resource "docker_container" "service-alpha" { + image = docker_image.service-alpha.image_id + name = "service-alpha" + + env = [ + "VAULT_ADDR=http://vault:8200", + "VAULT_USERNAME=service-account-1", + "VAULT_PASSWORD=pass99", + ] + networks_advanced { + name = "task2_vault_net_a" + } +} From 988fa65a73260d9d4c4b57e8db53d075c5a939c0 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 07:38:57 +0300 Subject: [PATCH 19/48] Added the vault-resources module --- task2_vault/tf/vault-resources.tf | 51 +++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 task2_vault/tf/vault-resources.tf diff --git a/task2_vault/tf/vault-resources.tf b/task2_vault/tf/vault-resources.tf new file mode 100644 index 0000000..98eec25 --- /dev/null +++ b/task2_vault/tf/vault-resources.tf @@ -0,0 +1,51 @@ +terraform { + required_version = ">= 1.1.0" + + required_providers { + vault = { + version = "3.14.0" + } + } +} + +# Connect to vault server +# (deployed by docker-compose) +provider "vault" { + address = "http://localhost:8200" + token = "f23612cf-824d-4206-9e94-e31a6dc8ee8d" +} + +# This secret must be read by the service +resource "vault_generic_secret" "alpha" { + path = "secret/alpha" + data_json = < Date: Wed, 19 Apr 2023 07:40:18 +0300 Subject: [PATCH 20/48] modify the name of the module --- task2_vault/tf/{service-alpha => service-alpha.tf} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename task2_vault/tf/{service-alpha => service-alpha.tf} (100%) diff --git a/task2_vault/tf/service-alpha b/task2_vault/tf/service-alpha.tf similarity index 100% rename from task2_vault/tf/service-alpha rename to task2_vault/tf/service-alpha.tf From d3e1233fa7b45e9ef5a4395aa1f296e0331d6fff Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 07:42:53 +0300 Subject: [PATCH 21/48] Modify the main of the module --- task2_vault/tf/main.tf | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/task2_vault/tf/main.tf b/task2_vault/tf/main.tf index 47b57bd..f5dae7a 100644 --- a/task2_vault/tf/main.tf +++ b/task2_vault/tf/main.tf @@ -1,3 +1,14 @@ +module "service-alpha" { + source = "./service-alpha" +} + +module "vault" { + source = "./vault" +} + + + +/** terraform { required_version = ">= 1.1.0" @@ -93,3 +104,5 @@ resource "docker_container" "service-alpha" { name = "task2_vault_net_a" } } + +**/ \ No newline at end of file From c94d2877747e593438bdfd33c9e889fede5a2573 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 07:46:16 +0300 Subject: [PATCH 22/48] Edited the vault-resources file --- task2_vault/tf/vault-resources.tf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/task2_vault/tf/vault-resources.tf b/task2_vault/tf/vault-resources.tf index 98eec25..de18563 100644 --- a/task2_vault/tf/vault-resources.tf +++ b/task2_vault/tf/vault-resources.tf @@ -1,3 +1,5 @@ +# This module is reponsible for managing service in vault that is required by service-alpha + terraform { required_version = ">= 1.1.0" From 2b9e03425685bc497e46f6a925d5b649e8e0f35c Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 07:47:25 +0300 Subject: [PATCH 23/48] Modify the service-alpha module --- task2_vault/tf/service-alpha.tf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/task2_vault/tf/service-alpha.tf b/task2_vault/tf/service-alpha.tf index 0ba8651..8e6c226 100644 --- a/task2_vault/tf/service-alpha.tf +++ b/task2_vault/tf/service-alpha.tf @@ -1,3 +1,5 @@ +# This module is responsible for building and deploying the service-alpha container. + terraform { required_version = ">= 1.1.0" From 378e2499aa524c908eaeea713ffe9a3d629dbee3 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 07:48:58 +0300 Subject: [PATCH 24/48] Added comment to the main.tf file --- task2_vault/tf/main.tf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/task2_vault/tf/main.tf b/task2_vault/tf/main.tf index f5dae7a..ac82eaf 100644 --- a/task2_vault/tf/main.tf +++ b/task2_vault/tf/main.tf @@ -1,3 +1,5 @@ +# This is the main terraform script used for implemeneting the module created + module "service-alpha" { source = "./service-alpha" } From 4a81ec6edeb1fbdac1eb517a166c13ce313e04e9 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 08:01:09 +0300 Subject: [PATCH 25/48] Updated the README.md of task2 --- task2_vault/README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/task2_vault/README.md b/task2_vault/README.md index 70b14d5..2f10a64 100644 --- a/task2_vault/README.md +++ b/task2_vault/README.md @@ -20,7 +20,9 @@ Look for TODO comment in the tf config. Don't modify existing resources.\ Check if the container is able to read and print the secret or still produces errors: `docker logs -f service-alpha`. ``` Type here what was done... - +I created a new policy called service-alpha-policy as showned in the script. +The policy explains that the created secrets engine will have a read permission. +Meaning that every key implemented in that directory can be read when they are required ``` ### 2. Split the terraform config into 2 modules. @@ -29,4 +31,12 @@ Use variables. ``` Type here what was done... +I splitted the configuration into two modules, where one of the modules 'service-alpha' is +responsible for building and deploying the service alpha container + +The other module 'vault-resources' is responsible for managing resources meant by vault which +may include 'vault_generic_secret, vault_auth_backend, vault_policy, and vault_userpass_user' + +Both of these modules can then be used within the 'main.tf' and reference appropriately + ``` From 638cb21e316c5a0ade230cf4ea2c6fe2f291e688 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 08:01:36 +0300 Subject: [PATCH 26/48] Updated the README.md of task2 --- task2_vault/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/task2_vault/README.md b/task2_vault/README.md index 2f10a64..677161d 100644 --- a/task2_vault/README.md +++ b/task2_vault/README.md @@ -19,7 +19,7 @@ Look for TODO comment in the tf config. Don't modify existing resources.\ Check if the container is able to read and print the secret or still produces errors: `docker logs -f service-alpha`. ``` -Type here what was done... + I created a new policy called service-alpha-policy as showned in the script. The policy explains that the created secrets engine will have a read permission. Meaning that every key implemented in that directory can be read when they are required @@ -29,7 +29,6 @@ Meaning that every key implemented in that directory can be read when they are r One for building/deploying the service, another for managing vault resources.\ Use variables. ``` -Type here what was done... I splitted the configuration into two modules, where one of the modules 'service-alpha' is responsible for building and deploying the service alpha container From 00cefb87d716e85a2e82c73e140b7851a93b450e Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 08:04:42 +0300 Subject: [PATCH 27/48] modify the userpass resources --- task2_vault/tf/vault-resources.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/task2_vault/tf/vault-resources.tf b/task2_vault/tf/vault-resources.tf index de18563..6a43273 100644 --- a/task2_vault/tf/vault-resources.tf +++ b/task2_vault/tf/vault-resources.tf @@ -45,7 +45,7 @@ EOT # user with the above policy resource "vault_userpass_user" "service-account" { - username = "interviewee" + username = "service-account-1" password = "pass99" policies = [ vault_policy.service-alpha-policy.name From 67ca652d19c418eb7e8d4ed094f56d59cd3217a4 Mon Sep 17 00:00:00 2001 From: Emeka Michael Nzeopara <50933358+Los-merengue@users.noreply.github.com> Date: Wed, 19 Apr 2023 09:30:40 +0300 Subject: [PATCH 28/48] Add `image.png` via upload --- task1_docker/image.png | Bin 0 -> 21640 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 task1_docker/image.png diff --git a/task1_docker/image.png b/task1_docker/image.png new file mode 100644 index 0000000000000000000000000000000000000000..00690a9befbb885675447531920aefd8e75b8162 GIT binary patch literal 21640 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%0Dk z2^BN$4lnHi|&;DX|!pb8k+F_%OT=*;(|GcLXDWj;(Pm|KU#Nh>Mn<)y65uG+GswO*qa~VPF-ra4o-s-75aAO^Eu}UV)@VC`#b0*$3!N z>(zv7nF=a}KjIO7c_w%GDxz0lExu!&_=JRZ%1ms!IqCh>yDec**I5e_MUS8Mnbpg) z)BuBdPyFg^=c4Xy$dv+e9vrP|Ba6Rh83V_X`km`3u**@U9dlc+yUG5M_Rc3<&79MU zE&{g{xi|#^34ely6*T`rvsvFTv&8Y*JM0h=qW1$dMg>A4*1gexqK}3*cs3{7z1cQW zkU>P7)#8Hdzg!i&+koDN6LWDZzdP{&WVw$>-TnJ7+R7U2u4+e{p&fh1_e!!Uqfu)o zJQ}}L&+`UzT-*!^!`Ath{1+1}e*BJ01#}i;qHaaO^4 zN1aX12H&^_6X2zSqHL(vg9VDVV8cN^B0) zPt8tHH0^4492^!i;;D1Dmb>S3i(x&`pSDmK-MH}dee+#O6WsyUmo|9!8ZYAOg597& zSFwTjUoI-Y4v#?qidjDf4W>V|{`*Pi?yx>ch|OE_ug!siIw#Sx@0N zfBb6~b7)pg5v)dT|Cy*CIvWiBE5apDEP&s?*UhBkniDXw#X=ES`=^SnwQ^~OgygY@efp1%vq1K$MVm#p&`Gb!1`P#wIQ@PkF+a0r-uHA z_Lnz(MiH*P8;3lg@{kTjgRPO!XwhB0*H4XX$qJJ_)&ERw|6z3oEAnofBQ$!%x_*RWQ;4C z<-?tYfNQOmvYC9F$~zoDcJuP4=kbS6 zLPKLTm_fy|u1J-bo_eRNl)fL`Ypy&RRsVQs6Kzpzp9l7*Xvf;LV5bDcX=n>@e%n9l zxX+j1V^w3_^wvb*e*=Bf?$7oif?poA1{d>5%D^)KmF3dQBmZfGTH1kif-t@TPl;|hRUgXRt)Gln>`OxuW-9ZK`0dvHi1xaDuYlN;`sBG%@CNy@ciHw-GkK}=CiQei9 z^QS9vv>+DKv>~wx({CI;8CDg`vHm3aezGrWv{RujDsIqBkjOq29wfdCD z%73IiM|7bh>Y`|#-hrFou%6CMQaWYm{g%V& zvy=B6({fKtQKIhe#y2rM@0TFH*$lZ>=Sm(0jyD*%xJ*coPHPYuWSPZbTNYb@~Nf zTk{-^Bgyr0fp@)t&zC#op8XTpjb}QYVTZFsOF#6{VQew6uPYY%>tA40)N|`=DlNlD zgZ^^I|575aGy!`#9#yZIQ_vA)7S4CJJD2Xxk`4}j^=Vp6zAf{ryioOsAMlcs?l!e{ zMhI*jyA(WVY?#{GRq~gyvS}U}QMg!f$m92n7V@EK~L~@hL2+oLM6h+ zvVCs=I}WxKhiY40>|VqrRD6L(V^@xnpV+KIVq+atr(E*`b0#f*o?%8lV6v9F*nTAC z?1SRbY8Jc3Jgd*NIidjv`H7qxZ+d5#HyEhG)kJlOl3D1savjZ``91u6r{vDZ9Hr&K5oM~~gZQv<=~pDvE`nTF*yId6!A)a@cF`1s!@Yszvk?glxXffD`A-t0{ZN zxUqAM_LWfMF#EUahfN*1pD+kV7XJ~D{rHiI`f&+1x6vTbON!? zFO?TScb!Gn4Mu!Ofbw_Y6M7MgIh@F;UpLdsxSqyi*}i3EX4H>p)elKjJlwD-x-nhp zdY|aNvfN?~=yW`dW$91mH&!}V=j?Hzqx)kDacK{H?!pDarVR%vo-r`f7TboLVr>Yd zc@AOD^=L%Va{y3$-8lO3V+C)Q3^Y2+-V13p^(vvJF(_1WJ*Y;=o% zZ=1)vKeKz;uXO6Qia93PR~df-I!gHboL~039Ob_on|b%}NUZs21pD57Vq1DuGY8j@ zLqWefy+ewOM{so5;u}vC!^xp76E8!ZsTy&2`@Qdat9~WE`t1KMx_iRArQG)Cr7eko z-!UZhi)b(NMes|%{>Z@9R5tQ`#j(-F9A1@0i^!=s^L z>$)EjjrEP2XQ$oYCSclYvC4(8X022g!`+}uYiG}JdcKvJYWv|}(xawoiqEk&{V7q{ z>WqnAY*ZwnZiB`w8xbxi`H_uU%g65(N#!M;q!>Bi3u#jO#f#xNx7>f`#Fqe6J(ng! z#k^0C%3?T-e6^$P7qtrSC_9O59!Nx@r1A{Fn%%df3-aLCwVt@W_5Yo*^<0MBgbV8! zMVs5L9Hm@}+HB(d^;@|VnWv)iA0Vb_-xw6O(y0ZcFbQv<@4Z00@lpV-x#oM%YnnUK5Lkip7RyF&!p0ZP~fpZt&-w|jonK+Q1+Fnz9vHN;SX=P`N3^sB(ruceq@3coip>f5R7Mze& zYyLan9oDuFC2wLQ516dwob!)ZN^V`?Rb=C0JU+|D2vW1kk@YJlAJA!j1bg} z)Ol}yyUKQGh5vqVbn){?k#uZhP$|n@?8wF5NsQ*|G3|#`LPxT&(p{rJQ8Lyoc)1_z zMHr!AOmeNxaPQiH_zVI6K4W91C{C`fg(%W770V^L=2ocBPei3oSEny=mZOkYFO6ND z@Q&=+k)VbV4i=C4sPdjcrLu4E$8ASWC*?nI(6A+wCY93Oki<)-^8p$i&uKCVA;gY= zW&&p$@ML!|d%tUf`}QH+h4sTx_iewoUL>9uSFS?G=mFcW5U=+-9Y-4eV?`|F$EyZZ zWfGHS+@|rn@n?CO79`Tl5cgxHhixuLqNIdN0f`15HdnYagAwiv-+B4?O5tFP+uB&s zc5d-zUEKaiWQ_&PPHaN+$yL*-vDju@2B5w^(``K}L)n$Wgibo0j$BtI(z$i}}FSJb1K4w4rzJCVq%na1Vf@h9~uX5c!8IsBq>HCg$oI397Y3svDS{{@x zZHH*5?2&mGRws9pj*E_ub^k;Vg#RF37hWKXSELW)Z#3 zZ(T=MNm8bM`7qob){DR!%x`)^sbikBR&9RZf=stguXk^rTDTuxmaxC^yf<5QK z)j8sKZu=}UF0wM2C)r|PYlS>fvG&0D)7Iubd=7`5w*9LR`76^MSvkqvN)$ zvjtk0BR@r5h}78k+~Vznts#b~hs_7VYA+@K<*WOs`R&=L?@_zgzg8Z1A8!0h@(?Kb zBWeVqB5@R#sB8nK+(tt>Fag5D({JQZR21uB&7QKRVOG6Jb?V-j|Cgy&?TD^DEZbC# zJMU`rMfn)@Nm`lQ!MaZ0Eyju`|I3dJjs_**O$n$P#q`-IrS#A+lEtBShjW_OA#&eq zJ$%3@cWiY?=tn=K6ZdHIbx%G!a=a1tZtC8<*U{wFcV{GD)}nf*#{Xb4 z@T!v@zQ&_g=&!_(-2sdDvv7}84eTuQ~oSJT7 zj+#}12&R-pCWe=LRq~v5o2}Ca{Iw99FZ-F5-tNT35`r)KcDwVM1LQ3j`u5J^S=mt= z1uON?%~n}Z&t{6o^#7AsEK)g?V!J!HWiKkl1E_lF{DvW;`vGmM-h2OGvkmjlEJ-$2 zD^CT&x3uX!N(k6?cXoBHglt^t?}wwHC684ESuZdHcG?NtOk!!!`*r$kQex9Wtd^&Z zN9%YOH)QcBT_IGqR0C$$nM7*A;{Ib-T~wRR;gy@^o9JpMmvVkyzRLeU*=p#Z^&SAQ zGq-Y#=CiD9Ibrmi`&!|hBIs}9l@;}57-*0q_hK|3H(gN#t9}s+0NnMyqO~QUwOnFc#0Yd;Xb<>yHOUpJm9S7XZqbk;uT z19Ydpsby{ie1dgKGJ%HgOSLikyr{bG2mlmrR^8wP0MZN}y}V4|do>zs5ZL1poGOyi2CsAWY}Xd4&fFcnQ^@%cxeJ3`IYgfPIk zqis98# z3)lxDa!pH&HlpWb_#jy8mf}$ic3Bx3?S7UsSnqcqpu?$<={%s~g^muW+6$-hAMK&6 z(jHbztyoeLCE{pe3Eoz@2TYx%e;ol(`e1*$PZc8Qn5r?ae1*Ny_3P>W%9$`owDg6$ z`^!vaozl;I?6%Yx7bI_=Wy)n`XgW)Ou~IvnN|gn>E1kH&S52pEkY70a++-kI;*>pu zgpRoJCyK6^pj9Uq$_+p)pr;xsz&cy=kMqBW>9KRMzxeY^y_FeYnpRggCWdvzmITs1 zcYq}px|JspssNu{Rn7`$7`M`wOgTnCRe^fN2RD8s;wnH&1Wp9#yrj=oy<@chhme_h z|2lSn{G&eBefp00=d3^nKfoB`DdIq0gp(`)6<+__dF%Q=RZ_9sPsD12OaNLT)0Mns zdR!ag5=~1#YghrM1-zoNkO#6huE<>9Re;uXm9yCCOAY4#cni^qV|wiW{Q;!VrTO2{ z<8+435~3eFSHA!63{d+&+y{CSM>&Rbc4CyrPiYoTI0*&w2i9bumQ-aQWM0 z*>04WD2kooko~_twARnDF2ueXrMNmft6u+KXN8_;n0&PBG$%KK<+(F}%gof4stn@) zu1(3kVW{}GDZTgFyv(qmO!$B8E6&g>$2XlBL=9agr2kiCD)JpLWeL9>4L;u^eeu64 zF>^3ksKS>X?44o!uUvTH9BZMTN>`LCRwC} zpZ~8|_`uYIEw&?wIR2q!euk`CGx>!Uey)Se{}SFn_rU&)Yd^} zR)+t~(C8`EPTqauN5sMRiHa9D1(ke^+uGWY5u}w7Iz_{ljLz=!BDvCbL?fF0%VohW zVc{)O1Z;WBq*#e|9EEa#_0Ai0wBeAjqGXZ6EiJ#2Y|$a`m#c>9sMwpTq61eA>uy}r z2!HtH4$XE$(bF{f==qFurd`$Hw(W@P+BcVxo39hae*IFaeNIw++3olx`Px$p@}ZX@ z+D|{+PCa2B_T#G!1Xx}yDOshD3DX49u#wdtVl=0FGGa(8_gse0Oc$E%=R+s=s=J4$ z5MQqo#=qxTyqI(LKD$-RP|x+gAV?cq<(|@An3bb59ibJL{+AbgvI^V#J{$p(Z%Pyk z{X*B=sQ|NiSFJ^n1ypzV5BL1Yq6SF@&-VcAgC6s5C@8+d>FU+(M)^40ijg`gu@f9Q zY8yl#Mp5n6}+5(aeki6p zoSJ<#$Mo;*tPYN}u%#er_nDso>3?5kesGq~LUn#~miNf~PYrk~CS(>~aWEd!5ex@u zt~%@-2wT>ie}dy}2RTH!s(cklu!D6!Kkfp~L>ig#G3P4#!@nn7XyOZ{d2h!2BP*xV z98N^&%QBIRT`$7>o9xMQGHef-8Uw#42vcT76zyQK&DxOjC#aORwCnL`oK$QJDL+vU%|?Cb z1d{Qx69 zR+&l{F%MnD)*=o$L(;VHQqm!P>qx(QW+&*9rI{q-vFB-8-S)`?p_dReHjQ z?JCN)T6HAq1^+9=b`7MuX*$ofw3CK_S3?m&qaTx$EhN=lzhuCMOuF7U^1ob&C0*hV zcZwxs1=%*kTW1)QF-@L%4L2^x)s?7n(1%{3lP<&>e48$>r!hV4TsgU69k@}5d$c`- zg<&SEahZo{b0>z*(?b5~MREFVb9ms&(kCBlHM*SN&W-iz97m}*kTRgig9^@p)Jp^- zo(Ox?{&uAhF05*_8IS4%W_WnRZ3^FV-j)ou<4I|=i+Fw{go8~%oFZ$)h?4eXOHgm;83zt+O$D5c+1jPNJBW?BcAFL!8@YeTJn{^wi52E`C11~a zMvlN8P4FnA_E6PC*g?5R*t7PF;nkOQdois?>b1^y^|yWDd+ z(El>(`V%n1iLF1YL$@OWYMS)Rvb1!iAIi#Q{y|mTcxBr;`+$zm+$fBS!)deq_;qjM z^7lz;Xwz4pT8Rmrt+!90n=5({yM$`eNTX!I^+MZms)$o$~_ z#?78U5jX0YHB?KAYI$MLBFjmpfN8Gh)-icB-~`+~G1qj^PDP{kFlm~E`i<|+2c=Z` z@L|$3iEC$Gi+WU5=0?%}wLN>^Wix7c9~N@Nj>Dop&ieb`m6;}RZ)hM?Qw`CZ)7hdTg54_!J2FGYiIVchVuSD^R3u} zOZZ}2aguBMk?Kayj0HCB)po4;4u|sEu}1NflqJ{>I)zktp_FF#jm9{HvM!2aW!sSG zG54c+S3baSjeo^@o8aO5X^4m-I|b5N>5YZdOnKiGl~ToLV+Jkw+WUR&cg39YTnxjl z^xu1=`3Na@;8FU9QS4Wfp6rk_&y`aWXWVD>c?}-T;WFa~DyvUEbO4*MiUaAz5F7Bb zFSThp>T+eC5O{6-p}^K_&xt8^1VZ?tt0s(k^+Air(bT)p%GSuso2A#jTozky&HDv8 zl{Q?NxtguyTQ(zD1>^4f`E}F@?*8MtWbSd&C2Dujf3~Y?s))rtk7BgN-g=+{p)r(y zx5~g4HOcLFJP2l~ZSb6LH>j+nrbq6%ReFmuBE_(Gb`Cy30-97aZ1}PiX}Yd&)m6hC zo{H^4tski_Cv~JZb;mUP(tr#`m?%5jZy0$;L%xY9I%fJ89E#>Q!_7tSB z^_U{jKLXL%ajM{5tQRCdBtyKvv*N+mwkbJsBJ;3o8)3Z_E?(+XpjJxkuCt0Lh_GlB z5-c+;Q}7%j3#jOoV2M+El`wZ*(q|WCcyR}i6iITGe0P#J|8?)?e!a6avC6{>VPi4y zroszn9IxQzKGRk?k@0*oRh~Bu@+4(OBuOm5q+`e4$R{0j{8v$|7 zX&;v2pozil&hI}F{%MujKAUD&J$JynQ8 z_v%|5Z5$3GR|gJMPmgP!-LPofJGSYVUOccT#C%qtl2Wn0U;l4~EL<8PZsFEnt49cP z7EreD>ex)k+#eOzlbKZmel9rq-hmOqJkmTKVd5Xh)#^53Ae*HOOiO79_w)+}{puhe z=|_ojrg=>e>wUBKZ1R=DgVRTwc4f-q4O6!W-%MnSAtQYES8STNLCe&F^^L$d`JY*t zj*%p3kE74#{0D2^0Rue;N&lh}JT90@hqTSWj7(fm+Jv>y=W`JFb$u_G>fTsX%J^G> zV`9XUoJ*nvei}i(RTA2t=U9Xaqm#6p037{v|OGgd1(&TU;}#EuM-iVxjZl z*~~yg0IY0;2v#>@fIBmD-8|UJY;j`N^3g*%$w^7I&d(he3-qOy^lwVt3hRCfQQ=YZ zyY+Et>Ew>PFu}gj z@ZL(%yU?1jMGIy^tz!$s)G27NyjCTU2;P=Wd+|MY8AFY%iuLBLW@te>Z<<)!VQCQ* zpTR^GKAOI|um3o3>9eB7w}GY7k;V*;V#4% zd4M_3h^cx(5i{VrX3!I!cwqAZ#CP0qu3MsIIhm+BI(`sEdjyjhGR0os&iZR!^vu@6 z=NqFv`phGFk^x(Kx|Po!!%f#ee$b&LkM)u^`2@fnfjf||t=^TVjRT&&F-~VA?8J5A z^myc=$~-19v0L0Vx<%~mVXt$)k4}=7+B8zSNB@g+VO3KyJqkuGP8cd$h#<^Q1D;Uo zA3uu_cL$P_UW@N{!Pd+OHYtZ*CR)|xT3Z#>p(@Z8rrCG z;c=4EDqp)q;k%n-i|L#*O@s+lBx`TYhv{wCm~6 z{(QIHL;>AzYWdh^r>Jq%mgSw%GHS6j7rKGjew0&#k|#<-%^GN_Z=8NxH=<1$VH>pz zTVk)K>Qh1tcCEM6T*{r~7uc9gMUO&GcD7gd?UoQ1?BT|p*T5%aQ%R%!{iUeYW_HB< z>0>-hl)i6OOvQ(W=r!C+mzM1_pL>7#ywIVoutgQ?#%EC?N)Xw==00^Oy7$)mEnq}K z=Al+?0}>JvS#pMNuIj4wa=;}SLl&*T^m6m9-9!ec4YjJ=e(Ubm(OCFF%euGxSm#lj;ZcS;e8RJ| zGlZn$xgf^;%-x9@8GM<-njR20^axC zK6&2CqNEeae9Hl6Kh;LZa3oa;dsTHX97s;@(nGlgM8Ad0s6QMlI;jvUvps*1mcd!Znm2ap zxnbBCCo8c%VJV6wu}jkkXjia;tW<0ENT-$0sw1lXX(RIyhW6~vpIgx=*>hgv#NgJq<%Lyz${P6n8 z!b%JQSNVVv>|_3{136ygYK@U1xqi68BacyEU z&-uuj_u2%a&{3-@5Q|)YWzBbnFEtYi4DDj(+O#U>rzyXo%-mMg*$O@IvDUlT1u=bZ zf-tB6YV_GnpU(~Xt}%W025o3-tU0c-PSj(=i@X`tl}x}OHF(RpeO)-f2KQlT=$3sJ z3bOuLF;wR(iTy!9#cb|MD^Zzbx2zfyl|S&IGR4Q#vioRO~t#$+7tvI(Iu zp5Qd&jTe2#qR08G#VAMf{)Pbl#a3LC+}lkJlN5sp{ZY=ez>|og&4rlA+uPbbQ`hrA ze~Sv6eSpLk`6n%(F!zw=&w;=+lW#g-i?#v}+s^>q_Z1o2rciR~>X!Pkxf1r}`;ykm z=|Jr3c|Ep!zr9oswSFUHmj!btS88(&tPxWB=h>OevK0h+`+r@vy}!09ri%acF|28; zdVyo)Xi#Baart=t-T9gN_h=WyB>=X?D|4w`sZY$>S8!z46VJj1Y&r>6hwPOyC%+B6 zUsWzq>M6NG?((iSY4B{Fta|;YGO zMX1M2e~3W5I2d>kTQ(XjPLxeK&G%O36Me}PC1ZHMe17JQNZ*OGr~yj9(XjF)!f9&2 zUVK~bc@P$Pcq*q&WPydOVq0Ji@8i1s_b2e9d^gg}9)Ilgj<%{?m0#>C9x}4oNj+_9 zOZIAY{faHuf+zF2pB;bsSz+fbXAt(P<>w@KZ(?J*FJgl&`}W=5secVKk`fQX?T`o- zYd2V?xAR~t-*Ii+h3BRI9rFdi3gH;2f0L3KNL9(9hPK1ZMQ|X@zF+yJ8Jmyq?bjbM zA>1p1*`#}aE{rLw4GTY_TALSMAJmq#tuwURzaXbn$fEUAj7l-*4+hV7r0ce}AHey7 zNNp~jl9;E9h*E3wgoMkB>~Yhj`BsG7tVbH%4}g2yIzY7aUfacaGj-9ZC%R+%JT;{16~h3^dU2hX-X#b;Z8Uy;P-CRtfpT8*BV!m_V1Tf!k) zWG~z1znTTg*f8`iA84ZK9j197B6Z~#t1RhK__rv;{l0r1;{DyH%Qurga6Y(Y!_t_i zzw-Al>p_R*9Z4Jb)Z)#@O+iGB+qaKEx-las0*YQWD%5BclJGCf0bby`%xn%OEIix!JjJk@;sXV7D&5;-w4{(Reo>0?19W}qlCLM#Ve|p z3J#SM+U$pclO9r&7ODp-&W+=|*K3&TlyUr`EOQ>*4D5v~b3ghVkq9l0}#)|H>@ZyF&SrlYx? zhM((<)N8P_SF^X_k+bO7QP1u={zid-%l<}bmTMYOP1m<59eo@#W*x1@VB7i^0v0u< zyNEuOkmG0tiO|QgtKO6MfhPh7_?F6&sEQ63-y}@SvkhJp$iOcFgiPm!sT=TGr8SCaqM;rs_4?0b0igqa=u9U zp813ADr=or&cRt+yWUe(MbJ?hPQ|wj-oSlFd4qEB7;CDk;h=n5&|2nOyh@W2JywOg zZ9QlNcSE7==ygneD8gmr_=&0^#!!H04m;*@nKH}c&1rfyEhK2p#w9eVfB%$cwhqn> zds(y}#)D11Fn68hgum*<*@X(dkN>knmww;xOeSm5@FI*bZ zO|eA}(32If`abNHJkA@Sn~oh1`q!+rYiM0@3z)CUlr=q#pkclD4uNR{R#JJCCKZ^! z?jt)eosb;*=isE+=s+{2TT5Aut`N%b)u5`)_JN?uO#8^vo9ks48vlrc=Q|%Qe(alW zaPIAk5MZ1gJ&mG~vnNNR+n%LG=o` zozHIyoyjcP$fM6a%$0nvVHlyzdPJ9n(Llahwq14a6zT|&}9&%sYT9p-fycCZ%f;s zqpi1LU*SZ0K!rOydDhed9{C6gHd{3)Juoq795;%n!N1IG(Rz#<3dhyP9k<4eC#yK2>cZV`V{T_pjTBMC??x z7CyxhG~NhPc~b_mc~yLYx5bSbbFO()_8A#BZS<(PHeqY{^sZqM74C-914d%G1-acT zHA=Q8ak^N(&fMPG$2w^fL7o!|<(pE@a_fbTnv{2lu#g_hz~3D5{*T&2=hV#q^*ei% zax&!(26StbHH2w(z{~Ht+Z4mUl4)?Sv`}1lf!Dg7X7`fqgiOyFkMpq871_MG=EwK2 z29I!Fuqj^9#PwPDzWWtFOL5fZcqQDz-IS)lfUS7Nx41|b z8=$}oO248WI`(R+KGj+f8EAe0TH@Yp|{RkR(S*}W> z>dB+qE#JNQFPl&T%9EcPFhl--?Oc0QlGzp~EiJW&mDg*T-kPRTOS7~xN~}ibCT0%} zuZfx#VjybyATdRIXK4@9lp@PVCW@3KK2Wh5vk?W~q=Hzc_(*7cfP(Pd4_tTF{BhT; z`{%5?-2a?!?X}PO&bQD0&e`Yu_Sw-GG&G;7RFsWef6ik@*lcASjvIdj#e}R_@evW9 z&vJmXVgAFMB^;@t8eyU8Q64PSPRV*%&UWd|oG4aJWTC_lk3R0SrTDXIb_OQk4)mel z-#sp5dMo9A8P8W^N=$L2@!TM@H7|9EQ-WFeO3-CWz<5#vAe0+R7j@!3$Da&G;lf#O!FTz^a2#i{#7~IRt1OX(bp%8ZEcns9wTS1HGX{u zML73Pw-rw;yrHwm;5FDV#PbIbXWb$dWgJhWYR`s1O7Q*^HO>)HaCKeOvzUn>Bgaes zPzxd#FV;TRe-@S1T41W9qYHAt0Fk^y`dU98r-iP&);^f8L73C7tue;r>VW8HH1!k+ z*n{+JgCPjimN+`?^y7ZixNr0EqP#DUTFo>Eqx~AvRSroz5A8P_+6EGD`I1 zORJ`ZE!yuO$nPMQZnORs*`Pa%t~@Y7SLen^_+qFoAdo)WQh}yhkUm58P=j>QAV5<> z%noTT{zDS#SNtwq!~e}FXAVy9TmR-ic)G?sG?i+#gH1FKf2j07wEI^SaZA?ImU63{ zOEDdK<$`PzVfoR&m3--{y&#pwQp2+j9T@0ESP>;vVwsg-_~0eBjf$zk=G(WT7HcDh zWQ>C`JqBZV(bpcDNm<(Sl9>DB*Vc+C8x@R!Z98v=9@ePI5}u4PSrMmzf;YH|BH(1( zZt_|rusLqv+t>t}pJ_}ga?4{bw`y~KP1VR7U3b*BJRaG@8RT|#dn4HiZr(2hQ3d1+hAeCcL9z)u;^G2T1k=sWyP0pO}!ekr@q%jz7^j%0H; zVVy~eOQlP zJ(ZV^W}9^wN5s=&X`|VQXrB&Do;6@!7q?8^%W&J5m$#qJ58?~pJlHO0tLX9wgnP@X z9A@w|-Rj}M$~943K`*ZlJ)Y9rdzc+E{O4t|yfk^<=NC!YkGI z(=HvxtUdry23Ro%K%faNWx@+NiV*gB6@b^?Ff;*C&$^RQkbOAg!a zJG#6=l9frh3v5TWD9}SKUXBG-P8&+n0-FTJv3$%FX-59b?CvwSd@9^~!d?V+Shl*K z9ZrSa>0D)%V?Vpx+^V#h(b}-tE&%b_b>?g`@ayKv4bLt$c>368W#iKy)_A-t`jOaK zF7nzUE#@^c8YZiOF1I``K=s+M$De(jlZ5Mc(-L=ADl9k}#Cb$ed8Yz|8w7{6&>X)v#fqtoN6K4@K7)4|-jaPQ zQZPz1-JZ}G99I(T+;ac#C62sVQ6rL0eF4b#I_riO!j3eD<>bxi>#?j);Txxs6Iu=R z%c|=_yy$y~*sCj{6mWmvu zZtn^ExI2ofGx^co=~^^l_RV+H#ewzb7%?Na!%mPNq@7_&ZFb;uboVq(=_hp<9U9|L z)#1N;`QZXl%oU!YFJ}7naTyUTam?BB;>S}Jo#ysNQUhpuLad8m%q@Jfc>x9^)_;k= zrgLY9jNT}nY&yTR`DS5A&lLzx+zcILUKB}Nqg^wKJ$qdHDb^!jxO3B>aUNyZ>6J@i zJ|S`4^vUh9HJ7Bt%GM9uDR*GO2w$SNRN~;BRrG6Xi=9uYO`S=U2a8rkkRKltew&Ls zLbh8v7~Dim9*dB%@1}X@8YM~?Dv>j{%gfZGMRHCYL^S()B7uC0^|5g*=31Z??kr5E zOeSLo;a*XQBEq@apQf91)g(@(q21w6>3cqfz#U%l=tK@Z~R&VJ444Y1) zJ}PFuuL3^!52=KWTq01UBmwQ!guujhfHRupckmUKA+F{xYs1rm9%0`kA}~=E6^aX$ zs`2q%f>xo-y;`1}+M7Y`l8#?xA2ET_hatZBM-@b6yZ{){SvMuaWH1hRm{oZZyUeMI zFoO$A4qUs1Kr`dl0!1*^>o#6Nc8tVixnKT*qg@LOZl~rg<@(bQRF`1a2O2ya%y~oJ zR?6kNZ?|d77)E;t9A>~oGUjKVwk`B%NDF9?(I+koT(ZbD_1hlFy1#@jU{BHxoiD46 zg4Qd3_Q$4YeooiFCzn9S*|P!F(6X&su(ljDj1!5@=R#vy%vr6`$_RNEG+Q~K-y0|) zh(eNl8ePHJw{bZ?zRseK(LLdQPbMKsRV?>C(C&RtU%lJr<)j+_nY%>}20nt+zAsIP zcFIx7$1dXtqRiMx-!fP1UH_^CuvTUmBC_mrB|tOBz6bNA04_B#iP`mT&Dh;?GYNMa zxAsa)QZnAW7f&w!?*CmFnQ&bwa!k2f>bqe24eL40c E0hh0QuK)l5 literal 0 HcmV?d00001 From 88799a5d8322d0c87a2fe44237ca000672ecaacf Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 09:35:34 +0300 Subject: [PATCH 29/48] edit the task1 docker --- task2_vault/tf/vault-resources.tf | 1 + 1 file changed, 1 insertion(+) diff --git a/task2_vault/tf/vault-resources.tf b/task2_vault/tf/vault-resources.tf index 6a43273..6d46589 100644 --- a/task2_vault/tf/vault-resources.tf +++ b/task2_vault/tf/vault-resources.tf @@ -51,3 +51,4 @@ resource "vault_userpass_user" "service-account" { vault_policy.service-alpha-policy.name ] } + From da9e56f63090f201928c5a0db4b88ed27bd4445c Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 09:43:35 +0300 Subject: [PATCH 30/48] Added 'image.png' --- task1_docker/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/task1_docker/README.md b/task1_docker/README.md index a4e9c9f..7390f1a 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -65,6 +65,8 @@ To do this we will run the following command To open in browser, I will access http:/localhost:8060/helloworld +![Browser Access](task1_docker\image.png) + ``` ### 4. Tag it with :v1.0.0 and :latest and push the image to your DockerHub or Github Packages repository From e324ff47d3dbb46888090756d65e39e39171b3f4 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 09:46:06 +0300 Subject: [PATCH 31/48] Added 'image.png' --- task1_docker/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index 7390f1a..cea5951 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -65,9 +65,9 @@ To do this we will run the following command To open in browser, I will access http:/localhost:8060/helloworld -![Browser Access](task1_docker\image.png) - ``` +![Browser](task1_docker\image.png) + ### 4. Tag it with :v1.0.0 and :latest and push the image to your DockerHub or Github Packages repository ``` From 97bc4dd8d6247565adf28e2b98e9dbe3caeead70 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 09:47:39 +0300 Subject: [PATCH 32/48] Added 'image.png' --- task1_docker/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index cea5951..838a4ac 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -66,7 +66,7 @@ To do this we will run the following command To open in browser, I will access http:/localhost:8060/helloworld ``` -![Browser](task1_docker\image.png) +![](image.png) ### 4. Tag it with :v1.0.0 and :latest and push the image to your DockerHub or Github Packages repository From f8a5e046baf6f530ceef34004a331e257211479a Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 09:48:40 +0300 Subject: [PATCH 33/48] Added 'image.png' --- task1_docker/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index 838a4ac..cae6c39 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -66,8 +66,10 @@ To do this we will run the following command To open in browser, I will access http:/localhost:8060/helloworld ``` -![](image.png) +
+![](image.png =600x) +
### 4. Tag it with :v1.0.0 and :latest and push the image to your DockerHub or Github Packages repository ``` From f0bd0a2278a2fd8888d6fbd4558b9ecdf0817d29 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 09:49:06 +0300 Subject: [PATCH 34/48] Added 'image.png' --- task1_docker/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index cae6c39..e960722 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -68,7 +68,7 @@ To open in browser, I will access http:/localhost:8060/helloworld ```
-![](image.png =600x) +![](image.png=600x)
### 4. Tag it with :v1.0.0 and :latest and push the image to your DockerHub or Github Packages repository From 543e37fabe837a6b29db59f69107620c3c970214 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 09:49:37 +0300 Subject: [PATCH 35/48] Added 'image.png' --- task1_docker/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/task1_docker/README.md b/task1_docker/README.md index e960722..d86fb50 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -69,6 +69,7 @@ To open in browser, I will access http:/localhost:8060/helloworld
![](image.png=600x) +
### 4. Tag it with :v1.0.0 and :latest and push the image to your DockerHub or Github Packages repository From 2ffefa5eb807514327bc55dbf0347de80696e234 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 09:50:12 +0300 Subject: [PATCH 36/48] Added 'image.png' --- task1_docker/README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index d86fb50..bbd83f2 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -66,12 +66,9 @@ To do this we will run the following command To open in browser, I will access http:/localhost:8060/helloworld ``` -
![](image.png=600x) -
- ### 4. Tag it with :v1.0.0 and :latest and push the image to your DockerHub or Github Packages repository ``` For (:v1.0.0): From 4783f5be87bd08c51e0e62c675256ced524e7d48 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 09:51:25 +0300 Subject: [PATCH 37/48] Added 'image.png' --- task1_docker/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index bbd83f2..2ea5b38 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -66,8 +66,10 @@ To do this we will run the following command To open in browser, I will access http:/localhost:8060/helloworld ``` +
-![](image.png=600x) +![](./image.png) +
### 4. Tag it with :v1.0.0 and :latest and push the image to your DockerHub or Github Packages repository ``` From b017cd19224eac22ec6de182f383e85d3c8b5787 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 09:53:42 +0300 Subject: [PATCH 38/48] 'URL for v1.0.0' --- task1_docker/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index 2ea5b38..abe448e 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -76,7 +76,7 @@ To open in browser, I will access http:/localhost:8060/helloworld For (:v1.0.0): - docker build -t galactican/go_app:v1.0.0 . - docker push galactican/go_app:v1.0.0 -URL= https://hub.docker.com/layers/galactican/go_app/v1.0.0/images/sha256:4805a5a50105f82ec9563b118757084608a565760e64281bac93f8c3370882cd +[Docker image for v1.0.0](https://hub.docker.com/layers/galactican/go_app/v1.0.0/images/sha256:4805a5a50105f82ec9563b118757084608a565760e64281bac93f8c3370882cd) For (:latest) - docker build -t galactican/go_app:latest . From 2418cc032a8e95fc2019a68f5fbb8236bb934560 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 09:55:05 +0300 Subject: [PATCH 39/48] Docker image URL v1.0.0' --- task1_docker/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index abe448e..759632d 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -76,7 +76,8 @@ To open in browser, I will access http:/localhost:8060/helloworld For (:v1.0.0): - docker build -t galactican/go_app:v1.0.0 . - docker push galactican/go_app:v1.0.0 -[Docker image for v1.0.0](https://hub.docker.com/layers/galactican/go_app/v1.0.0/images/sha256:4805a5a50105f82ec9563b118757084608a565760e64281bac93f8c3370882cd) + +![Docker image for v1.0.0](https://hub.docker.com/layers/galactican/go_app/v1.0.0/images/sha256:4805a5a50105f82ec9563b118757084608a565760e64281bac93f8c3370882cd) For (:latest) - docker build -t galactican/go_app:latest . From 5b189dcfcf03a616a7cf915b0a3fb7a28f25b944 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 09:58:04 +0300 Subject: [PATCH 40/48] Docker image URL v1.0.0' and 'latest' --- task1_docker/README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index 759632d..a3f47c0 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -77,11 +77,15 @@ For (:v1.0.0): - docker build -t galactican/go_app:v1.0.0 . - docker push galactican/go_app:v1.0.0 -![Docker image for v1.0.0](https://hub.docker.com/layers/galactican/go_app/v1.0.0/images/sha256:4805a5a50105f82ec9563b118757084608a565760e64281bac93f8c3370882cd) +``` +[Docker image for v1.0.0](https://hub.docker.com/layers/galactican/go_app/v1.0.0/images/sha256:4805a5a50105f82ec9563b118757084608a565760e64281bac93f8c3370882cd) +``` For (:latest) - docker build -t galactican/go_app:latest . - docker push galactican/go_app:latest -URL= https://hub.docker.com/layers/galactican/go_app/latest/images/sha256:4805a5a50105f82ec9563b118757084608a565760e64281bac93f8c3370882cd ``` +[Docker image for :latest](https://hub.docker.com/layers/galactican/go_app/latest/images/sha256:4805a5a50105f82ec9563b118757084608a565760e64281bac93f8c3370882cd) + + From 0ebd384c4cd4e07b2817c422c811ae7cac0ee8c0 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 10:02:42 +0300 Subject: [PATCH 41/48] Added 'image.png' to resize --- task1_docker/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index a3f47c0..e8f3840 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -68,7 +68,7 @@ To open in browser, I will access http:/localhost:8060/helloworld ```
-![](./image.png) +![](./image.png){ =600x}
### 4. Tag it with :v1.0.0 and :latest and push the image to your DockerHub or Github Packages repository From bf3f628a0a9af56d0360a5251a0ba3dce0420da1 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 10:03:19 +0300 Subject: [PATCH 42/48] Added 'image.png' to resize --- task1_docker/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index e8f3840..3872b0f 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -68,7 +68,7 @@ To open in browser, I will access http:/localhost:8060/helloworld ```
-![](./image.png){ =600x} +![](./image.png){ =60%}
### 4. Tag it with :v1.0.0 and :latest and push the image to your DockerHub or Github Packages repository From 54fe16eac01cca77f6ec6dffddbf8260aca9848c Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 10:04:14 +0300 Subject: [PATCH 43/48] Added 'image.png' to resize --- task1_docker/README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index 3872b0f..1654536 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -66,10 +66,9 @@ To do this we will run the following command To open in browser, I will access http:/localhost:8060/helloworld ``` -
-![](./image.png){ =60%} -
+![](./image.png){ width=60%} + ### 4. Tag it with :v1.0.0 and :latest and push the image to your DockerHub or Github Packages repository ``` From db690eb75d98d05f56a37bcf06c362dfbcc30081 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 10:05:38 +0300 Subject: [PATCH 44/48] Added 'image.png' to resize --- task1_docker/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index 1654536..8dca039 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -67,7 +67,7 @@ To open in browser, I will access http:/localhost:8060/helloworld ``` -![](./image.png){ width=60%} +![](image.png){width=60%} ### 4. Tag it with :v1.0.0 and :latest and push the image to your DockerHub or Github Packages repository From 15e9cb1134789f5a1ad097be102e047ea57d25cf Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 10:06:17 +0300 Subject: [PATCH 45/48] Added 'image.png' to resize --- task1_docker/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index 8dca039..92d8064 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -67,7 +67,7 @@ To open in browser, I will access http:/localhost:8060/helloworld ``` -![](image.png){width=60%} +![](image.png) ### 4. Tag it with :v1.0.0 and :latest and push the image to your DockerHub or Github Packages repository From 6e5d40e3b7d1b9e71573a7bca64b0821a6ec92cf Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 10:14:29 +0300 Subject: [PATCH 46/48] Added 'image2' for docker images --- task1_docker/image2.png | Bin 0 -> 97797 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 task1_docker/image2.png diff --git a/task1_docker/image2.png b/task1_docker/image2.png new file mode 100644 index 0000000000000000000000000000000000000000..ba330dd17e3ab1b1d36dbfc3ee44ede93e7fa3f8 GIT binary patch literal 97797 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 Date: Wed, 19 Apr 2023 10:15:54 +0300 Subject: [PATCH 47/48] Added the path to image2 in README --- task1_docker/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index 92d8064..264bfa3 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -87,4 +87,4 @@ For (:latest) ``` [Docker image for :latest](https://hub.docker.com/layers/galactican/go_app/latest/images/sha256:4805a5a50105f82ec9563b118757084608a565760e64281bac93f8c3370882cd) - +![](task1_docker\image2.png) From 7889ff47318a3e82ad98bf342a2e88099ae394f0 Mon Sep 17 00:00:00 2001 From: Los-merengue Date: Wed, 19 Apr 2023 10:17:33 +0300 Subject: [PATCH 48/48] Added the path to image2 in README --- task1_docker/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/task1_docker/README.md b/task1_docker/README.md index 264bfa3..3f2ac50 100644 --- a/task1_docker/README.md +++ b/task1_docker/README.md @@ -87,4 +87,5 @@ For (:latest) ``` [Docker image for :latest](https://hub.docker.com/layers/galactican/go_app/latest/images/sha256:4805a5a50105f82ec9563b118757084608a565760e64281bac93f8c3370882cd) -![](task1_docker\image2.png) + +![](image2.png)