From d5967aee558a1bf9e756adbf25f11a63fc6e6d77 Mon Sep 17 00:00:00 2001 From: Gamze Basoda Date: Sat, 17 Aug 2024 16:32:26 +0000 Subject: [PATCH 01/34] sh files created to build and test in the workflow --- CI/build.frontend.sh | 2 ++ CI/test-frontend.sh | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 CI/build.frontend.sh create mode 100644 CI/test-frontend.sh diff --git a/CI/build.frontend.sh b/CI/build.frontend.sh new file mode 100644 index 000000000..135dced07 --- /dev/null +++ b/CI/build.frontend.sh @@ -0,0 +1,2 @@ +cd frontend +go build \ No newline at end of file diff --git a/CI/test-frontend.sh b/CI/test-frontend.sh new file mode 100644 index 000000000..c2d49e82c --- /dev/null +++ b/CI/test-frontend.sh @@ -0,0 +1,2 @@ +cd frontend +go test \ No newline at end of file From 144902429a95713e1094fc2de21599400aab1e94 Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Sat, 17 Aug 2024 18:34:28 +0200 Subject: [PATCH 02/34] Build and test in workflow --- .github/workflows/main.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 000000000..c2ac17342 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,23 @@ +name: CI Pipeline + +on: + pull_request: + branches: + - main + push: + branches: + - main +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: 1.16 + - name: Build the application + run: bash CI/build-frontend.sh + - name: Run tests + run: bash CI/test-frontend.sh From 62027d8f65f0c4b4373bea09b8b5b1965ee88a9a Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Sat, 17 Aug 2024 18:36:37 +0200 Subject: [PATCH 03/34] Change of symbol --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c2ac17342..0a0ecf109 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,6 +18,6 @@ jobs: with: go-version: 1.16 - name: Build the application - run: bash CI/build-frontend.sh + run: bash CI/build.frontend.sh - name: Run tests run: bash CI/test-frontend.sh From 985ca40ed83c5712ce94070a08207cfebd2c6c23 Mon Sep 17 00:00:00 2001 From: Gamze Basoda Date: Sat, 17 Aug 2024 16:38:22 +0000 Subject: [PATCH 04/34] change of symbol --- CI/{build.frontend.sh => build-frontend.sh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename CI/{build.frontend.sh => build-frontend.sh} (100%) diff --git a/CI/build.frontend.sh b/CI/build-frontend.sh similarity index 100% rename from CI/build.frontend.sh rename to CI/build-frontend.sh From 89d59c0f650cf872f996380c45a166f796078d3c Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Sat, 17 Aug 2024 19:01:35 +0200 Subject: [PATCH 05/34] Change of on action --- .github/workflows/main.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c2ac17342..dbe5e2adc 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,12 +1,6 @@ name: CI Pipeline -on: - pull_request: - branches: - - main - push: - branches: - - main +on: push jobs: build: runs-on: ubuntu-latest From 1e8eae1105433f2a8aa9a22060b6c657711b9811 Mon Sep 17 00:00:00 2001 From: Gamze Basoda Date: Sat, 17 Aug 2024 17:06:22 +0000 Subject: [PATCH 06/34] change of symbol --- CI/{build.frontend.sh => build-frontend.sh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename CI/{build.frontend.sh => build-frontend.sh} (100%) diff --git a/CI/build.frontend.sh b/CI/build-frontend.sh similarity index 100% rename from CI/build.frontend.sh rename to CI/build-frontend.sh From de80b689f62c65e8a2b994f62886f297ee518908 Mon Sep 17 00:00:00 2001 From: Gamze Basoda Date: Sat, 17 Aug 2024 17:09:11 +0000 Subject: [PATCH 07/34] main.go files modified --- backend/main.go | 2 +- frontend/main.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/main.go b/backend/main.go index 650ef3963..2d0edeb75 100644 --- a/backend/main.go +++ b/backend/main.go @@ -178,5 +178,5 @@ func main() { mux.Handle("/fortunes/", fortuneH) err := http.ListenAndServe(":9000", mux) - fmt.Println("%v", err) + fmt.Printf("%v", err) } diff --git a/frontend/main.go b/frontend/main.go index bede472b4..27f4da2a4 100644 --- a/frontend/main.go +++ b/frontend/main.go @@ -101,5 +101,5 @@ func main() { http.Handle("/", http.FileServer(http.Dir("./static"))) err := http.ListenAndServe(":8080", nil) - fmt.Println("%v", err) + fmt.Printf("%v", err) } From 3a8e8904ed26269c0837847e6c49a4e6ef279449 Mon Sep 17 00:00:00 2001 From: Gamze Basoda Date: Sat, 17 Aug 2024 17:12:47 +0000 Subject: [PATCH 08/34] test for backend --- CI/test-backend.sh | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 CI/test-backend.sh diff --git a/CI/test-backend.sh b/CI/test-backend.sh new file mode 100644 index 000000000..824dfb981 --- /dev/null +++ b/CI/test-backend.sh @@ -0,0 +1,2 @@ +cd backend +go test \ No newline at end of file From baed04842a175d1063a96cb1c566b4d868f845bc Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Sat, 17 Aug 2024 19:14:47 +0200 Subject: [PATCH 09/34] Backend test added --- .github/workflows/main.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0a0ecf109..c745a5b54 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -19,5 +19,7 @@ jobs: go-version: 1.16 - name: Build the application run: bash CI/build.frontend.sh - - name: Run tests + - name: Run frontend test run: bash CI/test-frontend.sh + - name: Run backend test + run: Run CI/test-backend.sh From 47c65aafffd5cdf2facc2b149c536ac5570fff81 Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Sat, 17 Aug 2024 19:16:18 +0200 Subject: [PATCH 10/34] change of symbol --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c1ffdeb89..4b4dc72ff 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,7 +12,7 @@ jobs: with: go-version: 1.16 - name: Build the application - run: bash CI/build.frontend.sh + run: bash CI/build-frontend.sh - name: Run frontend test run: bash CI/test-frontend.sh - name: Run backend test From 4ea6a29e9a0156899b9ee0f17d55b22c954087d1 Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Sat, 17 Aug 2024 19:17:41 +0200 Subject: [PATCH 11/34] typo error fixed --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4b4dc72ff..5ace01cd9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,4 +16,4 @@ jobs: - name: Run frontend test run: bash CI/test-frontend.sh - name: Run backend test - run: Run CI/test-backend.sh + run: bash CI/test-backend.sh From 5e055cbecf72f9a5995e176924fce0b08a23dc5d Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Sat, 17 Aug 2024 19:21:32 +0200 Subject: [PATCH 12/34] maintaining mainline integrity --- .github/workflows/main.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5ace01cd9..5e094f809 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,6 +1,12 @@ name: CI Pipeline -on: push +on: + pull_request: + branches: + - main + push: + branches: + - main jobs: build: runs-on: ubuntu-latest From 37e010b6382f3607a947ccbe2b25fdad73cb348f Mon Sep 17 00:00:00 2001 From: Gamze Basoda Date: Sat, 17 Aug 2024 17:36:32 +0000 Subject: [PATCH 13/34] manifests for backend --- backend/backend-deployment.yaml | 22 ++++++++++++++++++++++ backend/backend.service.yaml | 0 2 files changed, 22 insertions(+) create mode 100644 backend/backend-deployment.yaml create mode 100644 backend/backend.service.yaml diff --git a/backend/backend-deployment.yaml b/backend/backend-deployment.yaml new file mode 100644 index 000000000..342213db9 --- /dev/null +++ b/backend/backend-deployment.yaml @@ -0,0 +1,22 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + run: backend-deployment + name: backend-deployment +spec: + replicas: 1 + selector: + matchLabels: + run: backend-deployment + template: + metadata: + labels: + run: backend-deployment + spec: + containers: + - name: backend-deployment + image: ghcr.io/eficode-academy/simple-fortune-cookie/backend:latest + ports: + - containerPort: 9000 + diff --git a/backend/backend.service.yaml b/backend/backend.service.yaml new file mode 100644 index 000000000..e69de29bb From da27db6080bbc09940972218cb4d9cf1439ebc15 Mon Sep 17 00:00:00 2001 From: Gamze Basoda Date: Sat, 17 Aug 2024 17:37:46 +0000 Subject: [PATCH 14/34] backend service --- backend/backend.service.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/backend/backend.service.yaml b/backend/backend.service.yaml index e69de29bb..3c7b3f59c 100644 --- a/backend/backend.service.yaml +++ b/backend/backend.service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: backend-service + labels: + app: backend-deployment +spec: + type: NodePort + selector: + app: backend-deployment + ports: + - port: 5000 + targetPort: 5000 + protocol: TCP + From 94592c58c15c22d304951aebad7ef587c9641015 Mon Sep 17 00:00:00 2001 From: Gamze Basoda Date: Sat, 17 Aug 2024 17:39:47 +0000 Subject: [PATCH 15/34] frontend manifests --- frontend/frontend-deployment.yaml | 22 ++++++++++++++++++++++ frontend/frontend-service.yaml | 15 +++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 frontend/frontend-deployment.yaml create mode 100644 frontend/frontend-service.yaml diff --git a/frontend/frontend-deployment.yaml b/frontend/frontend-deployment.yaml new file mode 100644 index 000000000..195e512b3 --- /dev/null +++ b/frontend/frontend-deployment.yaml @@ -0,0 +1,22 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + run: frontend-deployment + name: frontend-deployment +spec: + replicas: 1 + selector: + matchLabels: + run: frontend-deployment + template: + metadata: + labels: + run: frontend-deployment + spec: + containers: + - name: frontend-deployment + image: ghcr.io/eficode-academy/simple-fortune-cookie/frontend:latest + ports: + - containerPort: 8080 + diff --git a/frontend/frontend-service.yaml b/frontend/frontend-service.yaml new file mode 100644 index 000000000..6da1f77ab --- /dev/null +++ b/frontend/frontend-service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: frontend-service + labels: + app: frontend-deployment +spec: + type: NodePort + selector: + app: frontend-deployment + ports: + - port: 5000 + targetPort: 5000 + protocol: TCP + From 93416eb485f4629d98ff61673c09500623faf2b2 Mon Sep 17 00:00:00 2001 From: Gamze Basoda Date: Sat, 17 Aug 2024 17:41:48 +0000 Subject: [PATCH 16/34] change of symbol --- backend/{backend.service.yaml => backend-service.yaml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename backend/{backend.service.yaml => backend-service.yaml} (100%) diff --git a/backend/backend.service.yaml b/backend/backend-service.yaml similarity index 100% rename from backend/backend.service.yaml rename to backend/backend-service.yaml From b979fd39088bcbc779b8dc7d73371f5c8e2ea31c Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Sat, 17 Aug 2024 19:57:22 +0200 Subject: [PATCH 17/34] pushing to github container registry --- .github/workflows/main.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5e094f809..5df232580 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -7,6 +7,10 @@ on: push: branches: - main +env: + docker_username: ${{ github.actor }} + docker_password: ${{ secrets.GITHUB_TOKEN }} # GitHub Token for GitHub Container Registry + GIT_COMMIT: ${{ github.sha }} jobs: build: runs-on: ubuntu-latest @@ -23,3 +27,28 @@ jobs: run: bash CI/test-frontend.sh - name: Run backend test run: bash CI/test-backend.sh + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Log in to GitHub Container Registry + uses: docker/login-action@v3 + with: + username: ${{ env.docker_username }} + password: ${{ env.docker_password }} + - name: Build and push Docker image + uses: docker/build-push-action@v4 + with: + context: . + push: true + tags: ghcr.io/${{ github.repository }}:${{ github.sha }} + + deploy: + runs-on: ubuntu-latest + needs: build + + steps: + - name: Pull Docker image + run: docker pull ghcr.io/${{ github.repository }}:${{ github.sha }} + + - name: Deploy + run: | + docker run -d --name cookie -p 80:80 ghcr.io/${{ github.repository }}:${{ github.sha }} # Adjust according to your application From 454df952a7c3aefe92a16c9f2a4a3941c6190474 Mon Sep 17 00:00:00 2001 From: Gamze Basoda Date: Sat, 17 Aug 2024 18:10:48 +0000 Subject: [PATCH 18/34] building docker --- CI/build-docker.sh | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 CI/build-docker.sh diff --git a/CI/build-docker.sh b/CI/build-docker.sh new file mode 100644 index 000000000..5bd1ca5a5 --- /dev/null +++ b/CI/build-docker.sh @@ -0,0 +1,5 @@ +#!/bin/bash +[[ -z "${GIT_COMMIT}" ]] && Tag='local' || Tag="${GIT_COMMIT::8}" +REPO="ghcr.io/$docker_username/" +echo "${REPO}" +docker build -t "${REPO}micronaut-app:latest" -t "${REPO}micronaut-app:1.0-$Tag" app/ \ No newline at end of file From ab732f85f7563663d1a29b142b3141cc3d44aaa7 Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Sat, 17 Aug 2024 20:15:07 +0200 Subject: [PATCH 19/34] pushing to github container registry --- .github/workflows/main.yml | 41 +++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5df232580..8ec9f3618 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -27,28 +27,23 @@ jobs: run: bash CI/test-frontend.sh - name: Run backend test run: bash CI/test-backend.sh - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: Log in to GitHub Container Registry - uses: docker/login-action@v3 - with: - username: ${{ env.docker_username }} - password: ${{ env.docker_password }} - - name: Build and push Docker image - uses: docker/build-push-action@v4 - with: - context: . - push: true - tags: ghcr.io/${{ github.repository }}:${{ github.sha }} - - deploy: + - name: Upload repo + uses: actions/upload-artifact@v4 + with: + name: code + path: . + Docker-image: runs-on: ubuntu-latest - needs: build - + needs: [build] + permissions: + packages: write steps: - - name: Pull Docker image - run: docker pull ghcr.io/${{ github.repository }}:${{ github.sha }} - - - name: Deploy - run: | - docker run -d --name cookie -p 80:80 ghcr.io/${{ github.repository }}:${{ github.sha }} # Adjust according to your application + - name: Download code + uses: actions/download-artifact@v4 + with: + name: code + path: . + - name: ls + run: ls -la ci + - name: build docker + run: bash CI/build-docker.sh From 7bfd34687799cceedc3e8e408548808458757d26 Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Sat, 17 Aug 2024 20:16:24 +0200 Subject: [PATCH 20/34] typo error fixed --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8ec9f3618..5fab46ec1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -44,6 +44,6 @@ jobs: name: code path: . - name: ls - run: ls -la ci + run: ls -la CI - name: build docker run: bash CI/build-docker.sh From ebfe7ae4b88eae0c154af054134c737cd65762c1 Mon Sep 17 00:00:00 2001 From: Gamze Basoda Date: Sat, 17 Aug 2024 18:21:03 +0000 Subject: [PATCH 21/34] docker build changed --- CI/build-docker.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CI/build-docker.sh b/CI/build-docker.sh index 5bd1ca5a5..6b4d3d09c 100644 --- a/CI/build-docker.sh +++ b/CI/build-docker.sh @@ -2,4 +2,4 @@ [[ -z "${GIT_COMMIT}" ]] && Tag='local' || Tag="${GIT_COMMIT::8}" REPO="ghcr.io/$docker_username/" echo "${REPO}" -docker build -t "${REPO}micronaut-app:latest" -t "${REPO}micronaut-app:1.0-$Tag" app/ \ No newline at end of file +docker build -t "${REPO}micronaut-app:latest" -t "${REPO}micronaut-app:1.0-$Tag" simple-fortune-cookie/ \ No newline at end of file From 86ceb627d842b4ec914e14ee378f156350a9ca4a Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Sat, 17 Aug 2024 20:27:17 +0200 Subject: [PATCH 22/34] deployment --- .github/workflows/main.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5fab46ec1..cb534d85d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -45,5 +45,6 @@ jobs: path: . - name: ls run: ls -la CI - - name: build docker - run: bash CI/build-docker.sh + - name: Push Docker image + run: docker push "${REPO}micronaut-app:latest" + From ae2063df6ed6de4811c28c2c8eb579c8492e6c60 Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Sat, 17 Aug 2024 20:34:14 +0200 Subject: [PATCH 23/34] pushing to github container registry --- .github/workflows/main.yml | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cb534d85d..ac522b6bb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -37,14 +37,31 @@ jobs: needs: [build] permissions: packages: write + contents: read # Needed to access code artifacts steps: - - name: Download code - uses: actions/download-artifact@v4 - with: - name: code - path: . - - name: ls - run: ls -la CI - - name: Push Docker image - run: docker push "${REPO}micronaut-app:latest" + - name: Download code + uses: actions/download-artifact@v4 + with: + name: code + path: . + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Log in to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push Docker image + uses: docker/build-push-action@v4 + with: + context: . + push: true + tags: ghcr.io/${{ github.repository_owner }}/cookie:latest # Replace with your GHCR repo and tag + + - name: List directory + run: ls -la CI From 0b4be5320dd7ebabbbfe047fd92c943b08216352 Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Sat, 17 Aug 2024 20:42:25 +0200 Subject: [PATCH 24/34] Deployment added --- .github/workflows/main.yml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ac522b6bb..04199a62e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -9,7 +9,7 @@ on: - main env: docker_username: ${{ github.actor }} - docker_password: ${{ secrets.GITHUB_TOKEN }} # GitHub Token for GitHub Container Registry + docker_password: ${{ secrets.GITHUB_TOKEN }} GIT_COMMIT: ${{ github.sha }} jobs: build: @@ -37,7 +37,7 @@ jobs: needs: [build] permissions: packages: write - contents: read # Needed to access code artifacts + contents: read steps: - name: Download code uses: actions/download-artifact@v4 @@ -60,8 +60,19 @@ jobs: with: context: . push: true - tags: ghcr.io/${{ github.repository_owner }}/cookie:latest # Replace with your GHCR repo and tag + tags: ghcr.io/${{ github.repository_owner }}/cookie:latest - name: List directory run: ls -la CI + deploy: + runs-on: ubuntu-latest + needs: [Docker-image] + steps: + - name: Log in to GitHub Container Registry + run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin + + - name: Pull and run Docker image + run: | + docker pull ghcr.io/${{ github.repository_owner }}/cookie:${{ github.sha }} + docker run -d ghcr.io/${{ github.repository_owner }}/cookie:${{ github.sha }} From 190e80801168f7ef4bcbd2da0e4d409ce5d467dc Mon Sep 17 00:00:00 2001 From: Gamze Basoda Date: Sat, 17 Aug 2024 18:58:00 +0000 Subject: [PATCH 25/34] dockerfiles and composef file created --- backend/Dockerfile | 14 ++++++++++++++ docker-compose.yml | 14 ++++++++++++++ frontend/Dockerfile | 14 ++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 backend/Dockerfile create mode 100644 docker-compose.yml create mode 100644 frontend/Dockerfile diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 000000000..f21830e60 --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,14 @@ +FROM golang:1.16-alpine + +WORKDIR /app + +COPY go.mod go.sum ./ +RUN go mod download + +COPY . . + +RUN go build -o backend-app + +EXPOSE 8080 + +CMD ["./backend-app"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..fcdee4b94 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,14 @@ +version: '3.8' + +services: + frontend: + build: ./frontend + ports: + - "9000:9000" + depends_on: + - backend + + backend: + build: ./backend + ports: + - "8080:8080" diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 000000000..aa7bf8b53 --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,14 @@ +FROM golang:1.16-alpine + +WORKDIR /app + +COPY go.mod ./ +RUN go mod download + +COPY . . + +RUN go build -o frontend-app + +EXPOSE 9000 + +CMD ["./frontend-app"] From e441c623f753d457b996e6a92b1e1681cc85b2a8 Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Sat, 17 Aug 2024 21:02:20 +0200 Subject: [PATCH 26/34] dockerfile creation attempt --- .github/workflows/main.yml | 38 ++++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 04199a62e..441cc725e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,27 +17,36 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v3 + - name: Set up Go uses: actions/setup-go@v4 with: go-version: 1.16 - - name: Build the application + + - name: Build the frontend application run: bash CI/build-frontend.sh + - name: Run frontend test run: bash CI/test-frontend.sh + + - name: Build the backend application + run: bash CI/build-backend.sh + - name: Run backend test run: bash CI/test-backend.sh + - name: Upload repo uses: actions/upload-artifact@v4 with: name: code path: . + Docker-image: runs-on: ubuntu-latest needs: [build] permissions: packages: write - contents: read + contents: read steps: - name: Download code uses: actions/download-artifact@v4 @@ -55,15 +64,20 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Build and push Docker image + - name: Build and push frontend Docker image + uses: docker/build-push-action@v4 + with: + context: ./frontend + push: true + tags: ghcr.io/${{ github.repository_owner }}/cookie-frontend:${{ github.sha }} + + - name: Build and push backend Docker image uses: docker/build-push-action@v4 with: - context: . + context: ./backend push: true - tags: ghcr.io/${{ github.repository_owner }}/cookie:latest + tags: ghcr.io/${{ github.repository_owner }}/cookie-backend:${{ github.sha }} - - name: List directory - run: ls -la CI deploy: runs-on: ubuntu-latest needs: [Docker-image] @@ -71,8 +85,12 @@ jobs: - name: Log in to GitHub Container Registry run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin - - name: Pull and run Docker image + - name: Pull and run frontend Docker image run: | - docker pull ghcr.io/${{ github.repository_owner }}/cookie:${{ github.sha }} - docker run -d ghcr.io/${{ github.repository_owner }}/cookie:${{ github.sha }} + docker pull ghcr.io/${{ github.repository_owner }}/cookie-frontend:${{ github.sha }} + docker run -d -p 3000:3000 ghcr.io/${{ github.repository_owner }}/cookie-frontend:${{ github.sha }} + - name: Pull and run backend Docker image + run: | + docker pull ghcr.io/${{ github.repository_owner }}/cookie-backend:${{ github.sha }} + docker run -d -p 8080:8080 ghcr.io/${{ github.repository_owner }}/cookie-backend:${{ github.sha }} From e1946984a88d525601a025317465a696446f5d15 Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Sat, 17 Aug 2024 21:09:10 +0200 Subject: [PATCH 27/34] another approach to pushing to github and deploying --- .github/workflows/main.yml | 65 ++++++++++++-------------------------- 1 file changed, 21 insertions(+), 44 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 441cc725e..1c153ff7b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -40,57 +40,34 @@ jobs: with: name: code path: . - - Docker-image: + Linting: runs-on: ubuntu-latest needs: [build] - permissions: - packages: write - contents: read steps: - name: Download code uses: actions/download-artifact@v4 with: name: code path: . - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Log in to GitHub Container Registry - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build and push frontend Docker image - uses: docker/build-push-action@v4 - with: - context: ./frontend - push: true - tags: ghcr.io/${{ github.repository_owner }}/cookie-frontend:${{ github.sha }} - - - name: Build and push backend Docker image - uses: docker/build-push-action@v4 - with: - context: ./backend - push: true - tags: ghcr.io/${{ github.repository_owner }}/cookie-backend:${{ github.sha }} - - deploy: + - name: run linting + uses: super-linter/super-linter/slim@v5 + env: + DEFAULT_BRANCH: main + # To report GitHub Actions status checks + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DISABLE_ERRORS: true + Docker-image: runs-on: ubuntu-latest - needs: [Docker-image] + needs: [build] + permissions: + packages: write steps: - - name: Log in to GitHub Container Registry - run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin - - - name: Pull and run frontend Docker image - run: | - docker pull ghcr.io/${{ github.repository_owner }}/cookie-frontend:${{ github.sha }} - docker run -d -p 3000:3000 ghcr.io/${{ github.repository_owner }}/cookie-frontend:${{ github.sha }} - - - name: Pull and run backend Docker image - run: | - docker pull ghcr.io/${{ github.repository_owner }}/cookie-backend:${{ github.sha }} - docker run -d -p 8080:8080 ghcr.io/${{ github.repository_owner }}/cookie-backend:${{ github.sha }} + - name: Download code + uses: actions/download-artifact@v4 + with: + name: code + path: . + - name: ls + run: ls -la CI + - name: build docker + run: bash CI/build-docker.sh From a2cb2c2dbc0ce03b6cc21c5573fcce784230c196 Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Sat, 17 Aug 2024 21:18:43 +0200 Subject: [PATCH 28/34] changed some things to build and deploy --- .github/workflows/main.yml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1c153ff7b..bf4ead30e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -69,5 +69,16 @@ jobs: path: . - name: ls run: ls -la CI - - name: build docker - run: bash CI/build-docker.sh + - name: Build and push frontend Docker image + uses: docker/build-push-action@v4 + with: + context: ./frontend + push: true + tags: ghcr.io/${{ github.repository_owner }}/frontend:${{ github.sha }} + + - name: Build and push backend Docker image + uses: docker/build-push-action@v4 + with: + context: ./backend + push: true + tags: ghcr.io/${{ github.repository_owner }}/backend:${{ github.sha }} From 906c0c0e988a368e7e46ed8f00736642dfca2d49 Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Sat, 17 Aug 2024 21:20:34 +0200 Subject: [PATCH 29/34] backend build deleted --- .github/workflows/main.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bf4ead30e..7a4758e29 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -29,9 +29,6 @@ jobs: - name: Run frontend test run: bash CI/test-frontend.sh - - name: Build the backend application - run: bash CI/build-backend.sh - - name: Run backend test run: bash CI/test-backend.sh From 42b35503a574a27e444ce64527f73936f30925d7 Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Sat, 17 Aug 2024 21:24:37 +0200 Subject: [PATCH 30/34] docker login step added --- .github/workflows/main.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7a4758e29..fad4b2db3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -66,6 +66,12 @@ jobs: path: . - name: ls run: ls -la CI + - name: Log in to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push frontend Docker image uses: docker/build-push-action@v4 with: From 6bd28c5eaa25ec421f7f7ba89dfd9cd8df8cce04 Mon Sep 17 00:00:00 2001 From: Dlov507 Date: Mon, 19 Aug 2024 07:57:12 +0000 Subject: [PATCH 31/34] setup kubernates deployment. Closes #5 --- .github/workflows/main.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fad4b2db3..ac1335b9f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -85,3 +85,15 @@ jobs: context: ./backend push: true tags: ghcr.io/${{ github.repository_owner }}/backend:${{ github.sha }} + deploy: + runs-on: ubuntu-latest + needs: [docker-backend, docker-frontend] + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Create kubeconfig + run: echo "YXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VSQ1ZFTkRRV1V5WjBGM1NVSkJaMGxKVjJVdkwyWk1jQ3N5YmsxM1JGRlpTa3R2V2tsb2RtTk9RVkZGVEVKUlFYZEdWRVZVVFVKRlIwRXhWVVVLUVhoTlMyRXpWbWxhV0VwMVdsaFNiR042UVdWR2R6QjVUa1JCTkUxRVZYZFBSRkV5VGtSc1lVWjNNSHBPUkVFMFRVUk5kMDlFVlhoT1JHeGhUVUpWZUFwRmVrRlNRbWRPVmtKQlRWUkRiWFF4V1cxV2VXSnRWakJhV0UxM1oyZEZhVTFCTUVkRFUzRkhVMGxpTTBSUlJVSkJVVlZCUVRSSlFrUjNRWGRuWjBWTENrRnZTVUpCVVVOcFdXZE9hVWswWkdwbVprVkZTRWRHVEdKRlQxWnFSR2x1TDJoMlFtTjRTbmxZZFdobFpFOHdWSEJaY1hWcVNHUkdjVUpYVlhGVU56QUtZMmx6Y2xwblVtd3pVMlZPUmpkTVVtOXNRa0ZxUjBKT05VdFhPRzFXY1ZKak16WkRlSGx2YW5GSEszWmtkbmhCT1cxVGVWbEdUR2hxYzNsT09YQlVNZ3BoTDB0MWFEbFhWV0Z5TjNWUWFrUktWMk54V2tFMWFETnJibEJvTHpBdlVrdFZiRTlpU0doeGMwdDRRbEJLUWl0V09IbGFjM28zYnpkdU5tUldVVEVyQ2xSUFZ6TjVTREJsYVZJd1IzRjNUbEJ6S3pSa1l6RlFXVk5HWVRCaE1VTjNXRXB5T0hkek1tYzVSa3Q0YlRGRFRXbEVXSFJOWlVkNVpEaDFiRWRVV0hJS1VWRldOR1pIZDBwTlZEQk5iVXhTVDBkdFIyRkhZMnRsYWpKcFQyTXpLekpFWTFGRGMwY3lXRkI2ZEM5YWIydEVZMk50VG1KMWNYazNTM0ZRUjJoeGR3cFBNbTFFZGpFMmVVSkVVRGxrVjJZd0syaFVZMDR6YzJOQ1puaG9RV2ROUWtGQlIycFhWRUpZVFVFMFIwRXhWV1JFZDBWQ0wzZFJSVUYzU1VOd1JFRlFDa0puVGxaSVVrMUNRV1k0UlVKVVFVUkJVVWd2VFVJd1IwRXhWV1JFWjFGWFFrSlRhVUpuTWpCUE4zTkdTbU5qVWlzNFIzaHVRVFIxZEZVcmIxZHFRVllLUW1kT1ZraFNSVVZFYWtGTloyZHdjbVJYU214amJUVnNaRWRXZWsxQk1FZERVM0ZIVTBsaU0wUlJSVUpEZDFWQlFUUkpRa0ZSUVVGaWJqUTNOeXRJWWdwRFpFbHNaR1JIYjFoTVdtUkhUVzVhWXpCaWRuQkhNVVYwT1VoaFJpc3dSa1ZSZEdsQ2FIVmliMWhDT0ZoaVVUWkZSVXcxV1RFcmNHOXNVRTFYWmxWVkNrOTJabGRxZEdWbE0zbDNSRXB1UTB0UlluUTVURzFLUWpkbWVGUTRPWEZ4T0hwd1EyMUdXV2xHZDBkcWFIVXZZMGRIT0ZwSU9GSk9TVWh5ZUZkeVRHVUtiR3BUZVZKWFdURnBaV0p0UXpRMFRrUnFjSGRSTWtad2JFVkdjRTV5VmxKNmF5OUhPVlpsYTFNNFpYVjNOMjEyWVZOWFFUbEZLMlJOVGpNeVlXWllOd3BQVkhJdlJFMVlWR3c0TUROSVExZFFPV0pqU1RKd1EwTXpMMGxRVjFaTE0zcFlRV1YwV1doNVlUaG9ha2RFYVdWUVdrMXFNVXBWWmt0aloxVlNXV0ZtQ2paNWNtNHpWMmxWV25SSU1GWk5kRGtyWkRSelducHJjRWxvWWxWTGJYcEdRVEo1VUZkaldIaG5kMFJEYUVaS1JtODRXRVI0U2xKRU1XczJhVkpyZERnS1VEVndWVTA0WW0xMVlWbE1DaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsKICAgIHNlcnZlcjogaHR0cHM6Ly83NkRFNkJCRkQyMDNDNUFEMjRGMEIwRjY5RkRBOEFDQS5ncjcuZXUtbm9ydGgtMS5la3MuYW1hem9uYXdzLmNvbQogIG5hbWU6IHNkdS1jbHVzdGVyCmNvbnRleHRzOgotIGNvbnRleHQ6CiAgICBjbHVzdGVyOiBzZHUtY2x1c3RlcgogICAgbmFtZXNwYWNlOiBzdHVkZW50LTc1CiAgICB1c2VyOiB3b3Jrc3RhdGlvbi03NQogIG5hbWU6IHdvcmtzdGF0aW9uLTc1CmN1cnJlbnQtY29udGV4dDogd29ya3N0YXRpb24tNzUKa2luZDogQ29uZmlnCnByZWZlcmVuY2VzOiB7fQp1c2VyczoKLSBuYW1lOiB3b3Jrc3RhdGlvbi03NQogIHVzZXI6CiAgICB0b2tlbjogZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrbHNSVGN4TlVGVFVFWlZRVTlPT0ZWNVdEVlNRWGRYYjBGTFIxWnZlVVZZVFVsTk1tMURNa1pTY21zaWZRLmV5SnBjM01pT2lKcmRXSmxjbTVsZEdWekwzTmxjblpwWTJWaFkyTnZkVzUwSWl3aWEzVmlaWEp1WlhSbGN5NXBieTl6WlhKMmFXTmxZV05qYjNWdWRDOXVZVzFsYzNCaFkyVWlPaUpqYjJSbExYTmxjblpsY2kxM2IzSnJjM1JoZEdsdmJuTWlMQ0pyZFdKbGNtNWxkR1Z6TG1sdkwzTmxjblpwWTJWaFkyTnZkVzUwTDNObFkzSmxkQzV1WVcxbElqb2lkMjl5YTNOMFlYUnBiMjR0TnpVdFlXTmpiM1Z1ZEMxelpXTnlaWFFpTENKcmRXSmxjbTVsZEdWekxtbHZMM05sY25acFkyVmhZMk52ZFc1MEwzTmxjblpwWTJVdFlXTmpiM1Z1ZEM1dVlXMWxJam9pZDI5eWEzTjBZWFJwYjI0dE56VXRZV05qYjNWdWRDSXNJbXQxWW1WeWJtVjBaWE11YVc4dmMyVnlkbWxqWldGalkyOTFiblF2YzJWeWRtbGpaUzFoWTJOdmRXNTBMblZwWkNJNkltVmtORE0xT0RRd0xUTTVNR1l0TkRJM1ppMDVOek5oTFRNeFpEQXhZVEkyTmpNeU1TSXNJbk4xWWlJNkluTjVjM1JsYlRwelpYSjJhV05sWVdOamIzVnVkRHBqYjJSbExYTmxjblpsY2kxM2IzSnJjM1JoZEdsdmJuTTZkMjl5YTNOMFlYUnBiMjR0TnpVdFlXTmpiM1Z1ZENKOS5Xd0xfSkg2ZG41Tl9vRWhnVGllT1VGbV9BWnFKVllSMC1mMFZpTVAyV3Q2Y3pocG1BcWFHb1FIVmpvYjYyUmQxd3hvYTZIdU9GZUhNai1DVW5jLW9ZTW5ZNFJrZGthNXZxaWVFMURDWFdQY0VJTFVTTE9xY0RLc3NvRHhNQkpiTGMtRm0wTFVRc1cxbWV2U1p3Q3QyTm5IZzI1U1dwalJPRjhrNEttWkNGYVFUbEd0U0d1SkJ6eVI3c0NMd1NZczRBTXhNLS00Sl9XbEMxX0ljSkFSNlpFbFhLWXBoWDdfS0p0cGNWWTE5SkQwdHVGRkRxUlVzN2JILVk2TnZpM2tkQlpxVnFZcl91V0MwY0Q3dnNfOWFnaW1yZmllaWZTWndLMlNfUkI4ek5Jd3ZVY3QtdzZGNXVpLV83c2l1RkEwQ1NaTEttLVFqSEpKY1ZONmtETHMtX0EK" | base64 -d > kubeconfig + - name: Deploy to Kubernetes + run: | + kubectl apply -f k8s/ \ No newline at end of file From be0c67adfae0bb87d1a394d98709a28e40c1743b Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Mon, 19 Aug 2024 15:14:30 +0200 Subject: [PATCH 32/34] change of branch making the workflow trigger on any branch in the repository --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fad4b2db3..c7d61ace6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,7 +3,7 @@ name: CI Pipeline on: pull_request: branches: - - main + - "**" push: branches: - main From 96a052951bd38d8ccb1d2857ceaf82e7ed8eb5ab Mon Sep 17 00:00:00 2001 From: gamzemgb <115624774+gamzemgb@users.noreply.github.com> Date: Mon, 19 Aug 2024 16:19:31 +0200 Subject: [PATCH 33/34] deploy "needs" changed --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1d11ab971..9859285b0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -87,7 +87,7 @@ jobs: tags: ghcr.io/${{ github.repository_owner }}/backend:${{ github.sha }} deploy: runs-on: ubuntu-latest - needs: [docker-backend, docker-frontend] + needs: [Docker-image] steps: - name: Checkout code uses: actions/checkout@v3 @@ -96,4 +96,4 @@ jobs: run: echo "YXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VSQ1ZFTkRRV1V5WjBGM1NVSkJaMGxKVjJVdkwyWk1jQ3N5YmsxM1JGRlpTa3R2V2tsb2RtTk9RVkZGVEVKUlFYZEdWRVZVVFVKRlIwRXhWVVVLUVhoTlMyRXpWbWxhV0VwMVdsaFNiR042UVdWR2R6QjVUa1JCTkUxRVZYZFBSRkV5VGtSc1lVWjNNSHBPUkVFMFRVUk5kMDlFVlhoT1JHeGhUVUpWZUFwRmVrRlNRbWRPVmtKQlRWUkRiWFF4V1cxV2VXSnRWakJhV0UxM1oyZEZhVTFCTUVkRFUzRkhVMGxpTTBSUlJVSkJVVlZCUVRSSlFrUjNRWGRuWjBWTENrRnZTVUpCVVVOcFdXZE9hVWswWkdwbVprVkZTRWRHVEdKRlQxWnFSR2x1TDJoMlFtTjRTbmxZZFdobFpFOHdWSEJaY1hWcVNHUkdjVUpYVlhGVU56QUtZMmx6Y2xwblVtd3pVMlZPUmpkTVVtOXNRa0ZxUjBKT05VdFhPRzFXY1ZKak16WkRlSGx2YW5GSEszWmtkbmhCT1cxVGVWbEdUR2hxYzNsT09YQlVNZ3BoTDB0MWFEbFhWV0Z5TjNWUWFrUktWMk54V2tFMWFETnJibEJvTHpBdlVrdFZiRTlpU0doeGMwdDRRbEJLUWl0V09IbGFjM28zYnpkdU5tUldVVEVyQ2xSUFZ6TjVTREJsYVZJd1IzRjNUbEJ6S3pSa1l6RlFXVk5HWVRCaE1VTjNXRXB5T0hkek1tYzVSa3Q0YlRGRFRXbEVXSFJOWlVkNVpEaDFiRWRVV0hJS1VWRldOR1pIZDBwTlZEQk5iVXhTVDBkdFIyRkhZMnRsYWpKcFQyTXpLekpFWTFGRGMwY3lXRkI2ZEM5YWIydEVZMk50VG1KMWNYazNTM0ZRUjJoeGR3cFBNbTFFZGpFMmVVSkVVRGxrVjJZd0syaFVZMDR6YzJOQ1puaG9RV2ROUWtGQlIycFhWRUpZVFVFMFIwRXhWV1JFZDBWQ0wzZFJSVUYzU1VOd1JFRlFDa0puVGxaSVVrMUNRV1k0UlVKVVFVUkJVVWd2VFVJd1IwRXhWV1JFWjFGWFFrSlRhVUpuTWpCUE4zTkdTbU5qVWlzNFIzaHVRVFIxZEZVcmIxZHFRVllLUW1kT1ZraFNSVVZFYWtGTloyZHdjbVJYU214amJUVnNaRWRXZWsxQk1FZERVM0ZIVTBsaU0wUlJSVUpEZDFWQlFUUkpRa0ZSUVVGaWJqUTNOeXRJWWdwRFpFbHNaR1JIYjFoTVdtUkhUVzVhWXpCaWRuQkhNVVYwT1VoaFJpc3dSa1ZSZEdsQ2FIVmliMWhDT0ZoaVVUWkZSVXcxV1RFcmNHOXNVRTFYWmxWVkNrOTJabGRxZEdWbE0zbDNSRXB1UTB0UlluUTVURzFLUWpkbWVGUTRPWEZ4T0hwd1EyMUdXV2xHZDBkcWFIVXZZMGRIT0ZwSU9GSk9TVWh5ZUZkeVRHVUtiR3BUZVZKWFdURnBaV0p0UXpRMFRrUnFjSGRSTWtad2JFVkdjRTV5VmxKNmF5OUhPVlpsYTFNNFpYVjNOMjEyWVZOWFFUbEZLMlJOVGpNeVlXWllOd3BQVkhJdlJFMVlWR3c0TUROSVExZFFPV0pqU1RKd1EwTXpMMGxRVjFaTE0zcFlRV1YwV1doNVlUaG9ha2RFYVdWUVdrMXFNVXBWWmt0aloxVlNXV0ZtQ2paNWNtNHpWMmxWV25SSU1GWk5kRGtyWkRSelducHJjRWxvWWxWTGJYcEdRVEo1VUZkaldIaG5kMFJEYUVaS1JtODRXRVI0U2xKRU1XczJhVkpyZERnS1VEVndWVTA0WW0xMVlWbE1DaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsKICAgIHNlcnZlcjogaHR0cHM6Ly83NkRFNkJCRkQyMDNDNUFEMjRGMEIwRjY5RkRBOEFDQS5ncjcuZXUtbm9ydGgtMS5la3MuYW1hem9uYXdzLmNvbQogIG5hbWU6IHNkdS1jbHVzdGVyCmNvbnRleHRzOgotIGNvbnRleHQ6CiAgICBjbHVzdGVyOiBzZHUtY2x1c3RlcgogICAgbmFtZXNwYWNlOiBzdHVkZW50LTc1CiAgICB1c2VyOiB3b3Jrc3RhdGlvbi03NQogIG5hbWU6IHdvcmtzdGF0aW9uLTc1CmN1cnJlbnQtY29udGV4dDogd29ya3N0YXRpb24tNzUKa2luZDogQ29uZmlnCnByZWZlcmVuY2VzOiB7fQp1c2VyczoKLSBuYW1lOiB3b3Jrc3RhdGlvbi03NQogIHVzZXI6CiAgICB0b2tlbjogZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrbHNSVGN4TlVGVFVFWlZRVTlPT0ZWNVdEVlNRWGRYYjBGTFIxWnZlVVZZVFVsTk1tMURNa1pTY21zaWZRLmV5SnBjM01pT2lKcmRXSmxjbTVsZEdWekwzTmxjblpwWTJWaFkyTnZkVzUwSWl3aWEzVmlaWEp1WlhSbGN5NXBieTl6WlhKMmFXTmxZV05qYjNWdWRDOXVZVzFsYzNCaFkyVWlPaUpqYjJSbExYTmxjblpsY2kxM2IzSnJjM1JoZEdsdmJuTWlMQ0pyZFdKbGNtNWxkR1Z6TG1sdkwzTmxjblpwWTJWaFkyTnZkVzUwTDNObFkzSmxkQzV1WVcxbElqb2lkMjl5YTNOMFlYUnBiMjR0TnpVdFlXTmpiM1Z1ZEMxelpXTnlaWFFpTENKcmRXSmxjbTVsZEdWekxtbHZMM05sY25acFkyVmhZMk52ZFc1MEwzTmxjblpwWTJVdFlXTmpiM1Z1ZEM1dVlXMWxJam9pZDI5eWEzTjBZWFJwYjI0dE56VXRZV05qYjNWdWRDSXNJbXQxWW1WeWJtVjBaWE11YVc4dmMyVnlkbWxqWldGalkyOTFiblF2YzJWeWRtbGpaUzFoWTJOdmRXNTBMblZwWkNJNkltVmtORE0xT0RRd0xUTTVNR1l0TkRJM1ppMDVOek5oTFRNeFpEQXhZVEkyTmpNeU1TSXNJbk4xWWlJNkluTjVjM1JsYlRwelpYSjJhV05sWVdOamIzVnVkRHBqYjJSbExYTmxjblpsY2kxM2IzSnJjM1JoZEdsdmJuTTZkMjl5YTNOMFlYUnBiMjR0TnpVdFlXTmpiM1Z1ZENKOS5Xd0xfSkg2ZG41Tl9vRWhnVGllT1VGbV9BWnFKVllSMC1mMFZpTVAyV3Q2Y3pocG1BcWFHb1FIVmpvYjYyUmQxd3hvYTZIdU9GZUhNai1DVW5jLW9ZTW5ZNFJrZGthNXZxaWVFMURDWFdQY0VJTFVTTE9xY0RLc3NvRHhNQkpiTGMtRm0wTFVRc1cxbWV2U1p3Q3QyTm5IZzI1U1dwalJPRjhrNEttWkNGYVFUbEd0U0d1SkJ6eVI3c0NMd1NZczRBTXhNLS00Sl9XbEMxX0ljSkFSNlpFbFhLWXBoWDdfS0p0cGNWWTE5SkQwdHVGRkRxUlVzN2JILVk2TnZpM2tkQlpxVnFZcl91V0MwY0Q3dnNfOWFnaW1yZmllaWZTWndLMlNfUkI4ek5Jd3ZVY3QtdzZGNXVpLV83c2l1RkEwQ1NaTEttLVFqSEpKY1ZONmtETHMtX0EK" | base64 -d > kubeconfig - name: Deploy to Kubernetes run: | - kubectl apply -f k8s/ \ No newline at end of file + kubectl apply -f k8s/ From 50189090c52a778abd3a627bab7d85e8b3b12757 Mon Sep 17 00:00:00 2001 From: Dlov507 Date: Mon, 19 Aug 2024 17:43:00 +0000 Subject: [PATCH 34/34] Dlovan Added Redis deployment and integrated it with backend. Closes #7 --- .github/workflows/main.yml | 15 ++++++++++++--- backend/backend-deployment.yaml | 5 +++++ redis/redis-deployment.yaml | 31 +++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 redis/redis-deployment.yaml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ac1335b9f..28ee8e935 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -93,7 +93,16 @@ jobs: uses: actions/checkout@v3 - name: Create kubeconfig - run: echo "YXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VSQ1ZFTkRRV1V5WjBGM1NVSkJaMGxKVjJVdkwyWk1jQ3N5YmsxM1JGRlpTa3R2V2tsb2RtTk9RVkZGVEVKUlFYZEdWRVZVVFVKRlIwRXhWVVVLUVhoTlMyRXpWbWxhV0VwMVdsaFNiR042UVdWR2R6QjVUa1JCTkUxRVZYZFBSRkV5VGtSc1lVWjNNSHBPUkVFMFRVUk5kMDlFVlhoT1JHeGhUVUpWZUFwRmVrRlNRbWRPVmtKQlRWUkRiWFF4V1cxV2VXSnRWakJhV0UxM1oyZEZhVTFCTUVkRFUzRkhVMGxpTTBSUlJVSkJVVlZCUVRSSlFrUjNRWGRuWjBWTENrRnZTVUpCVVVOcFdXZE9hVWswWkdwbVprVkZTRWRHVEdKRlQxWnFSR2x1TDJoMlFtTjRTbmxZZFdobFpFOHdWSEJaY1hWcVNHUkdjVUpYVlhGVU56QUtZMmx6Y2xwblVtd3pVMlZPUmpkTVVtOXNRa0ZxUjBKT05VdFhPRzFXY1ZKak16WkRlSGx2YW5GSEszWmtkbmhCT1cxVGVWbEdUR2hxYzNsT09YQlVNZ3BoTDB0MWFEbFhWV0Z5TjNWUWFrUktWMk54V2tFMWFETnJibEJvTHpBdlVrdFZiRTlpU0doeGMwdDRRbEJLUWl0V09IbGFjM28zYnpkdU5tUldVVEVyQ2xSUFZ6TjVTREJsYVZJd1IzRjNUbEJ6S3pSa1l6RlFXVk5HWVRCaE1VTjNXRXB5T0hkek1tYzVSa3Q0YlRGRFRXbEVXSFJOWlVkNVpEaDFiRWRVV0hJS1VWRldOR1pIZDBwTlZEQk5iVXhTVDBkdFIyRkhZMnRsYWpKcFQyTXpLekpFWTFGRGMwY3lXRkI2ZEM5YWIydEVZMk50VG1KMWNYazNTM0ZRUjJoeGR3cFBNbTFFZGpFMmVVSkVVRGxrVjJZd0syaFVZMDR6YzJOQ1puaG9RV2ROUWtGQlIycFhWRUpZVFVFMFIwRXhWV1JFZDBWQ0wzZFJSVUYzU1VOd1JFRlFDa0puVGxaSVVrMUNRV1k0UlVKVVFVUkJVVWd2VFVJd1IwRXhWV1JFWjFGWFFrSlRhVUpuTWpCUE4zTkdTbU5qVWlzNFIzaHVRVFIxZEZVcmIxZHFRVllLUW1kT1ZraFNSVVZFYWtGTloyZHdjbVJYU214amJUVnNaRWRXZWsxQk1FZERVM0ZIVTBsaU0wUlJSVUpEZDFWQlFUUkpRa0ZSUVVGaWJqUTNOeXRJWWdwRFpFbHNaR1JIYjFoTVdtUkhUVzVhWXpCaWRuQkhNVVYwT1VoaFJpc3dSa1ZSZEdsQ2FIVmliMWhDT0ZoaVVUWkZSVXcxV1RFcmNHOXNVRTFYWmxWVkNrOTJabGRxZEdWbE0zbDNSRXB1UTB0UlluUTVURzFLUWpkbWVGUTRPWEZ4T0hwd1EyMUdXV2xHZDBkcWFIVXZZMGRIT0ZwSU9GSk9TVWh5ZUZkeVRHVUtiR3BUZVZKWFdURnBaV0p0UXpRMFRrUnFjSGRSTWtad2JFVkdjRTV5VmxKNmF5OUhPVlpsYTFNNFpYVjNOMjEyWVZOWFFUbEZLMlJOVGpNeVlXWllOd3BQVkhJdlJFMVlWR3c0TUROSVExZFFPV0pqU1RKd1EwTXpMMGxRVjFaTE0zcFlRV1YwV1doNVlUaG9ha2RFYVdWUVdrMXFNVXBWWmt0aloxVlNXV0ZtQ2paNWNtNHpWMmxWV25SSU1GWk5kRGtyWkRSelducHJjRWxvWWxWTGJYcEdRVEo1VUZkaldIaG5kMFJEYUVaS1JtODRXRVI0U2xKRU1XczJhVkpyZERnS1VEVndWVTA0WW0xMVlWbE1DaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsKICAgIHNlcnZlcjogaHR0cHM6Ly83NkRFNkJCRkQyMDNDNUFEMjRGMEIwRjY5RkRBOEFDQS5ncjcuZXUtbm9ydGgtMS5la3MuYW1hem9uYXdzLmNvbQogIG5hbWU6IHNkdS1jbHVzdGVyCmNvbnRleHRzOgotIGNvbnRleHQ6CiAgICBjbHVzdGVyOiBzZHUtY2x1c3RlcgogICAgbmFtZXNwYWNlOiBzdHVkZW50LTc1CiAgICB1c2VyOiB3b3Jrc3RhdGlvbi03NQogIG5hbWU6IHdvcmtzdGF0aW9uLTc1CmN1cnJlbnQtY29udGV4dDogd29ya3N0YXRpb24tNzUKa2luZDogQ29uZmlnCnByZWZlcmVuY2VzOiB7fQp1c2VyczoKLSBuYW1lOiB3b3Jrc3RhdGlvbi03NQogIHVzZXI6CiAgICB0b2tlbjogZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrbHNSVGN4TlVGVFVFWlZRVTlPT0ZWNVdEVlNRWGRYYjBGTFIxWnZlVVZZVFVsTk1tMURNa1pTY21zaWZRLmV5SnBjM01pT2lKcmRXSmxjbTVsZEdWekwzTmxjblpwWTJWaFkyTnZkVzUwSWl3aWEzVmlaWEp1WlhSbGN5NXBieTl6WlhKMmFXTmxZV05qYjNWdWRDOXVZVzFsYzNCaFkyVWlPaUpqYjJSbExYTmxjblpsY2kxM2IzSnJjM1JoZEdsdmJuTWlMQ0pyZFdKbGNtNWxkR1Z6TG1sdkwzTmxjblpwWTJWaFkyTnZkVzUwTDNObFkzSmxkQzV1WVcxbElqb2lkMjl5YTNOMFlYUnBiMjR0TnpVdFlXTmpiM1Z1ZEMxelpXTnlaWFFpTENKcmRXSmxjbTVsZEdWekxtbHZMM05sY25acFkyVmhZMk52ZFc1MEwzTmxjblpwWTJVdFlXTmpiM1Z1ZEM1dVlXMWxJam9pZDI5eWEzTjBZWFJwYjI0dE56VXRZV05qYjNWdWRDSXNJbXQxWW1WeWJtVjBaWE11YVc4dmMyVnlkbWxqWldGalkyOTFiblF2YzJWeWRtbGpaUzFoWTJOdmRXNTBMblZwWkNJNkltVmtORE0xT0RRd0xUTTVNR1l0TkRJM1ppMDVOek5oTFRNeFpEQXhZVEkyTmpNeU1TSXNJbk4xWWlJNkluTjVjM1JsYlRwelpYSjJhV05sWVdOamIzVnVkRHBqYjJSbExYTmxjblpsY2kxM2IzSnJjM1JoZEdsdmJuTTZkMjl5YTNOMFlYUnBiMjR0TnpVdFlXTmpiM1Z1ZENKOS5Xd0xfSkg2ZG41Tl9vRWhnVGllT1VGbV9BWnFKVllSMC1mMFZpTVAyV3Q2Y3pocG1BcWFHb1FIVmpvYjYyUmQxd3hvYTZIdU9GZUhNai1DVW5jLW9ZTW5ZNFJrZGthNXZxaWVFMURDWFdQY0VJTFVTTE9xY0RLc3NvRHhNQkpiTGMtRm0wTFVRc1cxbWV2U1p3Q3QyTm5IZzI1U1dwalJPRjhrNEttWkNGYVFUbEd0U0d1SkJ6eVI3c0NMd1NZczRBTXhNLS00Sl9XbEMxX0ljSkFSNlpFbFhLWXBoWDdfS0p0cGNWWTE5SkQwdHVGRkRxUlVzN2JILVk2TnZpM2tkQlpxVnFZcl91V0MwY0Q3dnNfOWFnaW1yZmllaWZTWndLMlNfUkI4ek5Jd3ZVY3QtdzZGNXVpLV83c2l1RkEwQ1NaTEttLVFqSEpKY1ZONmtETHMtX0EK" | base64 -d > kubeconfig - - name: Deploy to Kubernetes + run: echo "${{ secrets.KUBECONFIG }}" | base64 -d > kubeconfig + + - name: Deploy Redis to Kubernetes + run: | + kubectl --kubeconfig kubeconfig apply -f k8s/redis/ + + - name: Deploy Backend with Redis Configuration + run: | + kubectl --kubeconfig kubeconfig apply -f k8s/backend/ + + - name: Deploy Frontend run: | - kubectl apply -f k8s/ \ No newline at end of file + kubectl --kubeconfig kubeconfig apply -f k8s/frontend/ diff --git a/backend/backend-deployment.yaml b/backend/backend-deployment.yaml index 342213db9..bcfd85055 100644 --- a/backend/backend-deployment.yaml +++ b/backend/backend-deployment.yaml @@ -19,4 +19,9 @@ spec: image: ghcr.io/eficode-academy/simple-fortune-cookie/backend:latest ports: - containerPort: 9000 +env: + - name: REDIS_HOST + value: "redis" + - name: REDIS_PORT + value: "6379" diff --git a/redis/redis-deployment.yaml b/redis/redis-deployment.yaml new file mode 100644 index 000000000..a1ee6f39f --- /dev/null +++ b/redis/redis-deployment.yaml @@ -0,0 +1,31 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: redis +spec: + selector: + matchLabels: + app: redis + replicas: 1 + template: + metadata: + labels: + app: redis + spec: + containers: + - name: redis + image: redis:alpine + ports: + - containerPort: 6379 +--- +apiVersion: v1 +kind: Service +metadata: + name: redis +spec: + selector: + app: redis + ports: + - protocol: TCP + port: 6379 + targetPort: 6379