From a075303efca7dd30f145efe5be641ea562969838 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 08:01:56 +0100 Subject: [PATCH 001/126] initial- commit --- .DS_Store | Bin 0 -> 6148 bytes .github/workflows/crewmeister-ci.yml | 84 +++++++++++ Dockerfile | 25 ++++ Solution_README.md | 140 ++++++++++++++++++ docker-compose.yml | 28 ++++ helm-crewmeister/.DS_Store | Bin 0 -> 6148 bytes helm-crewmeister/.helmignore | 23 +++ helm-crewmeister/Chart.yaml | 24 +++ helm-crewmeister/templates/NOTES.txt | 22 +++ helm-crewmeister/templates/_helpers.tpl | 62 ++++++++ helm-crewmeister/templates/deployment.yaml | 31 ++++ .../templates/mysql-deployment.yaml | 35 +++++ helm-crewmeister/templates/service.yaml | 15 ++ .../templates/serviceaccount.yaml | 10 ++ .../templates/tests/test-connection.yaml | 15 ++ helm-crewmeister/values.yaml | 36 +++++ 16 files changed, 550 insertions(+) create mode 100644 .DS_Store create mode 100644 .github/workflows/crewmeister-ci.yml create mode 100644 Dockerfile create mode 100644 Solution_README.md create mode 100644 docker-compose.yml create mode 100644 helm-crewmeister/.DS_Store create mode 100644 helm-crewmeister/.helmignore create mode 100644 helm-crewmeister/Chart.yaml create mode 100644 helm-crewmeister/templates/NOTES.txt create mode 100644 helm-crewmeister/templates/_helpers.tpl create mode 100644 helm-crewmeister/templates/deployment.yaml create mode 100644 helm-crewmeister/templates/mysql-deployment.yaml create mode 100644 helm-crewmeister/templates/service.yaml create mode 100644 helm-crewmeister/templates/serviceaccount.yaml create mode 100644 helm-crewmeister/templates/tests/test-connection.yaml create mode 100644 helm-crewmeister/values.yaml diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..f795330cc8565dd2805f483208dee3f13a4477e5 GIT binary patch literal 6148 zcmeHKOK;Oa5T0!Vaati+2&5h@aSbGCD^SJ73MnVV0rNNj3U(Y4s~fN7N3AM~vod;76=e?pLwciT za`ZiVu3{^tkBq)RTuP;~aSADdUkuwh<}+CJHzKA4UNbeC!;9l5<7Vi4zmeBVlh-fR zf#>d#&QsU>8ChW6zfj**d93T%I*@d<^EI4$82sieZ?)m!sE0@Mx`v(c5HNkKKFEL|TSPI?Yu; z5>Mgs;a!r(q8^GWjSCeU=n1FebjI$%a(R4m)b$2W2CJ^OJUQ%lz2l?Dt5wIj|DgBu z)%c7rQt<`3K^V>rC3g(2;VYDD>x_#DkC3+vy4LwT$Wt!T8GP4^%D5XWh6ZQ<26JFb zw+vVYwlg5V4<4FC-(aIreLB#oD*&(svl8g?E+Jz)gTBE=BW55>hXQpdGgl0z!(sP~ zpKq|ysKbew%Lg+nGjl^>YIQu{Q|`okjkdQ8SOzXLu&alzJpWIxzW-kivLnlYW#GSJ zfVD=!Xo!-`*}74jJZn9)PiRu4U!zflpfks@Qshy5fTjdYLo!A2u25c@|!(O^5v Iz#nDc2i*{{W&i*H literal 0 HcmV?d00001 diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml new file mode 100644 index 0000000..01cde54 --- /dev/null +++ b/.github/workflows/crewmeister-ci.yml @@ -0,0 +1,84 @@ +name: crewmeister-ci + +on: + pull_request: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up JDK 17 + uses: actions/setup-java@v2 + with: + java-version: '17' + + - name: Build with Maven + run: mvn clean install + + - name: Unit Tests + run: mvn test + + code-quality: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up JDK 17 + uses: actions/setup-java@v2 + with: + java-version: '17' + + - name: Run Code Quality Checks + run: mvn verify + + docker: + runs-on: ubuntu-latest + needs: build + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Log in to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and Push Docker Image + run: | + docker buildx build --platform linux/amd64,linux/arm64 -t ${{ secrets.DOCKER_USERNAME }}/devops-coding-challenge:latest --push . + + updatek8s: + runs-on: ubuntu-latest + needs: docker + + steps: + - name: Checkout code + uses: actions/checkout@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Update tag in Kubernetes deployment manifest + run: | + sed -i "s|image: .*|image: ${{ secrets.DOCKER_USERNAME }}/devops-coding-challenge:${{ github.run_id }}|" kubernetes/deploy.yaml + + - name: Commit and push changes + run: | + git config --global user.email "sugeshsuseelan@hotmail.com" + git config --global user.name "sugesh-cloudops" + git add helm-crewmeister/values.yaml + git commit -m "[CI]: Update devops-coding-challenge image tag" + git push origin HEAD:main -f + diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..bd866ba --- /dev/null +++ b/Dockerfile @@ -0,0 +1,25 @@ +# Build Stage +FROM openjdk:17-slim as builder + +WORKDIR /usr/src/app/ + +COPY . . + +RUN ./mvnw clean package -DskipTests + +# Runtime Stage +FROM openjdk:17-slim + +WORKDIR /usr/src/app/ + +# Copy built JAR file from the builder stage +COPY --from=builder /usr/src/app/target/*.jar /usr/src/app/crewmeisterchallenge-0.0.1-SNAPSHOT.jar + +# Install MySQL client for database connectivity +RUN apt-get update && apt-get install -y default-mysql-client + +# Expose the application port +EXPOSE 8080 + +# Set entry point to run +ENTRYPOINT ["java", "-jar", "crewmeisterchallenge-0.0.1-SNAPSHOT.jar"] \ No newline at end of file diff --git a/Solution_README.md b/Solution_README.md new file mode 100644 index 0000000..b55fa76 --- /dev/null +++ b/Solution_README.md @@ -0,0 +1,140 @@ +# DevOps Coding Challenge + +This repository contains the source code, CI/CD pipeline, and infrastructure as code (IaC) for the DevOps Coding Challenge project. + +## Table of Contents + +- [Running Locally with Docker Compose](#running-locally-with-docker-compose) +- [Terraform Configuration](#terraform-configuration) +- [Helm Chart](#helm-chart) +- [CI/CD Pipeline](#cicd-pipeline) + +--- + +## Running Locally with Docker Compose + +To run the application locally using **Docker Compose**, follow these steps: + +### Prerequisites +Ensure you have **Docker** and **Docker Compose** installed on your machine. You can download and install Docker from the [Docker website](https://www.docker.com/). + +### Running the Application +Run the following command to start the application: +```sh +docker-compose up --build +``` + +To stop the application, run: +```sh +docker-compose down +``` + +--- + +## Terraform Configuration + +The Terraform configuration is located in the `terraform` folder and is used to provision the necessary infrastructure for the project. The configuration includes modules for setting up a **VPC, an EKS cluster, and PersistentVolumeClaims (PVCs)**. + +### Module Strategy +The Terraform configuration follows a modular strategy to promote reusability and maintainability. Each module is responsible for a specific part of the infrastructure: + +- **VPC Module**: Provisions a **Virtual Private Cloud (VPC)** with public and private subnets. +- **EKS Module**: Provisions an **Amazon EKS cluster** and node groups. +- **PVC Module**: Provisions **PersistentVolumeClaims (PVCs)** for the Kubernetes cluster. + +### Directory Structure +``` +terraform/ +├── main.tf +├── variables.tf +├── outputs.tf +├── modules/ +│ ├── vpc/ +│ ├── eks/ +│ └── pvc/ +└── README.md +``` + +--- + +## Helm Chart + +The `helm-crewmeister` folder contains the **Helm chart** used to deploy the application to a **Kubernetes cluster**. Helm is a package manager for Kubernetes that allows you to define, install, and upgrade even the most complex Kubernetes applications. + +### Directory Structure +``` +helm-crewmeister/ +├── Chart.yaml +├── values.yaml +└── templates/ + ├── deployment.yaml + ├── service.yaml + ├── ingress.yaml +``` + +### Key Files +- **Chart.yaml**: Contains metadata about the chart, such as its name, version, and description. +- **values.yaml**: Contains the default configuration values for the chart. You can override these values when installing or upgrading the chart. +- **templates/**: This directory contains the **Kubernetes resource templates** that Helm uses to generate the final manifest files, including deployments, services, config maps, and more. + +--- + +## CI/CD Pipeline + +The CI/CD pipeline is defined using GitHub Actions and is located in the `.github/workflows/crewmeister-ci.yml` file. The pipeline includes the following jobs: + +1. **Build**: Builds the application using Maven. +2. **Code Quality**: Runs code quality checks using Maven. +3. **Docker**: Builds and pushes a Docker image to Docker Hub. +4. **Update Kubernetes**: Updates the Kubernetes deployment manifest with the new Docker image tag and pushes the changes to the repository. + +### Secrets +The following secrets need to be set up in your GitHub repository for the workflow to function correctly: + +- `DOCKER_USERNAME`: Your Docker Hub username. +- `DOCKER_PASSWORD`: Your Docker Hub password. +- `GITHUB_TOKEN`: Your GitHub token (automatically provided by GitHub Actions). + +### Jobs + +#### Build + +- **Runs on**: `ubuntu-latest` +- **Steps**: + - Checkout code + - Set up JDK 17 + - Build with Maven + - Run unit tests + +#### Code Quality + +- **Runs on**: `ubuntu-latest` +- **Steps**: + - Checkout code + - Set up JDK 17 + - Run code quality checks with Maven + +#### Docker + +- **Runs on**: `ubuntu-latest` +- **Needs**: `build` +- **Steps**: + - Checkout code + - Set up Docker Buildx + - Log in to Docker Hub + - Build and push Docker image + +#### Update Kubernetes + +- **Runs on**: `ubuntu-latest` +- **Needs**: `docker` +- **Steps**: + - Checkout code + - Update tag in Kubernetes deployment manifest + - Commit and push changes + +--- + + + + diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..cab2336 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,28 @@ +version: '3.8' + +services: + db: + image: mysql:8.0 + environment: + MYSQL_ROOT_PASSWORD: dev + MYSQL_DATABASE: challenge + ports: + - "3306:3306" + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] + interval: 30s + timeout: 10s + retries: 10 + + app: + build: . + environment: + SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true + SPRING_DATASOURCE_USERNAME: root + SPRING_DATASOURCE_PASSWORD: dev + ports: + - "8080:8080" + depends_on: + db: + condition: service_healthy + entrypoint: ["java", "-jar", "crewmeisterchallenge-0.0.1-SNAPSHOT.jar"] \ No newline at end of file diff --git a/helm-crewmeister/.DS_Store b/helm-crewmeister/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..238c0974e51d7ba7169474c7cf77b88e9f0c00f5 GIT binary patch literal 6148 zcmeHK%}T>S5Z-O8O(;SR3Oz1(E!f(k6fdFH7cim+m718K!8BW%)Er77XMG``#OHBl zcPmQkO+?BJ%zm5s*<`;hI~~RtAI!oIV-91?0!6IYFsu>uqpnEBSgL?rt&uRFw)NMr!sw_uXQS>A5H^Gdb0wOzOBR>QjW9%bR>em=_v z{`4B3E~HF?<=hW0d}jcAKM)7&|Jl#|zY3y(7$62VlL1~Edcy(i&D7SFU1F^jpm(4s7*}fi lOo53i#Sn|7xCyER>;fl%uEA0xSU~8HfTDp0V&G31_y8ExRJ8yA literal 0 HcmV?d00001 diff --git a/helm-crewmeister/.helmignore b/helm-crewmeister/.helmignore new file mode 100644 index 0000000..0e8a0eb --- /dev/null +++ b/helm-crewmeister/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/helm-crewmeister/Chart.yaml b/helm-crewmeister/Chart.yaml new file mode 100644 index 0000000..a14c714 --- /dev/null +++ b/helm-crewmeister/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +name: helm-crewmeister +description: A Helm chart for Kubernetes + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.1.0 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. Versions are not expected to +# follow Semantic Versioning. They should reflect the version the application is using. +# It is recommended to use it with quotes. +appVersion: "1.16.0" diff --git a/helm-crewmeister/templates/NOTES.txt b/helm-crewmeister/templates/NOTES.txt new file mode 100644 index 0000000..13bfe77 --- /dev/null +++ b/helm-crewmeister/templates/NOTES.txt @@ -0,0 +1,22 @@ +1. Get the application URL by running these commands: +{{- if .Values.ingress.enabled }} +{{- range $host := .Values.ingress.hosts }} + {{- range .paths }} + http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }} + {{- end }} +{{- end }} +{{- else if contains "NodePort" .Values.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "helm-crewmeister.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch its status by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "helm-crewmeister.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "helm-crewmeister.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + echo http://$SERVICE_IP:{{ .Values.service.port }} +{{- else if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "helm-crewmeister.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT +{{- end }} diff --git a/helm-crewmeister/templates/_helpers.tpl b/helm-crewmeister/templates/_helpers.tpl new file mode 100644 index 0000000..b554726 --- /dev/null +++ b/helm-crewmeister/templates/_helpers.tpl @@ -0,0 +1,62 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "helm-crewmeister.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "helm-crewmeister.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "helm-crewmeister.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "helm-crewmeister.labels" -}} +helm.sh/chart: {{ include "helm-crewmeister.chart" . }} +{{ include "helm-crewmeister.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "helm-crewmeister.selectorLabels" -}} +app.kubernetes.io/name: {{ include "helm-crewmeister.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "helm-crewmeister.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "helm-crewmeister.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} diff --git a/helm-crewmeister/templates/deployment.yaml b/helm-crewmeister/templates/deployment.yaml new file mode 100644 index 0000000..ef71215 --- /dev/null +++ b/helm-crewmeister/templates/deployment.yaml @@ -0,0 +1,31 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "helm-crewmeister.fullname" . }} + labels: + {{- include "helm-crewmeister.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "helm-crewmeister.selectorLabels" . | nindent 6 }} + template: + metadata: + labels: + {{- include "helm-crewmeister.selectorLabels" . | nindent 8 }} + spec: + serviceAccountName: {{ .Values.serviceAccount.name }} + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + ports: + - name: http + containerPort: 8080 + env: + - name: SPRING_DATASOURCE_URL + value: {{ .Values.env.SPRING_DATASOURCE_URL }} + - name: SPRING_DATASOURCE_USERNAME + value: {{ .Values.env.SPRING_DATASOURCE_USERNAME }} + - name: SPRING_DATASOURCE_PASSWORD + value: {{ .Values.env.SPRING_DATASOURCE_PASSWORD }} diff --git a/helm-crewmeister/templates/mysql-deployment.yaml b/helm-crewmeister/templates/mysql-deployment.yaml new file mode 100644 index 0000000..6da3416 --- /dev/null +++ b/helm-crewmeister/templates/mysql-deployment.yaml @@ -0,0 +1,35 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: mysql +spec: + selector: + matchLabels: + app: mysql + template: + metadata: + labels: + app: mysql + spec: + containers: + - name: mysql + image: {{ .Values.mysql.image }} + env: + - name: MYSQL_ROOT_PASSWORD + value: {{ .Values.mysql.rootPassword }} + - name: MYSQL_DATABASE + value: {{ .Values.mysql.database }} + ports: + - containerPort: 3306 +--- +apiVersion: v1 +kind: Service +metadata: + name: db +spec: + ports: + - port: 3306 + targetPort: 3306 + selector: + app: mysql + type: ClusterIP diff --git a/helm-crewmeister/templates/service.yaml b/helm-crewmeister/templates/service.yaml new file mode 100644 index 0000000..c85e1d3 --- /dev/null +++ b/helm-crewmeister/templates/service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ include "helm-crewmeister.fullname" . }} + labels: + {{- include "helm-crewmeister.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.port }} + targetPort: http + protocol: TCP + name: http + selector: + {{- include "helm-crewmeister.selectorLabels" . | nindent 4 }} diff --git a/helm-crewmeister/templates/serviceaccount.yaml b/helm-crewmeister/templates/serviceaccount.yaml new file mode 100644 index 0000000..dbe7032 --- /dev/null +++ b/helm-crewmeister/templates/serviceaccount.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: crewmeister-challenge + labels: + opentelemetry.io/name: crewmeister-challenge + app.kubernetes.io/instance: crewmeister-challenge + app.kubernetes.io/name: crewmeister-challenge + app.kubernetes.io/version: "1.12.0" + app.kubernetes.io/part-of: crewmeister-challenge diff --git a/helm-crewmeister/templates/tests/test-connection.yaml b/helm-crewmeister/templates/tests/test-connection.yaml new file mode 100644 index 0000000..5fb5c7d --- /dev/null +++ b/helm-crewmeister/templates/tests/test-connection.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Pod +metadata: + name: "{{ include "helm-crewmeister.fullname" . }}-test-connection" + labels: + {{- include "helm-crewmeister.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": test +spec: + containers: + - name: wget + image: busybox + command: ['wget'] + args: ['{{ include "helm-crewmeister.fullname" . }}:{{ .Values.service.port }}'] + restartPolicy: Never diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml new file mode 100644 index 0000000..0905bd2 --- /dev/null +++ b/helm-crewmeister/values.yaml @@ -0,0 +1,36 @@ +replicaCount: 1 + +image: + repository: sugesh23/devops-coding-challenge-app + tag: v1 + pullPolicy: IfNotPresent + +service: + type: LoadBalancer + port: 8080 + +env: + SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true + SPRING_DATASOURCE_WRITER_URL: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true + SPRING_DATASOURCE_USERNAME: root + SPRING_DATASOURCE_PASSWORD: dev + +mysql: + image: mysql:8.0 + rootPassword: dev + database: challenge + +serviceAccount: + create: true + name: crewmeister-challenge +ingress: + enabled: true + annotations: {} + hosts: + - host: chart-example.local + paths: + - path: / + pathType: ImplementationSpecific + tls: [] + +fullnameOverride: "" From f6cb21afbce595dc43b94a05aa1785cfb4039a17 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 08:18:52 +0100 Subject: [PATCH 002/126] update ci file with config changes --- .github/workflows/crewmeister-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 01cde54..b597619 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -76,8 +76,8 @@ jobs: - name: Commit and push changes run: | - git config --global user.email "sugeshsuseelan@hotmail.com" - git config --global user.name "sugesh-cloudops" + git config --global user.email "${{ secrets.GIT_USER_EMAIL }}" + git config --global user.name "${{ secrets.GIT_USER_NAME }}" git add helm-crewmeister/values.yaml git commit -m "[CI]: Update devops-coding-challenge image tag" git push origin HEAD:main -f From c469fdd381e22e70fe5a09a2a6f359f12732b6c0 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 08:34:13 +0100 Subject: [PATCH 003/126] update github account token --- .github/workflows/crewmeister-ci.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index b597619..f65645b 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -4,7 +4,10 @@ on: pull_request: branches: - main - + push: + branches: + - main + - feature/* jobs: build: runs-on: ubuntu-latest @@ -68,7 +71,7 @@ jobs: - name: Checkout code uses: actions/checkout@v2 with: - token: ${{ secrets.GITHUB_TOKEN }} + token: ${{ secrets.CREWMEISTER_GITHUB_TOKEN }} - name: Update tag in Kubernetes deployment manifest run: | From d79ae86b4e2a3c9079bba6a54378aca228f01d3a Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 08:37:01 +0100 Subject: [PATCH 004/126] add distribution --- .github/workflows/crewmeister-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index f65645b..5642805 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -20,6 +20,7 @@ jobs: uses: actions/setup-java@v2 with: java-version: '17' + distribution: 'temurin' - name: Build with Maven run: mvn clean install @@ -38,6 +39,7 @@ jobs: uses: actions/setup-java@v2 with: java-version: '17' + distribution: 'temurin' - name: Run Code Quality Checks run: mvn verify From f3798beddeefbaccea7c69efb114518963b0d467 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 08:56:15 +0100 Subject: [PATCH 005/126] mvn test removed --- .github/workflows/crewmeister-ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 5642805..3783c22 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -25,8 +25,7 @@ jobs: - name: Build with Maven run: mvn clean install - - name: Unit Tests - run: mvn test + code-quality: runs-on: ubuntu-latest From 8f694c338898c82e47cea18ff25d3179abd78889 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 08:58:27 +0100 Subject: [PATCH 006/126] skip test --- .github/workflows/crewmeister-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 3783c22..d840958 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -23,7 +23,7 @@ jobs: distribution: 'temurin' - name: Build with Maven - run: mvn clean install + run: mvn clean install -DskipTests From b5f62d79285a579c205e1120fc24371df427d35d Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 09:22:37 +0100 Subject: [PATCH 007/126] update manifest file k8s path and remove PR for main branch --- .github/workflows/crewmeister-ci.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index d840958..bd2b076 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -1,9 +1,7 @@ name: crewmeister-ci on: - pull_request: - branches: - - main + push: branches: - main @@ -76,7 +74,7 @@ jobs: - name: Update tag in Kubernetes deployment manifest run: | - sed -i "s|image: .*|image: ${{ secrets.DOCKER_USERNAME }}/devops-coding-challenge:${{ github.run_id }}|" kubernetes/deploy.yaml + sed -i "s|image: .*|image: ${{ secrets.DOCKER_USERNAME }}/devops-coding-challenge:${{ github.run_id }}|" helm-crewmeister/values.yaml - name: Commit and push changes run: | From 3a2f96123f70d754000324086ddf6e6a7e3e2544 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 08:26:34 +0000 Subject: [PATCH 008/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 0905bd2..28e97ed 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: mysql:8.0 + image: sugesh23/devops-coding-challenge:13783427218 rootPassword: dev database: challenge From a19937c49cd5c4ecb1b3f3f930292ff39b764c20 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 08:42:46 +0000 Subject: [PATCH 009/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 28e97ed..dc35353 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13783427218 + image: sugesh23/devops-coding-challenge:13783493379 rootPassword: dev database: challenge From 48fb0bc52cc342f3e24fe16e0148e76d9c234aa4 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 08:46:52 +0000 Subject: [PATCH 010/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index dc35353..6cf17fd 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13783493379 + image: sugesh23/devops-coding-challenge:13783775942 rootPassword: dev database: challenge From e5fc41f62c695137421b9091ba63529103ca22f2 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 08:50:47 +0000 Subject: [PATCH 011/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 6cf17fd..6fedb3d 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13783775942 + image: sugesh23/devops-coding-challenge:13783848270 rootPassword: dev database: challenge From fa31bf13280121a95b2c672ba545861cf4cc7509 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 08:55:03 +0000 Subject: [PATCH 012/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 6fedb3d..cfcfd76 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13783848270 + image: sugesh23/devops-coding-challenge:13783921324 rootPassword: dev database: challenge From 6f507d916c5c48dffdec7579764f35d5a1eedafd Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 08:58:54 +0000 Subject: [PATCH 013/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index cfcfd76..7cb7ec0 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13783921324 + image: sugesh23/devops-coding-challenge:13783997233 rootPassword: dev database: challenge From a10f25104e5b6c7859b00f5d0b156844889c4d7e Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 09:02:46 +0000 Subject: [PATCH 014/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 7cb7ec0..4c7c13f 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13783997233 + image: sugesh23/devops-coding-challenge:13784060178 rootPassword: dev database: challenge From a81c1d89b69873a90cfb1f1b1118d2b9bad297fd Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 09:06:41 +0000 Subject: [PATCH 015/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 4c7c13f..5d6532f 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13784060178 + image: sugesh23/devops-coding-challenge:13784130028 rootPassword: dev database: challenge From 70a400808ddb1af97148bf6b15319a00fdc8f218 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 09:10:48 +0000 Subject: [PATCH 016/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 5d6532f..29ec373 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13784130028 + image: sugesh23/devops-coding-challenge:13784206809 rootPassword: dev database: challenge From 39312c5337179c052ac452be9a8c314a757e54a7 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 09:15:00 +0000 Subject: [PATCH 017/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 29ec373..4ae1b13 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13784206809 + image: sugesh23/devops-coding-challenge:13784286155 rootPassword: dev database: challenge From 8bbce7a3fd58f9bbac2499aa45553af878e72e31 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 09:18:59 +0000 Subject: [PATCH 018/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 4ae1b13..9f6f184 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13784286155 + image: sugesh23/devops-coding-challenge:13784366502 rootPassword: dev database: challenge From a41a85d7ff4e2bfb8db1e5cd62f92a833b8aa12c Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 09:22:50 +0000 Subject: [PATCH 019/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 9f6f184..db7f517 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13784366502 + image: sugesh23/devops-coding-challenge:13784443217 rootPassword: dev database: challenge From d3b3621feead9d22b8b3ceb4b62e318019cb2a31 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 09:26:51 +0000 Subject: [PATCH 020/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index db7f517..b5af0b3 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13784443217 + image: sugesh23/devops-coding-challenge:13784518876 rootPassword: dev database: challenge From 266b3f837f4a95a32ff10c86a5b2f2d3b605965e Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 09:30:57 +0000 Subject: [PATCH 021/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index b5af0b3..f74a80a 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13784518876 + image: sugesh23/devops-coding-challenge:13784598483 rootPassword: dev database: challenge From 27bced84aa7a748ab411af224680051de965e17b Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 09:34:55 +0000 Subject: [PATCH 022/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index f74a80a..c8c5d4c 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13784598483 + image: sugesh23/devops-coding-challenge:13784676575 rootPassword: dev database: challenge From 26015034b27b24a0135cb2bd4d27d98bc8e84b5c Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 09:38:41 +0000 Subject: [PATCH 023/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index c8c5d4c..3c89e5b 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13784676575 + image: sugesh23/devops-coding-challenge:13784755073 rootPassword: dev database: challenge From dd5b022c8e034082eb807bc5ab04d22d44ba452c Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 09:42:43 +0000 Subject: [PATCH 024/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 3c89e5b..27e9c3f 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13784755073 + image: sugesh23/devops-coding-challenge:13784833426 rootPassword: dev database: challenge From 8653d479f2cb058d31e5b5e59fabe9918d5b2100 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 09:46:31 +0000 Subject: [PATCH 025/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 27e9c3f..0d1a61f 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13784833426 + image: sugesh23/devops-coding-challenge:13784911425 rootPassword: dev database: challenge From 1b2ff74b7a54abd49f9e0ed83ba7ba6a93b1f437 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 09:50:31 +0000 Subject: [PATCH 026/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 0d1a61f..251f04f 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13784911425 + image: sugesh23/devops-coding-challenge:13784982934 rootPassword: dev database: challenge From 4cbdf95d4d64be43281c89f130ac043dda1419d5 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 09:54:16 +0000 Subject: [PATCH 027/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 251f04f..607fafa 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13784982934 + image: sugesh23/devops-coding-challenge:13785056962 rootPassword: dev database: challenge From 669e70e2791e61193ea31b3da65d678676eb6005 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 09:58:08 +0000 Subject: [PATCH 028/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 607fafa..865b29c 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13785056962 + image: sugesh23/devops-coding-challenge:13785126337 rootPassword: dev database: challenge From 05a020c2af703c6b0eedf479f86f095b37d64460 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 10:02:10 +0000 Subject: [PATCH 029/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 865b29c..967e705 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13785126337 + image: sugesh23/devops-coding-challenge:13785195230 rootPassword: dev database: challenge From a47fc80795a2f3ba58232181ba753db1dbfbfe71 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 10:05:59 +0000 Subject: [PATCH 030/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 967e705..0ec1df2 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13785195230 + image: sugesh23/devops-coding-challenge:13785275867 rootPassword: dev database: challenge From a4accb06f3344043e7fb286bc0e765c7809b0db4 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 10:09:49 +0000 Subject: [PATCH 031/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 0ec1df2..c33f9f3 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13785275867 + image: sugesh23/devops-coding-challenge:13785354136 rootPassword: dev database: challenge From 4aa7f2e0b8319dd4dc9b69b17d90f8c1318584bb Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 10:13:47 +0000 Subject: [PATCH 032/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index c33f9f3..b494a0c 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13785354136 + image: sugesh23/devops-coding-challenge:13785434385 rootPassword: dev database: challenge From aa7ff9585405fd13ea491bfcd3f4122f8aac0a57 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 10:17:51 +0000 Subject: [PATCH 033/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index b494a0c..08cd4e6 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13785434385 + image: sugesh23/devops-coding-challenge:13785511973 rootPassword: dev database: challenge From 5a9ca9a79302b542f0f02d3e3da07676b98d58b6 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 10:21:49 +0000 Subject: [PATCH 034/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 08cd4e6..a4129d0 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13785511973 + image: sugesh23/devops-coding-challenge:13785592868 rootPassword: dev database: challenge From c73759f5019406d324b543123a299211ff150687 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 10:25:34 +0000 Subject: [PATCH 035/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index a4129d0..b2cfc90 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13785592868 + image: sugesh23/devops-coding-challenge:13785669516 rootPassword: dev database: challenge From f3bf599b6c740e544f47a429e63d6599e67866c6 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 10:29:29 +0000 Subject: [PATCH 036/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index b2cfc90..faf192b 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13785669516 + image: sugesh23/devops-coding-challenge:13785743126 rootPassword: dev database: challenge From 48ca45f970b261790d6299dea3bd755844b38141 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 10:33:27 +0000 Subject: [PATCH 037/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index faf192b..6c65b01 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13785743126 + image: sugesh23/devops-coding-challenge:13785820479 rootPassword: dev database: challenge From 40db14718b7422d988173ee006eb64f4f7b618c9 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 10:37:20 +0000 Subject: [PATCH 038/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 6c65b01..b32e5fe 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13785820479 + image: sugesh23/devops-coding-challenge:13785897809 rootPassword: dev database: challenge From c6d8f2fe2ae54fed26b1860e54c00c4501271183 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 10:41:10 +0000 Subject: [PATCH 039/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index b32e5fe..0c90072 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13785897809 + image: sugesh23/devops-coding-challenge:13785975065 rootPassword: dev database: challenge From d91201384f769b564cdefcd0947b1ee87c8f0b73 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 10:45:03 +0000 Subject: [PATCH 040/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 0c90072..f23aef7 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13785975065 + image: sugesh23/devops-coding-challenge:13786050006 rootPassword: dev database: challenge From 4345a058fc03af8f526bed38c03d67f64e7c5f4f Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 10:49:03 +0000 Subject: [PATCH 041/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index f23aef7..05e7189 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13786050006 + image: sugesh23/devops-coding-challenge:13786124686 rootPassword: dev database: challenge From 1539a66c1069bb07de0b133edd91cbf55860a6a9 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 10:52:54 +0000 Subject: [PATCH 042/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 05e7189..4d62083 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13786124686 + image: sugesh23/devops-coding-challenge:13786202294 rootPassword: dev database: challenge From 3032ecb2a35078d94d2da985074d44bd01beb916 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 10:56:54 +0000 Subject: [PATCH 043/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 4d62083..98378f3 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13786202294 + image: sugesh23/devops-coding-challenge:13786272163 rootPassword: dev database: challenge From e82eb36e096dbd1ac1355d5496acc435e086460a Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 11:56:59 +0100 Subject: [PATCH 044/126] Update Git ci changes, helm changes for monitoring and argocd --- .github/workflows/crewmeister-ci.yml | 8 ++-- helm-crewmeister/Chart.yaml | 11 ++++++ helm-crewmeister/appdeployment/Chart.yaml | 8 ++++ .../templates/deployment.yaml | 0 .../appdeployment/templates/ingress.yaml | 34 +++++++++++++++++ .../templates/mysql-deployment.yaml | 17 ++++++++- .../templates/service.yaml | 0 .../templates/serviceaccount.yaml | 0 helm-crewmeister/appdeployment/values.yaml | 35 ++++++++++++++++++ helm-crewmeister/argocd/Chart.yaml | 8 ++++ helm-crewmeister/argocd/values.yaml | 8 ++++ helm-crewmeister/monitoring/Chart.yaml | 8 ++++ helm-crewmeister/monitoring/values.yaml | 22 +++++++++++ helm-crewmeister/templates/namespaces.yaml | 14 +++++++ helm-crewmeister/values.yaml | 37 ++++++++++++++++++- 15 files changed, 202 insertions(+), 8 deletions(-) create mode 100644 helm-crewmeister/appdeployment/Chart.yaml rename helm-crewmeister/{ => appdeployment}/templates/deployment.yaml (100%) create mode 100644 helm-crewmeister/appdeployment/templates/ingress.yaml rename helm-crewmeister/{ => appdeployment}/templates/mysql-deployment.yaml (62%) rename helm-crewmeister/{ => appdeployment}/templates/service.yaml (100%) rename helm-crewmeister/{ => appdeployment}/templates/serviceaccount.yaml (100%) create mode 100644 helm-crewmeister/appdeployment/values.yaml create mode 100644 helm-crewmeister/argocd/Chart.yaml create mode 100644 helm-crewmeister/argocd/values.yaml create mode 100644 helm-crewmeister/monitoring/Chart.yaml create mode 100644 helm-crewmeister/monitoring/values.yaml create mode 100644 helm-crewmeister/templates/namespaces.yaml diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index bd2b076..248075e 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -1,11 +1,11 @@ name: crewmeister-ci on: - push: branches: - main - feature/* + jobs: build: runs-on: ubuntu-latest @@ -23,8 +23,6 @@ jobs: - name: Build with Maven run: mvn clean install -DskipTests - - code-quality: runs-on: ubuntu-latest @@ -74,7 +72,7 @@ jobs: - name: Update tag in Kubernetes deployment manifest run: | - sed -i "s|image: .*|image: ${{ secrets.DOCKER_USERNAME }}/devops-coding-challenge:${{ github.run_id }}|" helm-crewmeister/values.yaml + sed -i "s|image: .*|image: ${{ secrets.DOCKER_USERNAME }}/devops-coding-challenge:${{ github.run_id }}|" helm-crewmeister/values.yaml - name: Commit and push changes run: | @@ -83,4 +81,4 @@ jobs: git add helm-crewmeister/values.yaml git commit -m "[CI]: Update devops-coding-challenge image tag" git push origin HEAD:main -f - + if: github.ref != 'refs/heads/main' \ No newline at end of file diff --git a/helm-crewmeister/Chart.yaml b/helm-crewmeister/Chart.yaml index a14c714..f03bfd9 100644 --- a/helm-crewmeister/Chart.yaml +++ b/helm-crewmeister/Chart.yaml @@ -22,3 +22,14 @@ version: 0.1.0 # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. appVersion: "1.16.0" + +dependencies: + - name: argocd + version: 3.21.0 + repository: "https://argoproj.github.io/argo-helm" + - name: prometheus + version: 15.0.0 + repository: "https://prometheus-community.github.io/helm-charts" + - name: grafana + version: 6.17.4 + repository: "https://grafana.github.io/helm-charts" \ No newline at end of file diff --git a/helm-crewmeister/appdeployment/Chart.yaml b/helm-crewmeister/appdeployment/Chart.yaml new file mode 100644 index 0000000..dfa24ea --- /dev/null +++ b/helm-crewmeister/appdeployment/Chart.yaml @@ -0,0 +1,8 @@ +apiVersion: v2 +name: appdeployment +description: A Helm chart for application deployment + +type: application + +version: 0.1.0 +appVersion: "1.0.0" \ No newline at end of file diff --git a/helm-crewmeister/templates/deployment.yaml b/helm-crewmeister/appdeployment/templates/deployment.yaml similarity index 100% rename from helm-crewmeister/templates/deployment.yaml rename to helm-crewmeister/appdeployment/templates/deployment.yaml diff --git a/helm-crewmeister/appdeployment/templates/ingress.yaml b/helm-crewmeister/appdeployment/templates/ingress.yaml new file mode 100644 index 0000000..16644ff --- /dev/null +++ b/helm-crewmeister/appdeployment/templates/ingress.yaml @@ -0,0 +1,34 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: {{ include "helm-crewmeister.fullname" . }} + labels: + {{- include "helm-crewmeister.labels" . | nindent 4 }} + annotations: + {{- toYaml .Values.ingress.annotations | nindent 4 }} +spec: + rules: + {{- range .Values.ingress.hosts }} + - host: {{ .host }} + http: + paths: + {{- range .paths }} + - path: {{ .path }} + pathType: {{ .pathType }} + backend: + service: + name: {{ include "helm-crewmeister.fullname" . }} + port: + number: {{ $.Values.service.port }} + {{- end }} + {{- end }} + {{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} + {{- end }} \ No newline at end of file diff --git a/helm-crewmeister/templates/mysql-deployment.yaml b/helm-crewmeister/appdeployment/templates/mysql-deployment.yaml similarity index 62% rename from helm-crewmeister/templates/mysql-deployment.yaml rename to helm-crewmeister/appdeployment/templates/mysql-deployment.yaml index 6da3416..af4b0bd 100644 --- a/helm-crewmeister/templates/mysql-deployment.yaml +++ b/helm-crewmeister/appdeployment/templates/mysql-deployment.yaml @@ -1,11 +1,13 @@ apiVersion: apps/v1 -kind: Deployment +kind: StatefulSet metadata: name: mysql spec: selector: matchLabels: app: mysql + serviceName: "mysql" + replicas: 1 template: metadata: labels: @@ -21,6 +23,17 @@ spec: value: {{ .Values.mysql.database }} ports: - containerPort: 3306 + volumeMounts: + - name: mysql-persistent-storage + mountPath: /var/lib/mysql + volumeClaimTemplates: + - metadata: + name: mysql-persistent-storage + spec: + accessModes: [ "ReadWriteOnce" ] + resources: + requests: + storage: 1Gi --- apiVersion: v1 kind: Service @@ -32,4 +45,4 @@ spec: targetPort: 3306 selector: app: mysql - type: ClusterIP + type: ClusterIP \ No newline at end of file diff --git a/helm-crewmeister/templates/service.yaml b/helm-crewmeister/appdeployment/templates/service.yaml similarity index 100% rename from helm-crewmeister/templates/service.yaml rename to helm-crewmeister/appdeployment/templates/service.yaml diff --git a/helm-crewmeister/templates/serviceaccount.yaml b/helm-crewmeister/appdeployment/templates/serviceaccount.yaml similarity index 100% rename from helm-crewmeister/templates/serviceaccount.yaml rename to helm-crewmeister/appdeployment/templates/serviceaccount.yaml diff --git a/helm-crewmeister/appdeployment/values.yaml b/helm-crewmeister/appdeployment/values.yaml new file mode 100644 index 0000000..95ef9fc --- /dev/null +++ b/helm-crewmeister/appdeployment/values.yaml @@ -0,0 +1,35 @@ +replicaCount: 1 + +image: + repository: sugesh23/devops-coding-challenge-app + tag: v1 + pullPolicy: IfNotPresent + +service: + type: LoadBalancer + port: 8080 + +env: + SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true + SPRING_DATASOURCE_WRITER_URL: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true + SPRING_DATASOURCE_USERNAME: root + SPRING_DATASOURCE_PASSWORD: dev + +mysql: + image: mysql:8.0 + rootPassword: dev + database: challenge + +serviceAccount: + create: true + name: crewmeister-challenge + +ingress: + enabled: true + annotations: {} + hosts: + - host: chart-example.local + paths: + - path: / + pathType: ImplementationSpecific + tls: [] \ No newline at end of file diff --git a/helm-crewmeister/argocd/Chart.yaml b/helm-crewmeister/argocd/Chart.yaml new file mode 100644 index 0000000..1513f7b --- /dev/null +++ b/helm-crewmeister/argocd/Chart.yaml @@ -0,0 +1,8 @@ +apiVersion: v2 +name: argocd +description: A Helm chart for Argo CD + +type: application + +version: 0.1.0 +appVersion: "2.1.7" \ No newline at end of file diff --git a/helm-crewmeister/argocd/values.yaml b/helm-crewmeister/argocd/values.yaml new file mode 100644 index 0000000..bbe6a4e --- /dev/null +++ b/helm-crewmeister/argocd/values.yaml @@ -0,0 +1,8 @@ +global: + image: + repository: argoproj/argocd + tag: v2.1.7 + +server: + service: + type: LoadBalancer \ No newline at end of file diff --git a/helm-crewmeister/monitoring/Chart.yaml b/helm-crewmeister/monitoring/Chart.yaml new file mode 100644 index 0000000..da61399 --- /dev/null +++ b/helm-crewmeister/monitoring/Chart.yaml @@ -0,0 +1,8 @@ +apiVersion: v2 +name: monitoring +description: A Helm chart for monitoring + +type: application + +version: 0.1.0 +appVersion: "1.0.0" \ No newline at end of file diff --git a/helm-crewmeister/monitoring/values.yaml b/helm-crewmeister/monitoring/values.yaml new file mode 100644 index 0000000..f925176 --- /dev/null +++ b/helm-crewmeister/monitoring/values.yaml @@ -0,0 +1,22 @@ +prometheus: + alertmanager: + enabled: false + pushgateway: + enabled: false + server: + service: + type: LoadBalancer + +grafana: + adminPassword: admin + service: + type: LoadBalancer + ingress: + enabled: true + annotations: {} + hosts: + - host: grafana.example.com + paths: + - path: / + pathType: ImplementationSpecific + tls: [] \ No newline at end of file diff --git a/helm-crewmeister/templates/namespaces.yaml b/helm-crewmeister/templates/namespaces.yaml new file mode 100644 index 0000000..6eb978a --- /dev/null +++ b/helm-crewmeister/templates/namespaces.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: appdeployment +--- +apiVersion: v1 +kind: Namespace +metadata: + name: monitoring +--- +apiVersion: v1 +kind: Namespace +metadata: + name: argocd \ No newline at end of file diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 0905bd2..2d93b9a 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -1,7 +1,7 @@ replicaCount: 1 image: - repository: sugesh23/devops-coding-challenge-app + repository: sugesh23/devops-coding-challenge tag: v1 pullPolicy: IfNotPresent @@ -34,3 +34,38 @@ ingress: tls: [] fullnameOverride: "" + +prometheus: + namespaceOverride: prometheus + alertmanager: + enabled: false + pushgateway: + enabled: false + server: + service: + type: LoadBalancer + +grafana: + namespaceOverride: grafana + adminPassword: admin + service: + type: LoadBalancer + ingress: + enabled: true + annotations: {} + hosts: + - host: grafana.example.com + paths: + - path: / + pathType: ImplementationSpecific + tls: [] + +argocd: + namespaceOverride: argocd + global: + image: + repository: argoproj/argocd + tag: v2.1.7 + server: + service: + type: LoadBalancer \ No newline at end of file From 553f11d205acb4af6ab38e45fe270d18327f6f80 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 11:00:39 +0000 Subject: [PATCH 045/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 98378f3..35b27e7 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13786272163 + image: sugesh23/devops-coding-challenge:13786343309 rootPassword: dev database: challenge From 821999636312d247950a623c8860c04da9030e92 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 12:04:28 +0100 Subject: [PATCH 046/126] commented update to k8s --- .github/workflows/crewmeister-ci.yml | 44 ++++++++++++++-------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 248075e..555784c 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -60,25 +60,25 @@ jobs: run: | docker buildx build --platform linux/amd64,linux/arm64 -t ${{ secrets.DOCKER_USERNAME }}/devops-coding-challenge:latest --push . - updatek8s: - runs-on: ubuntu-latest - needs: docker - - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - token: ${{ secrets.CREWMEISTER_GITHUB_TOKEN }} - - - name: Update tag in Kubernetes deployment manifest - run: | - sed -i "s|image: .*|image: ${{ secrets.DOCKER_USERNAME }}/devops-coding-challenge:${{ github.run_id }}|" helm-crewmeister/values.yaml - - - name: Commit and push changes - run: | - git config --global user.email "${{ secrets.GIT_USER_EMAIL }}" - git config --global user.name "${{ secrets.GIT_USER_NAME }}" - git add helm-crewmeister/values.yaml - git commit -m "[CI]: Update devops-coding-challenge image tag" - git push origin HEAD:main -f - if: github.ref != 'refs/heads/main' \ No newline at end of file +# updatek8s: +# runs-on: ubuntu-latest +# needs: docker +# +# steps: +# - name: Checkout code +# uses: actions/checkout@v2 +# with: +# token: ${{ secrets.CREWMEISTER_GITHUB_TOKEN }} +# +# - name: Update tag in Kubernetes deployment manifest +# run: | +# sed -i "s|image: .*|image: ${{ secrets.DOCKER_USERNAME }}/devops-coding-challenge:${{ github.run_id }}|" helm-crewmeister/values.yaml +# +# - name: Commit and push changes +# run: | +# git config --global user.email "${{ secrets.GIT_USER_EMAIL }}" +# git config --global user.name "${{ secrets.GIT_USER_NAME }}" +# git add helm-crewmeister/values.yaml +# git commit -m "[CI]: Update devops-coding-challenge image tag" +# git push origin HEAD:main -f +# if: github.ref != 'refs/heads/main' \ No newline at end of file From 44c88c8c0e8d8405acb188c596935df9e81dd4b3 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 11:04:44 +0000 Subject: [PATCH 047/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 35b27e7..5e36ba6 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13786343309 + image: sugesh23/devops-coding-challenge:13786411711 rootPassword: dev database: challenge From 2226466e8e2a0d6b6e431517551a013c7489688b Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 11:08:43 +0000 Subject: [PATCH 048/126] [CI]: Update devops-coding-challenge image tag --- helm-crewmeister/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 5e36ba6..63c28b7 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -16,7 +16,7 @@ env: SPRING_DATASOURCE_PASSWORD: dev mysql: - image: sugesh23/devops-coding-challenge:13786411711 + image: sugesh23/devops-coding-challenge:13786495205 rootPassword: dev database: challenge From 40914e1f3bf7ec9d85cfd430b0adb95aeacced05 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 12:59:04 +0100 Subject: [PATCH 049/126] update helm changes --- helm-crewmeister/Chart.yaml | 10 ---- helm-crewmeister/argocd/Chart.yaml | 7 ++- helm-crewmeister/monitoring/Chart.yaml | 10 +++- helm-crewmeister/values.yaml | 72 +------------------------- 4 files changed, 16 insertions(+), 83 deletions(-) diff --git a/helm-crewmeister/Chart.yaml b/helm-crewmeister/Chart.yaml index f03bfd9..5bf9a9f 100644 --- a/helm-crewmeister/Chart.yaml +++ b/helm-crewmeister/Chart.yaml @@ -23,13 +23,3 @@ version: 0.1.0 # It is recommended to use it with quotes. appVersion: "1.16.0" -dependencies: - - name: argocd - version: 3.21.0 - repository: "https://argoproj.github.io/argo-helm" - - name: prometheus - version: 15.0.0 - repository: "https://prometheus-community.github.io/helm-charts" - - name: grafana - version: 6.17.4 - repository: "https://grafana.github.io/helm-charts" \ No newline at end of file diff --git a/helm-crewmeister/argocd/Chart.yaml b/helm-crewmeister/argocd/Chart.yaml index 1513f7b..607d1a7 100644 --- a/helm-crewmeister/argocd/Chart.yaml +++ b/helm-crewmeister/argocd/Chart.yaml @@ -5,4 +5,9 @@ description: A Helm chart for Argo CD type: application version: 0.1.0 -appVersion: "2.1.7" \ No newline at end of file +appVersion: "2.1.7" + +dependencies: + - name: argocd + version: 5.46.8 + repository: https://argoproj.github.io/argo-helm \ No newline at end of file diff --git a/helm-crewmeister/monitoring/Chart.yaml b/helm-crewmeister/monitoring/Chart.yaml index da61399..d868ef6 100644 --- a/helm-crewmeister/monitoring/Chart.yaml +++ b/helm-crewmeister/monitoring/Chart.yaml @@ -5,4 +5,12 @@ description: A Helm chart for monitoring type: application version: 0.1.0 -appVersion: "1.0.0" \ No newline at end of file +appVersion: "1.0.0" + +dependencies: + - name: prometheus + version: 15.0.0 + repository: https://prometheus-community.github.io/helm-charts + - name: grafana + version: 6.17.4 + repository: https://grafana.github.io/helm-charts \ No newline at end of file diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index 2d93b9a..e909ee9 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -1,71 +1 @@ -replicaCount: 1 - -image: - repository: sugesh23/devops-coding-challenge - tag: v1 - pullPolicy: IfNotPresent - -service: - type: LoadBalancer - port: 8080 - -env: - SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true - SPRING_DATASOURCE_WRITER_URL: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true - SPRING_DATASOURCE_USERNAME: root - SPRING_DATASOURCE_PASSWORD: dev - -mysql: - image: mysql:8.0 - rootPassword: dev - database: challenge - -serviceAccount: - create: true - name: crewmeister-challenge -ingress: - enabled: true - annotations: {} - hosts: - - host: chart-example.local - paths: - - path: / - pathType: ImplementationSpecific - tls: [] - -fullnameOverride: "" - -prometheus: - namespaceOverride: prometheus - alertmanager: - enabled: false - pushgateway: - enabled: false - server: - service: - type: LoadBalancer - -grafana: - namespaceOverride: grafana - adminPassword: admin - service: - type: LoadBalancer - ingress: - enabled: true - annotations: {} - hosts: - - host: grafana.example.com - paths: - - path: / - pathType: ImplementationSpecific - tls: [] - -argocd: - namespaceOverride: argocd - global: - image: - repository: argoproj/argocd - tag: v2.1.7 - server: - service: - type: LoadBalancer \ No newline at end of file +fullnameOverride: "" \ No newline at end of file From 8f59f75cfdfefef715e22f6e1b2fc64eaf71068e Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 13:14:58 +0100 Subject: [PATCH 050/126] hem changes --- helm-crewmeister/Chart.yaml | 10 ++++++ helm-crewmeister/argocd/Chart.yaml | 4 --- .../monitoring/templates/ingress.yaml | 34 +++++++++++++++++++ 3 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 helm-crewmeister/monitoring/templates/ingress.yaml diff --git a/helm-crewmeister/Chart.yaml b/helm-crewmeister/Chart.yaml index 5bf9a9f..242a5c0 100644 --- a/helm-crewmeister/Chart.yaml +++ b/helm-crewmeister/Chart.yaml @@ -23,3 +23,13 @@ version: 0.1.0 # It is recommended to use it with quotes. appVersion: "1.16.0" +dependencies: + - name: argo-cd + version: 5.46.8 + repository: https://argoproj.github.io/argo-helm + - name: prometheus + version: 15.0.0 + repository: https://prometheus-community.github.io/helm-charts + - name: grafana + version: 6.17.4 + repository: https://grafana.github.io/helm-charts \ No newline at end of file diff --git a/helm-crewmeister/argocd/Chart.yaml b/helm-crewmeister/argocd/Chart.yaml index 607d1a7..92e4f1b 100644 --- a/helm-crewmeister/argocd/Chart.yaml +++ b/helm-crewmeister/argocd/Chart.yaml @@ -7,7 +7,3 @@ type: application version: 0.1.0 appVersion: "2.1.7" -dependencies: - - name: argocd - version: 5.46.8 - repository: https://argoproj.github.io/argo-helm \ No newline at end of file diff --git a/helm-crewmeister/monitoring/templates/ingress.yaml b/helm-crewmeister/monitoring/templates/ingress.yaml new file mode 100644 index 0000000..1f1ce9f --- /dev/null +++ b/helm-crewmeister/monitoring/templates/ingress.yaml @@ -0,0 +1,34 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: {{ include "grafana.fullname" . }} + labels: + {{- include "grafana.labels" . | nindent 4 }} + annotations: + {{- toYaml .Values.grafana.ingress.annotations | nindent 4 }} +spec: + rules: + {{- range .Values.grafana.ingress.hosts }} + - host: {{ .host }} + http: + paths: + {{- range .paths }} + - path: {{ .path }} + pathType: {{ .pathType }} + backend: + service: + name: {{ include "grafana.fullname" . }} + port: + number: {{ $.Values.grafana.service.port }} + {{- end }} + {{- end }} + {{- if .Values.grafana.ingress.tls }} + tls: + {{- range .Values.grafana.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} + {{- end }} \ No newline at end of file From cd7fc23aae14ac73917ff860830bfdc949ae3038 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 11 Mar 2025 21:35:33 +0000 Subject: [PATCH 051/126] Helm changes --- helm-crewmeister/Chart.lock | 6 + helm-crewmeister/Chart.yaml | 7 +- helm-crewmeister/charts/argo-cd-5.46.8.tgz | Bin 0 -> 148921 bytes helm/crewmeister-app/.helmignore | 23 ++++ helm/crewmeister-app/Chart.yaml | 24 ++++ helm/crewmeister-app/templates/_helpers.tpl | 62 ++++++++++ helm/crewmeister-app/values.yaml | 123 ++++++++++++++++++++ 7 files changed, 239 insertions(+), 6 deletions(-) create mode 100644 helm-crewmeister/Chart.lock create mode 100644 helm-crewmeister/charts/argo-cd-5.46.8.tgz create mode 100644 helm/crewmeister-app/.helmignore create mode 100644 helm/crewmeister-app/Chart.yaml create mode 100644 helm/crewmeister-app/templates/_helpers.tpl create mode 100644 helm/crewmeister-app/values.yaml diff --git a/helm-crewmeister/Chart.lock b/helm-crewmeister/Chart.lock new file mode 100644 index 0000000..7c3e70f --- /dev/null +++ b/helm-crewmeister/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: argo-cd + repository: https://argoproj.github.io/argo-helm + version: 5.46.8 +digest: sha256:9a82ac98c7a460b13f3152ba716e23924ca83468f45d5263787e95b4198be5b2 +generated: "2025-03-11T21:10:30.047617451Z" diff --git a/helm-crewmeister/Chart.yaml b/helm-crewmeister/Chart.yaml index 242a5c0..4b438e8 100644 --- a/helm-crewmeister/Chart.yaml +++ b/helm-crewmeister/Chart.yaml @@ -27,9 +27,4 @@ dependencies: - name: argo-cd version: 5.46.8 repository: https://argoproj.github.io/argo-helm - - name: prometheus - version: 15.0.0 - repository: https://prometheus-community.github.io/helm-charts - - name: grafana - version: 6.17.4 - repository: https://grafana.github.io/helm-charts \ No newline at end of file + diff --git a/helm-crewmeister/charts/argo-cd-5.46.8.tgz b/helm-crewmeister/charts/argo-cd-5.46.8.tgz new file mode 100644 index 0000000000000000000000000000000000000000..2378e5e4e31b10e9045456c13f93a3acf7d54adb GIT binary patch literal 148921 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
FVtO*ym8B!w)p)G$z48? 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ťniMq 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 gRhxQj$i9}Z`kp0FgKh%m4rY literal 0 HcmV?d00001 diff --git a/helm/crewmeister-app/.helmignore b/helm/crewmeister-app/.helmignore new file mode 100644 index 0000000..0e8a0eb --- /dev/null +++ b/helm/crewmeister-app/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/helm/crewmeister-app/Chart.yaml b/helm/crewmeister-app/Chart.yaml new file mode 100644 index 0000000..e082bec --- /dev/null +++ b/helm/crewmeister-app/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +name: crewmeister-app +description: A Helm chart for Kubernetes + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.1.0 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. Versions are not expected to +# follow Semantic Versioning. They should reflect the version the application is using. +# It is recommended to use it with quotes. +appVersion: "1.16.0" diff --git a/helm/crewmeister-app/templates/_helpers.tpl b/helm/crewmeister-app/templates/_helpers.tpl new file mode 100644 index 0000000..59c9e21 --- /dev/null +++ b/helm/crewmeister-app/templates/_helpers.tpl @@ -0,0 +1,62 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "crewmeister-app.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "crewmeister-app.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "crewmeister-app.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "crewmeister-app.labels" -}} +helm.sh/chart: {{ include "crewmeister-app.chart" . }} +{{ include "crewmeister-app.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "crewmeister-app.selectorLabels" -}} +app.kubernetes.io/name: {{ include "crewmeister-app.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "crewmeister-app.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "crewmeister-app.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} diff --git a/helm/crewmeister-app/values.yaml b/helm/crewmeister-app/values.yaml new file mode 100644 index 0000000..c6363ef --- /dev/null +++ b/helm/crewmeister-app/values.yaml @@ -0,0 +1,123 @@ +# Default values for crewmeister-app. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +# This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/ +replicaCount: 1 + +# This sets the container image more information can be found here: https://kubernetes.io/docs/concepts/containers/images/ +image: + repository: nginx + # This sets the pull policy for images. + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + tag: "" + +# This is for the secrets for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ +imagePullSecrets: [] +# This is to override the chart name. +nameOverride: "" +fullnameOverride: "" + +# This section builds out the service account more information can be found here: https://kubernetes.io/docs/concepts/security/service-accounts/ +serviceAccount: + # Specifies whether a service account should be created + create: true + # Automatically mount a ServiceAccount's API credentials? + automount: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "" + +# This is for setting Kubernetes Annotations to a Pod. +# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ +podAnnotations: {} +# This is for setting Kubernetes Labels to a Pod. +# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ +podLabels: {} + +podSecurityContext: {} + # fsGroup: 2000 + +securityContext: {} + # capabilities: + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + +# This is for setting up a service more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/ +service: + # This sets the service type more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types + type: ClusterIP + # This sets the ports more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports + port: 80 + +# This block is for setting up the ingress for more information can be found here: https://kubernetes.io/docs/concepts/services-networking/ingress/ +ingress: + enabled: false + className: "" + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + hosts: + - host: chart-example.local + paths: + - path: / + pathType: ImplementationSpecific + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +# This is to setup the liveness and readiness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ +livenessProbe: + httpGet: + path: / + port: http +readinessProbe: + httpGet: + path: / + port: http + +# This section is for setting up autoscaling more information can be found here: https://kubernetes.io/docs/concepts/workloads/autoscaling/ +autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 100 + targetCPUUtilizationPercentage: 80 + # targetMemoryUtilizationPercentage: 80 + +# Additional volumes on the output Deployment definition. +volumes: [] +# - name: foo +# secret: +# secretName: mysecret +# optional: false + +# Additional volumeMounts on the output Deployment definition. +volumeMounts: [] +# - name: foo +# mountPath: "/etc/foo" +# readOnly: true + +nodeSelector: {} + +tolerations: [] + +affinity: {} From dc70e6348beaac1e102506a02b551824971a98cb Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 22:45:18 +0100 Subject: [PATCH 052/126] helm changeset create my-release . --install --namespace my-namespace --- helm-crewmeister/values.yaml | 5 +- .../templates/app-deployment.yaml | 26 ++++ .../templates/app-service.yaml | 11 ++ .../templates/db-deployment.yaml | 33 +++++ .../crewmeister-app/templates/db-service.yaml | 11 ++ .../templates/serviceaccount.yaml | 12 ++ helm/crewmeister-app/values.yaml | 123 ------------------ 7 files changed, 97 insertions(+), 124 deletions(-) create mode 100644 helm/crewmeister-app/templates/app-deployment.yaml create mode 100644 helm/crewmeister-app/templates/app-service.yaml create mode 100644 helm/crewmeister-app/templates/db-deployment.yaml create mode 100644 helm/crewmeister-app/templates/db-service.yaml create mode 100644 helm/crewmeister-app/templates/serviceaccount.yaml diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml index e909ee9..eec5547 100644 --- a/helm-crewmeister/values.yaml +++ b/helm-crewmeister/values.yaml @@ -1 +1,4 @@ -fullnameOverride: "" \ No newline at end of file +fullnameOverride: "" +service: + type: LoadBalancer + port: 8080 \ No newline at end of file diff --git a/helm/crewmeister-app/templates/app-deployment.yaml b/helm/crewmeister-app/templates/app-deployment.yaml new file mode 100644 index 0000000..bdaf8f6 --- /dev/null +++ b/helm/crewmeister-app/templates/app-deployment.yaml @@ -0,0 +1,26 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: app +spec: + replicas: 1 + selector: + matchLabels: + app: app + template: + metadata: + labels: + app: app + spec: + containers: + - name: app + image: sugesh23/devops-coding-challenge-app:latest + ports: + - containerPort: 8080 + env: + - name: SPRING_DATASOURCE_URL + value: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true + - name: SPRING_DATASOURCE_USERNAME + value: root + - name: SPRING_DATASOURCE_PASSWORD + value: dev \ No newline at end of file diff --git a/helm/crewmeister-app/templates/app-service.yaml b/helm/crewmeister-app/templates/app-service.yaml new file mode 100644 index 0000000..02a1d3b --- /dev/null +++ b/helm/crewmeister-app/templates/app-service.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: app +spec: + ports: + - port: 8080 + targetPort: 8080 + selector: + app: app + type: LoadBalancer \ No newline at end of file diff --git a/helm/crewmeister-app/templates/db-deployment.yaml b/helm/crewmeister-app/templates/db-deployment.yaml new file mode 100644 index 0000000..b347e8b --- /dev/null +++ b/helm/crewmeister-app/templates/db-deployment.yaml @@ -0,0 +1,33 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: db +spec: + replicas: 1 + selector: + matchLabels: + app: db + template: + metadata: + labels: + app: db + spec: + containers: + - name: db + image: mysql:8.0 + ports: + - containerPort: 3306 + env: + - name: MYSQL_ROOT_PASSWORD + value: dev + - name: MYSQL_DATABASE + value: challenge + livenessProbe: + exec: + command: + - mysqladmin + - ping + - -h + - localhost + initialDelaySeconds: 30 + periodSeconds: 10 \ No newline at end of file diff --git a/helm/crewmeister-app/templates/db-service.yaml b/helm/crewmeister-app/templates/db-service.yaml new file mode 100644 index 0000000..2d6d37e --- /dev/null +++ b/helm/crewmeister-app/templates/db-service.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: db +spec: + ports: + - port: 3306 + targetPort: 3306 + selector: + app: db + type: ClusterIP \ No newline at end of file diff --git a/helm/crewmeister-app/templates/serviceaccount.yaml b/helm/crewmeister-app/templates/serviceaccount.yaml new file mode 100644 index 0000000..b79255a --- /dev/null +++ b/helm/crewmeister-app/templates/serviceaccount.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: crewmeister-challenge + labels: + + opentelemetry.io/name: crewmeister-challenge + app.kubernetes.io/instance: crewmeister-challenge + app.kubernetes.io/name: crewmeister-challenge + app.kubernetes.io/version: "1.12.0" + app.kubernetes.io/part-of: crewmeister-challenge \ No newline at end of file diff --git a/helm/crewmeister-app/values.yaml b/helm/crewmeister-app/values.yaml index c6363ef..e69de29 100644 --- a/helm/crewmeister-app/values.yaml +++ b/helm/crewmeister-app/values.yaml @@ -1,123 +0,0 @@ -# Default values for crewmeister-app. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - -# This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/ -replicaCount: 1 - -# This sets the container image more information can be found here: https://kubernetes.io/docs/concepts/containers/images/ -image: - repository: nginx - # This sets the pull policy for images. - pullPolicy: IfNotPresent - # Overrides the image tag whose default is the chart appVersion. - tag: "" - -# This is for the secrets for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ -imagePullSecrets: [] -# This is to override the chart name. -nameOverride: "" -fullnameOverride: "" - -# This section builds out the service account more information can be found here: https://kubernetes.io/docs/concepts/security/service-accounts/ -serviceAccount: - # Specifies whether a service account should be created - create: true - # Automatically mount a ServiceAccount's API credentials? - automount: true - # Annotations to add to the service account - annotations: {} - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template - name: "" - -# This is for setting Kubernetes Annotations to a Pod. -# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ -podAnnotations: {} -# This is for setting Kubernetes Labels to a Pod. -# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ -podLabels: {} - -podSecurityContext: {} - # fsGroup: 2000 - -securityContext: {} - # capabilities: - # drop: - # - ALL - # readOnlyRootFilesystem: true - # runAsNonRoot: true - # runAsUser: 1000 - -# This is for setting up a service more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/ -service: - # This sets the service type more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types - type: ClusterIP - # This sets the ports more information can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports - port: 80 - -# This block is for setting up the ingress for more information can be found here: https://kubernetes.io/docs/concepts/services-networking/ingress/ -ingress: - enabled: false - className: "" - annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - hosts: - - host: chart-example.local - paths: - - path: / - pathType: ImplementationSpecific - tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - -# This is to setup the liveness and readiness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ -livenessProbe: - httpGet: - path: / - port: http -readinessProbe: - httpGet: - path: / - port: http - -# This section is for setting up autoscaling more information can be found here: https://kubernetes.io/docs/concepts/workloads/autoscaling/ -autoscaling: - enabled: false - minReplicas: 1 - maxReplicas: 100 - targetCPUUtilizationPercentage: 80 - # targetMemoryUtilizationPercentage: 80 - -# Additional volumes on the output Deployment definition. -volumes: [] -# - name: foo -# secret: -# secretName: mysecret -# optional: false - -# Additional volumeMounts on the output Deployment definition. -volumeMounts: [] -# - name: foo -# mountPath: "/etc/foo" -# readOnly: true - -nodeSelector: {} - -tolerations: [] - -affinity: {} From db88c1e79bd72f6c733cf69070c21dd9e0b2edf1 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 22:59:33 +0100 Subject: [PATCH 053/126] helm changes --- helm-crewmeister/.DS_Store | Bin 6148 -> 0 bytes helm-crewmeister/.helmignore | 23 ------- helm-crewmeister/Chart.lock | 6 -- helm-crewmeister/Chart.yaml | 30 --------- helm-crewmeister/appdeployment/Chart.yaml | 8 --- .../appdeployment/templates/deployment.yaml | 31 --------- .../appdeployment/templates/ingress.yaml | 34 ---------- .../templates/mysql-deployment.yaml | 48 -------------- .../appdeployment/templates/service.yaml | 15 ----- .../templates/serviceaccount.yaml | 10 --- helm-crewmeister/appdeployment/values.yaml | 35 ---------- helm-crewmeister/argocd/Chart.yaml | 9 --- helm-crewmeister/argocd/values.yaml | 8 --- helm-crewmeister/charts/argo-cd-5.46.8.tgz | Bin 148921 -> 0 bytes helm-crewmeister/monitoring/Chart.yaml | 16 ----- .../monitoring/templates/ingress.yaml | 34 ---------- helm-crewmeister/monitoring/values.yaml | 22 ------- helm-crewmeister/templates/NOTES.txt | 22 ------- helm-crewmeister/templates/_helpers.tpl | 62 ------------------ helm-crewmeister/templates/namespaces.yaml | 14 ---- .../templates/tests/test-connection.yaml | 15 ----- helm-crewmeister/values.yaml | 4 -- .../templates/db-deployment.yaml | 31 +++++---- .../crewmeister-app/templates/db-service.yaml | 5 +- 24 files changed, 21 insertions(+), 461 deletions(-) delete mode 100644 helm-crewmeister/.DS_Store delete mode 100644 helm-crewmeister/.helmignore delete mode 100644 helm-crewmeister/Chart.lock delete mode 100644 helm-crewmeister/Chart.yaml delete mode 100644 helm-crewmeister/appdeployment/Chart.yaml delete mode 100644 helm-crewmeister/appdeployment/templates/deployment.yaml delete mode 100644 helm-crewmeister/appdeployment/templates/ingress.yaml delete mode 100644 helm-crewmeister/appdeployment/templates/mysql-deployment.yaml delete mode 100644 helm-crewmeister/appdeployment/templates/service.yaml delete mode 100644 helm-crewmeister/appdeployment/templates/serviceaccount.yaml delete mode 100644 helm-crewmeister/appdeployment/values.yaml delete mode 100644 helm-crewmeister/argocd/Chart.yaml delete mode 100644 helm-crewmeister/argocd/values.yaml delete mode 100644 helm-crewmeister/charts/argo-cd-5.46.8.tgz delete mode 100644 helm-crewmeister/monitoring/Chart.yaml delete mode 100644 helm-crewmeister/monitoring/templates/ingress.yaml delete mode 100644 helm-crewmeister/monitoring/values.yaml delete mode 100644 helm-crewmeister/templates/NOTES.txt delete mode 100644 helm-crewmeister/templates/_helpers.tpl delete mode 100644 helm-crewmeister/templates/namespaces.yaml delete mode 100644 helm-crewmeister/templates/tests/test-connection.yaml delete mode 100644 helm-crewmeister/values.yaml diff --git a/helm-crewmeister/.DS_Store b/helm-crewmeister/.DS_Store deleted file mode 100644 index 238c0974e51d7ba7169474c7cf77b88e9f0c00f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%}T>S5Z-O8O(;SR3Oz1(E!f(k6fdFH7cim+m718K!8BW%)Er77XMG``#OHBl zcPmQkO+?BJ%zm5s*<`;hI~~RtAI!oIV-91?0!6IYFsu>uqpnEBSgL?rt&uRFw)NMr!sw_uXQS>A5H^Gdb0wOzOBR>QjW9%bR>em=_v z{`4B3E~HF?<=hW0d}jcAKM)7&|Jl#|zY3y(7$62VlL1~Edcy(i&D7SFU1F^jpm(4s7*}fi lOo53i#Sn|7xCyER>;fl%uEA0xSU~8HfTDp0V&G31_y8ExRJ8yA diff --git a/helm-crewmeister/.helmignore b/helm-crewmeister/.helmignore deleted file mode 100644 index 0e8a0eb..0000000 --- a/helm-crewmeister/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/helm-crewmeister/Chart.lock b/helm-crewmeister/Chart.lock deleted file mode 100644 index 7c3e70f..0000000 --- a/helm-crewmeister/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: argo-cd - repository: https://argoproj.github.io/argo-helm - version: 5.46.8 -digest: sha256:9a82ac98c7a460b13f3152ba716e23924ca83468f45d5263787e95b4198be5b2 -generated: "2025-03-11T21:10:30.047617451Z" diff --git a/helm-crewmeister/Chart.yaml b/helm-crewmeister/Chart.yaml deleted file mode 100644 index 4b438e8..0000000 --- a/helm-crewmeister/Chart.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: v2 -name: helm-crewmeister -description: A Helm chart for Kubernetes - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -type: application - -# This is the chart version. This version number should be incremented each time you make changes -# to the chart and its templates, including the app version. -# Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.1.0 - -# This is the version number of the application being deployed. This version number should be -# incremented each time you make changes to the application. Versions are not expected to -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "1.16.0" - -dependencies: - - name: argo-cd - version: 5.46.8 - repository: https://argoproj.github.io/argo-helm - diff --git a/helm-crewmeister/appdeployment/Chart.yaml b/helm-crewmeister/appdeployment/Chart.yaml deleted file mode 100644 index dfa24ea..0000000 --- a/helm-crewmeister/appdeployment/Chart.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v2 -name: appdeployment -description: A Helm chart for application deployment - -type: application - -version: 0.1.0 -appVersion: "1.0.0" \ No newline at end of file diff --git a/helm-crewmeister/appdeployment/templates/deployment.yaml b/helm-crewmeister/appdeployment/templates/deployment.yaml deleted file mode 100644 index ef71215..0000000 --- a/helm-crewmeister/appdeployment/templates/deployment.yaml +++ /dev/null @@ -1,31 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "helm-crewmeister.fullname" . }} - labels: - {{- include "helm-crewmeister.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "helm-crewmeister.selectorLabels" . | nindent 6 }} - template: - metadata: - labels: - {{- include "helm-crewmeister.selectorLabels" . | nindent 8 }} - spec: - serviceAccountName: {{ .Values.serviceAccount.name }} - containers: - - name: {{ .Chart.Name }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - name: http - containerPort: 8080 - env: - - name: SPRING_DATASOURCE_URL - value: {{ .Values.env.SPRING_DATASOURCE_URL }} - - name: SPRING_DATASOURCE_USERNAME - value: {{ .Values.env.SPRING_DATASOURCE_USERNAME }} - - name: SPRING_DATASOURCE_PASSWORD - value: {{ .Values.env.SPRING_DATASOURCE_PASSWORD }} diff --git a/helm-crewmeister/appdeployment/templates/ingress.yaml b/helm-crewmeister/appdeployment/templates/ingress.yaml deleted file mode 100644 index 16644ff..0000000 --- a/helm-crewmeister/appdeployment/templates/ingress.yaml +++ /dev/null @@ -1,34 +0,0 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: {{ include "helm-crewmeister.fullname" . }} - labels: - {{- include "helm-crewmeister.labels" . | nindent 4 }} - annotations: - {{- toYaml .Values.ingress.annotations | nindent 4 }} -spec: - rules: - {{- range .Values.ingress.hosts }} - - host: {{ .host }} - http: - paths: - {{- range .paths }} - - path: {{ .path }} - pathType: {{ .pathType }} - backend: - service: - name: {{ include "helm-crewmeister.fullname" . }} - port: - number: {{ $.Values.service.port }} - {{- end }} - {{- end }} - {{- if .Values.ingress.tls }} - tls: - {{- range .Values.ingress.tls }} - - hosts: - {{- range .hosts }} - - {{ . }} - {{- end }} - secretName: {{ .secretName }} - {{- end }} - {{- end }} \ No newline at end of file diff --git a/helm-crewmeister/appdeployment/templates/mysql-deployment.yaml b/helm-crewmeister/appdeployment/templates/mysql-deployment.yaml deleted file mode 100644 index af4b0bd..0000000 --- a/helm-crewmeister/appdeployment/templates/mysql-deployment.yaml +++ /dev/null @@ -1,48 +0,0 @@ -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: mysql -spec: - selector: - matchLabels: - app: mysql - serviceName: "mysql" - replicas: 1 - template: - metadata: - labels: - app: mysql - spec: - containers: - - name: mysql - image: {{ .Values.mysql.image }} - env: - - name: MYSQL_ROOT_PASSWORD - value: {{ .Values.mysql.rootPassword }} - - name: MYSQL_DATABASE - value: {{ .Values.mysql.database }} - ports: - - containerPort: 3306 - volumeMounts: - - name: mysql-persistent-storage - mountPath: /var/lib/mysql - volumeClaimTemplates: - - metadata: - name: mysql-persistent-storage - spec: - accessModes: [ "ReadWriteOnce" ] - resources: - requests: - storage: 1Gi ---- -apiVersion: v1 -kind: Service -metadata: - name: db -spec: - ports: - - port: 3306 - targetPort: 3306 - selector: - app: mysql - type: ClusterIP \ No newline at end of file diff --git a/helm-crewmeister/appdeployment/templates/service.yaml b/helm-crewmeister/appdeployment/templates/service.yaml deleted file mode 100644 index c85e1d3..0000000 --- a/helm-crewmeister/appdeployment/templates/service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "helm-crewmeister.fullname" . }} - labels: - {{- include "helm-crewmeister.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - ports: - - port: {{ .Values.service.port }} - targetPort: http - protocol: TCP - name: http - selector: - {{- include "helm-crewmeister.selectorLabels" . | nindent 4 }} diff --git a/helm-crewmeister/appdeployment/templates/serviceaccount.yaml b/helm-crewmeister/appdeployment/templates/serviceaccount.yaml deleted file mode 100644 index dbe7032..0000000 --- a/helm-crewmeister/appdeployment/templates/serviceaccount.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: crewmeister-challenge - labels: - opentelemetry.io/name: crewmeister-challenge - app.kubernetes.io/instance: crewmeister-challenge - app.kubernetes.io/name: crewmeister-challenge - app.kubernetes.io/version: "1.12.0" - app.kubernetes.io/part-of: crewmeister-challenge diff --git a/helm-crewmeister/appdeployment/values.yaml b/helm-crewmeister/appdeployment/values.yaml deleted file mode 100644 index 95ef9fc..0000000 --- a/helm-crewmeister/appdeployment/values.yaml +++ /dev/null @@ -1,35 +0,0 @@ -replicaCount: 1 - -image: - repository: sugesh23/devops-coding-challenge-app - tag: v1 - pullPolicy: IfNotPresent - -service: - type: LoadBalancer - port: 8080 - -env: - SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true - SPRING_DATASOURCE_WRITER_URL: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true - SPRING_DATASOURCE_USERNAME: root - SPRING_DATASOURCE_PASSWORD: dev - -mysql: - image: mysql:8.0 - rootPassword: dev - database: challenge - -serviceAccount: - create: true - name: crewmeister-challenge - -ingress: - enabled: true - annotations: {} - hosts: - - host: chart-example.local - paths: - - path: / - pathType: ImplementationSpecific - tls: [] \ No newline at end of file diff --git a/helm-crewmeister/argocd/Chart.yaml b/helm-crewmeister/argocd/Chart.yaml deleted file mode 100644 index 92e4f1b..0000000 --- a/helm-crewmeister/argocd/Chart.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: v2 -name: argocd -description: A Helm chart for Argo CD - -type: application - -version: 0.1.0 -appVersion: "2.1.7" - diff --git a/helm-crewmeister/argocd/values.yaml b/helm-crewmeister/argocd/values.yaml deleted file mode 100644 index bbe6a4e..0000000 --- a/helm-crewmeister/argocd/values.yaml +++ /dev/null @@ -1,8 +0,0 @@ -global: - image: - repository: argoproj/argocd - tag: v2.1.7 - -server: - service: - type: LoadBalancer \ No newline at end of file diff --git a/helm-crewmeister/charts/argo-cd-5.46.8.tgz b/helm-crewmeister/charts/argo-cd-5.46.8.tgz deleted file mode 100644 index 2378e5e4e31b10e9045456c13f93a3acf7d54adb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148921 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
FVtO*ym8B!w)p)G$z48? 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ťniMq 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 gRhxQj$i9}Z`kp0FgKh%m4rY diff --git a/helm-crewmeister/monitoring/Chart.yaml b/helm-crewmeister/monitoring/Chart.yaml deleted file mode 100644 index d868ef6..0000000 --- a/helm-crewmeister/monitoring/Chart.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v2 -name: monitoring -description: A Helm chart for monitoring - -type: application - -version: 0.1.0 -appVersion: "1.0.0" - -dependencies: - - name: prometheus - version: 15.0.0 - repository: https://prometheus-community.github.io/helm-charts - - name: grafana - version: 6.17.4 - repository: https://grafana.github.io/helm-charts \ No newline at end of file diff --git a/helm-crewmeister/monitoring/templates/ingress.yaml b/helm-crewmeister/monitoring/templates/ingress.yaml deleted file mode 100644 index 1f1ce9f..0000000 --- a/helm-crewmeister/monitoring/templates/ingress.yaml +++ /dev/null @@ -1,34 +0,0 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: {{ include "grafana.fullname" . }} - labels: - {{- include "grafana.labels" . | nindent 4 }} - annotations: - {{- toYaml .Values.grafana.ingress.annotations | nindent 4 }} -spec: - rules: - {{- range .Values.grafana.ingress.hosts }} - - host: {{ .host }} - http: - paths: - {{- range .paths }} - - path: {{ .path }} - pathType: {{ .pathType }} - backend: - service: - name: {{ include "grafana.fullname" . }} - port: - number: {{ $.Values.grafana.service.port }} - {{- end }} - {{- end }} - {{- if .Values.grafana.ingress.tls }} - tls: - {{- range .Values.grafana.ingress.tls }} - - hosts: - {{- range .hosts }} - - {{ . }} - {{- end }} - secretName: {{ .secretName }} - {{- end }} - {{- end }} \ No newline at end of file diff --git a/helm-crewmeister/monitoring/values.yaml b/helm-crewmeister/monitoring/values.yaml deleted file mode 100644 index f925176..0000000 --- a/helm-crewmeister/monitoring/values.yaml +++ /dev/null @@ -1,22 +0,0 @@ -prometheus: - alertmanager: - enabled: false - pushgateway: - enabled: false - server: - service: - type: LoadBalancer - -grafana: - adminPassword: admin - service: - type: LoadBalancer - ingress: - enabled: true - annotations: {} - hosts: - - host: grafana.example.com - paths: - - path: / - pathType: ImplementationSpecific - tls: [] \ No newline at end of file diff --git a/helm-crewmeister/templates/NOTES.txt b/helm-crewmeister/templates/NOTES.txt deleted file mode 100644 index 13bfe77..0000000 --- a/helm-crewmeister/templates/NOTES.txt +++ /dev/null @@ -1,22 +0,0 @@ -1. Get the application URL by running these commands: -{{- if .Values.ingress.enabled }} -{{- range $host := .Values.ingress.hosts }} - {{- range .paths }} - http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }} - {{- end }} -{{- end }} -{{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "helm-crewmeister.fullname" . }}) - export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") - echo http://$NODE_IP:$NODE_PORT -{{- else if contains "LoadBalancer" .Values.service.type }} - NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch its status by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "helm-crewmeister.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "helm-crewmeister.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") - echo http://$SERVICE_IP:{{ .Values.service.port }} -{{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "helm-crewmeister.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") - export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}") - echo "Visit http://127.0.0.1:8080 to use your application" - kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT -{{- end }} diff --git a/helm-crewmeister/templates/_helpers.tpl b/helm-crewmeister/templates/_helpers.tpl deleted file mode 100644 index b554726..0000000 --- a/helm-crewmeister/templates/_helpers.tpl +++ /dev/null @@ -1,62 +0,0 @@ -{{/* -Expand the name of the chart. -*/}} -{{- define "helm-crewmeister.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. -*/}} -{{- define "helm-crewmeister.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- $name := default .Chart.Name .Values.nameOverride }} -{{- if contains $name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} -{{- end }} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "helm-crewmeister.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "helm-crewmeister.labels" -}} -helm.sh/chart: {{ include "helm-crewmeister.chart" . }} -{{ include "helm-crewmeister.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* -Selector labels -*/}} -{{- define "helm-crewmeister.selectorLabels" -}} -app.kubernetes.io/name: {{ include "helm-crewmeister.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Create the name of the service account to use -*/}} -{{- define "helm-crewmeister.serviceAccountName" -}} -{{- if .Values.serviceAccount.create }} -{{- default (include "helm-crewmeister.fullname" .) .Values.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.serviceAccount.name }} -{{- end }} -{{- end }} diff --git a/helm-crewmeister/templates/namespaces.yaml b/helm-crewmeister/templates/namespaces.yaml deleted file mode 100644 index 6eb978a..0000000 --- a/helm-crewmeister/templates/namespaces.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: appdeployment ---- -apiVersion: v1 -kind: Namespace -metadata: - name: monitoring ---- -apiVersion: v1 -kind: Namespace -metadata: - name: argocd \ No newline at end of file diff --git a/helm-crewmeister/templates/tests/test-connection.yaml b/helm-crewmeister/templates/tests/test-connection.yaml deleted file mode 100644 index 5fb5c7d..0000000 --- a/helm-crewmeister/templates/tests/test-connection.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: "{{ include "helm-crewmeister.fullname" . }}-test-connection" - labels: - {{- include "helm-crewmeister.labels" . | nindent 4 }} - annotations: - "helm.sh/hook": test -spec: - containers: - - name: wget - image: busybox - command: ['wget'] - args: ['{{ include "helm-crewmeister.fullname" . }}:{{ .Values.service.port }}'] - restartPolicy: Never diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml deleted file mode 100644 index eec5547..0000000 --- a/helm-crewmeister/values.yaml +++ /dev/null @@ -1,4 +0,0 @@ -fullnameOverride: "" -service: - type: LoadBalancer - port: 8080 \ No newline at end of file diff --git a/helm/crewmeister-app/templates/db-deployment.yaml b/helm/crewmeister-app/templates/db-deployment.yaml index b347e8b..67f6250 100644 --- a/helm/crewmeister-app/templates/db-deployment.yaml +++ b/helm/crewmeister-app/templates/db-deployment.yaml @@ -1,33 +1,36 @@ apiVersion: apps/v1 -kind: Deployment +kind: StatefulSet metadata: name: db spec: - replicas: 1 selector: matchLabels: app: db + serviceName: "db" + replicas: 1 template: metadata: labels: app: db spec: containers: - - name: db + - name: mysql image: mysql:8.0 - ports: - - containerPort: 3306 env: - name: MYSQL_ROOT_PASSWORD value: dev - name: MYSQL_DATABASE value: challenge - livenessProbe: - exec: - command: - - mysqladmin - - ping - - -h - - localhost - initialDelaySeconds: 30 - periodSeconds: 10 \ No newline at end of file + ports: + - containerPort: 3306 + volumeMounts: + - name: mysql-persistent-storage + mountPath: /var/lib/mysql + volumeClaimTemplates: + - metadata: + name: mysql-persistent-storage + spec: + accessModes: [ "ReadWriteOnce" ] + resources: + requests: + storage: 1Gi \ No newline at end of file diff --git a/helm/crewmeister-app/templates/db-service.yaml b/helm/crewmeister-app/templates/db-service.yaml index 2d6d37e..a7774bc 100644 --- a/helm/crewmeister-app/templates/db-service.yaml +++ b/helm/crewmeister-app/templates/db-service.yaml @@ -2,10 +2,13 @@ apiVersion: v1 kind: Service metadata: name: db + labels: + app: db spec: ports: - port: 3306 targetPort: 3306 + clusterIP: None selector: app: db - type: ClusterIP \ No newline at end of file + \ No newline at end of file From bc1119e7886d24aef2fbfcbb779a8372e63850ca Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 23:15:46 +0100 Subject: [PATCH 054/126] helm pv changes --- helm/crewmeister-app/templates/db-deployment.yaml | 3 ++- helm/crewmeister-app/templates/pv-mysql.yaml | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 helm/crewmeister-app/templates/pv-mysql.yaml diff --git a/helm/crewmeister-app/templates/db-deployment.yaml b/helm/crewmeister-app/templates/db-deployment.yaml index 67f6250..cf444d7 100644 --- a/helm/crewmeister-app/templates/db-deployment.yaml +++ b/helm/crewmeister-app/templates/db-deployment.yaml @@ -33,4 +33,5 @@ spec: accessModes: [ "ReadWriteOnce" ] resources: requests: - storage: 1Gi \ No newline at end of file + storage: 1Gi + storageClassName: "manual" # Ensure this matches your PV's storage class \ No newline at end of file diff --git a/helm/crewmeister-app/templates/pv-mysql.yaml b/helm/crewmeister-app/templates/pv-mysql.yaml new file mode 100644 index 0000000..e26c9b3 --- /dev/null +++ b/helm/crewmeister-app/templates/pv-mysql.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: pv-mysql +spec: + capacity: + storage: 1Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: manual + hostPath: + path: "/mnt/data" \ No newline at end of file From ff644a154d2c110eedb3d97c0a741a7fe2956431 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 23:24:17 +0100 Subject: [PATCH 055/126] revert to deployment --- .DS_Store | Bin 6148 -> 6148 bytes .../templates/db-deployment.yaml | 32 ++++++++---------- .../crewmeister-app/templates/db-service.yaml | 5 +-- helm/crewmeister-app/templates/pv-mysql.yaml | 13 ------- 4 files changed, 15 insertions(+), 35 deletions(-) delete mode 100644 helm/crewmeister-app/templates/pv-mysql.yaml diff --git a/.DS_Store b/.DS_Store index f795330cc8565dd2805f483208dee3f13a4477e5..2a683435893785e10967a58e57ec566290c91c6a 100644 GIT binary patch delta 67 zcmZoMXfc=|#>B)qu~2NHo+2a5#(>?7j4YdZST-|m7U2+Pnb=^unVo~51E^%PAjfy+ V$^0UY91K9f$iTp|IYML&GXOEB4*UQB delta 392 zcmZoMXfc=|#>B!ku~2NHo+2ar#(>?7i!U%UF|u#wVcN`CFTjw&kjjw5kjtRUkjzj7 zWS0ZksSKG6#SA4tx+tl9_j~5Ve&d)1J%*;zI0&B=jNd+pYj|tDrOUW;H z$}i1JDF$l}hRASma&X2ANK{vwSQ_gn7@8Z_>L^rO8X4#)m>8SY)^c))D(hPZ#b@W_ z=H+(*9R~!Aj1ZcE7fQpZZXg4@M_rJ7no^vclLT}*NEde1NQ%pXi}G^v^U{H888;TP iF>Yq(;O78_^X7xh- Date: Tue, 11 Mar 2025 23:30:22 +0100 Subject: [PATCH 056/126] application.yaml file change- db --- src/main/resources/application.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index f31e7f2..5c52ab0 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -4,10 +4,10 @@ spring: datasource: username: ${SPRING_DATASOURCE_USERNAME:root} password: ${SPRING_DATASOURCE_PASSWORD:dev} - url: ${SPRING_DATASOURCE_URL:jdbc:mysql://localhost:3306/challenge?createDatabaseIfNotExist=true} + url: ${SPRING_DATASOURCE_URL:jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true} driver-class-name: com.mysql.cj.jdbc.Driver flyway: - url: ${SPRING_DATASOURCE_WRITER_URL:jdbc:mysql://localhost:3306/challenge?createDatabaseIfNotExist=true} + url: ${SPRING_DATASOURCE_WRITER_URL:jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true} user: ${SPRING_DATASOURCE_USERNAME:root} password: ${SPRING_DATASOURCE_PASSWORD:dev} enabled: true From af2958c6b7efa1af48e8cd7349c0de24dcf58387 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 23:48:05 +0100 Subject: [PATCH 057/126] application.yml changes --- .../templates/db-deployment.yaml | 32 +++++++++++-------- .../crewmeister-app/templates/db-service.yaml | 6 ++-- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/helm/crewmeister-app/templates/db-deployment.yaml b/helm/crewmeister-app/templates/db-deployment.yaml index b347e8b..cf444d7 100644 --- a/helm/crewmeister-app/templates/db-deployment.yaml +++ b/helm/crewmeister-app/templates/db-deployment.yaml @@ -1,33 +1,37 @@ apiVersion: apps/v1 -kind: Deployment +kind: StatefulSet metadata: name: db spec: - replicas: 1 selector: matchLabels: app: db + serviceName: "db" + replicas: 1 template: metadata: labels: app: db spec: containers: - - name: db + - name: mysql image: mysql:8.0 - ports: - - containerPort: 3306 env: - name: MYSQL_ROOT_PASSWORD value: dev - name: MYSQL_DATABASE value: challenge - livenessProbe: - exec: - command: - - mysqladmin - - ping - - -h - - localhost - initialDelaySeconds: 30 - periodSeconds: 10 \ No newline at end of file + ports: + - containerPort: 3306 + volumeMounts: + - name: mysql-persistent-storage + mountPath: /var/lib/mysql + volumeClaimTemplates: + - metadata: + name: mysql-persistent-storage + spec: + accessModes: [ "ReadWriteOnce" ] + resources: + requests: + storage: 1Gi + storageClassName: "manual" # Ensure this matches your PV's storage class \ No newline at end of file diff --git a/helm/crewmeister-app/templates/db-service.yaml b/helm/crewmeister-app/templates/db-service.yaml index 2d6d37e..aefd08c 100644 --- a/helm/crewmeister-app/templates/db-service.yaml +++ b/helm/crewmeister-app/templates/db-service.yaml @@ -2,10 +2,12 @@ apiVersion: v1 kind: Service metadata: name: db + labels: + app: db spec: ports: - port: 3306 targetPort: 3306 + clusterIP: None selector: - app: db - type: ClusterIP \ No newline at end of file + app: db \ No newline at end of file From 7e34398bb7eefd9884d979bec70a44daabd92bd3 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 11 Mar 2025 23:54:39 +0100 Subject: [PATCH 058/126] update pvc --- helm/crewmeister-app/templates/mysql-pv.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 helm/crewmeister-app/templates/mysql-pv.yaml diff --git a/helm/crewmeister-app/templates/mysql-pv.yaml b/helm/crewmeister-app/templates/mysql-pv.yaml new file mode 100644 index 0000000..0ec60d5 --- /dev/null +++ b/helm/crewmeister-app/templates/mysql-pv.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: mysql-pv +spec: + capacity: + storage: 10Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: standard + hostPath: + path: "/mnt/data" \ No newline at end of file From ff9f3183fba259ee4245aefb0820b70eada465a6 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Wed, 12 Mar 2025 00:00:51 +0100 Subject: [PATCH 059/126] update pvc --- helm/crewmeister-app/templates/mysql-pv.yaml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/helm/crewmeister-app/templates/mysql-pv.yaml b/helm/crewmeister-app/templates/mysql-pv.yaml index 0ec60d5..883ce9d 100644 --- a/helm/crewmeister-app/templates/mysql-pv.yaml +++ b/helm/crewmeister-app/templates/mysql-pv.yaml @@ -1,13 +1,11 @@ apiVersion: v1 -kind: PersistentVolume +kind: PersistentVolumeClaim metadata: - name: mysql-pv + name: mysql-persistent-storage-db-0 spec: - capacity: - storage: 10Gi accessModes: - ReadWriteOnce - persistentVolumeReclaimPolicy: Retain - storageClassName: standard - hostPath: - path: "/mnt/data" \ No newline at end of file + resources: + requests: + storage: 8Gi + storageClassName: standard \ No newline at end of file From 6091546cc718d7d575c4c021bf3af2e665d38830 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Wed, 12 Mar 2025 00:07:04 +0100 Subject: [PATCH 060/126] remove pvc --- helm/crewmeister-app/templates/mysql-pv.yaml | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 helm/crewmeister-app/templates/mysql-pv.yaml diff --git a/helm/crewmeister-app/templates/mysql-pv.yaml b/helm/crewmeister-app/templates/mysql-pv.yaml deleted file mode 100644 index 883ce9d..0000000 --- a/helm/crewmeister-app/templates/mysql-pv.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: mysql-persistent-storage-db-0 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 8Gi - storageClassName: standard \ No newline at end of file From 985b5d1d068de031a7b420492f94b7aa62d3ccd9 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 11 Mar 2025 23:41:37 +0000 Subject: [PATCH 061/126] helm changes --- helm/crewmeister-app/templates/db-service.yaml | 11 +++++------ helm/crewmeister-app/templates/mysql-pv.yaml | 13 +++++++++++++ 2 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 helm/crewmeister-app/templates/mysql-pv.yaml diff --git a/helm/crewmeister-app/templates/db-service.yaml b/helm/crewmeister-app/templates/db-service.yaml index aefd08c..0fc750c 100644 --- a/helm/crewmeister-app/templates/db-service.yaml +++ b/helm/crewmeister-app/templates/db-service.yaml @@ -2,12 +2,11 @@ apiVersion: v1 kind: Service metadata: name: db - labels: - app: db spec: + type: ClusterIP + selector: + app: db ports: - - port: 3306 + - protocol: TCP + port: 3306 targetPort: 3306 - clusterIP: None - selector: - app: db \ No newline at end of file diff --git a/helm/crewmeister-app/templates/mysql-pv.yaml b/helm/crewmeister-app/templates/mysql-pv.yaml new file mode 100644 index 0000000..92f3c1d --- /dev/null +++ b/helm/crewmeister-app/templates/mysql-pv.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: mysql-pv +spec: + capacity: + storage: 10Gi # Adjust if needed + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: manual # Ensure this matches the PVC + hostPath: + path: "/mnt/data" # Change this based on your storage setup From f9ac178e6fb3ca46f1a8a7a20dbf58ded134b313 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Wed, 12 Mar 2025 00:52:30 +0100 Subject: [PATCH 062/126] helm changes --- helm/crewmeister-app/templates/db-deployment.yaml | 2 +- src/main/resources/application.yml | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/helm/crewmeister-app/templates/db-deployment.yaml b/helm/crewmeister-app/templates/db-deployment.yaml index cf444d7..0cc7e7c 100644 --- a/helm/crewmeister-app/templates/db-deployment.yaml +++ b/helm/crewmeister-app/templates/db-deployment.yaml @@ -33,5 +33,5 @@ spec: accessModes: [ "ReadWriteOnce" ] resources: requests: - storage: 1Gi + storage: 5Gi storageClassName: "manual" # Ensure this matches your PV's storage class \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 5c52ab0..fa88736 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -4,10 +4,10 @@ spring: datasource: username: ${SPRING_DATASOURCE_USERNAME:root} password: ${SPRING_DATASOURCE_PASSWORD:dev} - url: ${SPRING_DATASOURCE_URL:jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true} + url: ${SPRING_DATASOURCE_URL:jdbc:mysql://db-0.db.default.svc.cluster.local:3306/challenge?createDatabaseIfNotExist=true} driver-class-name: com.mysql.cj.jdbc.Driver flyway: - url: ${SPRING_DATASOURCE_WRITER_URL:jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true} + url: ${SPRING_DATASOURCE_WRITER_URL:jdbc:mysql://db-0.db.default.svc.cluster.local:3306/challenge?createDatabaseIfNotExist=true} user: ${SPRING_DATASOURCE_USERNAME:root} password: ${SPRING_DATASOURCE_PASSWORD:dev} enabled: true @@ -17,4 +17,5 @@ management: endpoints: web: exposure: - include: ${ACTUATOR_ENDPOINTS:health,info,prometheus} \ No newline at end of file + include: ${ACTUATOR_ENDPOINTS:health,info,prometheus} + From e06e8b2fc230501ac8d1dc803ac2ae05a25f76f1 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Wed, 12 Mar 2025 00:57:34 +0100 Subject: [PATCH 063/126] db --- src/main/resources/application.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index fa88736..a63dc09 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -4,10 +4,10 @@ spring: datasource: username: ${SPRING_DATASOURCE_USERNAME:root} password: ${SPRING_DATASOURCE_PASSWORD:dev} - url: ${SPRING_DATASOURCE_URL:jdbc:mysql://db-0.db.default.svc.cluster.local:3306/challenge?createDatabaseIfNotExist=true} + url: ${SPRING_DATASOURCE_URL:jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true} driver-class-name: com.mysql.cj.jdbc.Driver flyway: - url: ${SPRING_DATASOURCE_WRITER_URL:jdbc:mysql://db-0.db.default.svc.cluster.local:3306/challenge?createDatabaseIfNotExist=true} + url: ${SPRING_DATASOURCE_URL:jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true} user: ${SPRING_DATASOURCE_USERNAME:root} password: ${SPRING_DATASOURCE_PASSWORD:dev} enabled: true From e289da4ac460c1c424cede5537abf39d5102b856 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Wed, 12 Mar 2025 10:53:18 +0000 Subject: [PATCH 064/126] success changes- add missing url --- .../templates/app-deployment.yaml | 4 +++- helm/crewmeister-app/templates/mysql-pv.yaml | 6 ++--- helm/crewmeister-app/values.yaml | 23 +++++++++++++++++++ 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/helm/crewmeister-app/templates/app-deployment.yaml b/helm/crewmeister-app/templates/app-deployment.yaml index bdaf8f6..d26241c 100644 --- a/helm/crewmeister-app/templates/app-deployment.yaml +++ b/helm/crewmeister-app/templates/app-deployment.yaml @@ -20,7 +20,9 @@ spec: env: - name: SPRING_DATASOURCE_URL value: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true + - name: SPRING_DATASOURCE_WRITER_URL + value: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true - name: SPRING_DATASOURCE_USERNAME value: root - name: SPRING_DATASOURCE_PASSWORD - value: dev \ No newline at end of file + value: dev diff --git a/helm/crewmeister-app/templates/mysql-pv.yaml b/helm/crewmeister-app/templates/mysql-pv.yaml index 92f3c1d..c388c9a 100644 --- a/helm/crewmeister-app/templates/mysql-pv.yaml +++ b/helm/crewmeister-app/templates/mysql-pv.yaml @@ -4,10 +4,10 @@ metadata: name: mysql-pv spec: capacity: - storage: 10Gi # Adjust if needed + storage: 5Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain - storageClassName: manual # Ensure this matches the PVC + storageClassName: manual # Matches the PVC StorageClass hostPath: - path: "/mnt/data" # Change this based on your storage setup + path: "/mnt/data" diff --git a/helm/crewmeister-app/values.yaml b/helm/crewmeister-app/values.yaml index e69de29..fee9417 100644 --- a/helm/crewmeister-app/values.yaml +++ b/helm/crewmeister-app/values.yaml @@ -0,0 +1,23 @@ +app: + image: sugesh23/devops-coding-challenge-app:latest + replicaCount: 1 + service: + type: LoadBalancer + port: 8080 + env: + SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true + SPRING_DATASOURCE_WRITER_URL: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true + SPRING_DATASOURCE_USERNAME: root + SPRING_DATASOURCE_PASSWORD: dev + +db: + image: mysql:8.0 + replicaCount: 1 + service: + type: ClusterIP + port: 3306 + env: + MYSQL_ROOT_PASSWORD: dev + MYSQL_DATABASE: challenge + storage: + size: 5Gi From 4578a880db2b0f203b0d362babe5a186fb337062 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Wed, 12 Mar 2025 12:08:40 +0100 Subject: [PATCH 065/126] Update terraform files added gitignore for terraform backend statefiles --- .DS_Store | Bin 6148 -> 8196 bytes .gitignore | 18 +++++ Terraform/.DS_Store | Bin 0 -> 10244 bytes Terraform/backend/main.tf | 20 ++++++ Terraform/main.tf | 37 +++++++++++ Terraform/modules/.DS_Store | Bin 0 -> 6148 bytes Terraform/modules/eks/main.tf | 72 ++++++++++++++++++++ Terraform/modules/eks/outputs.tf | 8 +++ Terraform/modules/eks/variables.tf | 28 ++++++++ Terraform/modules/vpc/main.tf | 101 +++++++++++++++++++++++++++++ Terraform/modules/vpc/outputs.tf | 14 ++++ Terraform/modules/vpc/variables.tf | 24 +++++++ Terraform/outputs.tf | 13 ++++ Terraform/variables.tf | 61 +++++++++++++++++ 14 files changed, 396 insertions(+) create mode 100644 Terraform/.DS_Store create mode 100644 Terraform/backend/main.tf create mode 100644 Terraform/main.tf create mode 100644 Terraform/modules/.DS_Store create mode 100644 Terraform/modules/eks/main.tf create mode 100644 Terraform/modules/eks/outputs.tf create mode 100644 Terraform/modules/eks/variables.tf create mode 100644 Terraform/modules/vpc/main.tf create mode 100644 Terraform/modules/vpc/outputs.tf create mode 100644 Terraform/modules/vpc/variables.tf create mode 100644 Terraform/outputs.tf create mode 100644 Terraform/variables.tf diff --git a/.DS_Store b/.DS_Store index 2a683435893785e10967a58e57ec566290c91c6a..e524ffb94a33d892b274cde3b46e14ab6e41212d 100644 GIT binary patch literal 8196 zcmeHM!EVz)5S?uUby^`s2&5b>aSbGCD^S&o6#^&3ffP6Z3U-_(RvkOCokl2%9q3ss4VrLLCY+RAS=kCj z>D3YEYIjneLD9m1FtEx1*Y39|M8!U!lMD6x6t*0e2lN5ed^|0JXS2M>;J-^R^+*QY zq^CM|ru$vnpCB%wLfc~UDS%%H+bPDUu$p%SAw}>S>8mlkVthDm1l|0Jyq?>AY9?#Vqgm*&Dt(O4B$v>-)j0XgKfJ?mSMD!jF<+ zrURmI2$#37qa;k{ophFjxsL6b0jKIz`?dOFv461FaNCdC%Z9r+*lji3{k@0FW!1TR zuX*^Qe-clU^doYEDEm04Tju&)e?srdeTMlU4v;rTUFm$<%aS-vM)2iDt8~Ov;p5XW zzLptH{t?>N?Ce{j)(n3~4b#cOG`SW%i={z*+o1F*43zU9yod+`*NK5mlWd*q|0j5Y z%6ow8boV4zVc^#=peo&7w}ZL#slH}TKIL7s_h>BaR~pnIP#1m(;QIUzL-bv^a*SuO SGzbesUIb_wLw&zl4l@Ab+z=E1 diff --git a/.gitignore b/.gitignore index 549e00a..4c6cb0f 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,21 @@ build/ ### VS Code ### .vscode/ +# Terraform State Files +*.tfstate +*.tfstate.backup +errored.tfstate + +# Ignore Terraform lock file +.terraform.lock.hcl + +# Ignore Terraform Caches and Modules +.terraform/ +.terraform/* + +# Ignore any sensitive variable files +*.auto.tfvars +*.tfvars.json + +# Ignore generated logs or debug files +crash.log \ No newline at end of file diff --git a/Terraform/.DS_Store b/Terraform/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..28697e2b8e95c45f8c6f9a0d90324b0532b7e0e3 GIT binary patch literal 10244 zcmeHMU2GIp6h3EK=)IPoDHbRUYgbE2DMk9nPocuLT`EQXx21pRvb!_T3DcRfGrL6z zq=_1hATj<>|Tgp37pLP~$@pvpf2kSry$ zU+6cT1N@k1AY*}?kkSvOKIQ2FgHQ~P7%0Q3Ju2Ku#sWDZr3?p@;ef%&7@SbhAD!Z& zzB^z{%CHU*2oac$fH=FCK^jt!fg`t`-<>qIoKKHgrt38}UPGm%bk^)LR>sQN>! z1LKS*)vDvin_5~LqAeSmPBcW1w>395L|a?dojAeS!kRUk_9c&4qqg&cTnGl60n9C0 z*s1BO(%p=erdbNlq6Oy@S=(~#!_*==EQ3*SK!+Sy1c)oIGwvN6txc^0g0?$`W6G)u zaLlk^>u^&d*2oh{`ZJD|8?~vWB9pQ*IdV2SEGuC?Ww-;Lam*9HhFmA>b@`41 zCdCR{Qe7b8caM3dW4rr}tV@#fb8{9(9$K-gaqY$}@t&P~C+E(aukr=FvOjOSX4*3P z#!cND8BDnu!`4mv@DOp&_RK@3k>wSb;JtQg)R2| zFeb;S)*j^QN9=%33)t!CqDS3t(W3&C(uO5X>vgR089Z6-4-Q$#_GNxPG!I=M^$S#7m>Za#peMojyYucdbtV7og zomO78XtAm#v_7U@p%~S)^Cs;I^djWuz-nUkl0ZJJHL*siRTgL!Nb&7o0u8Vkx?za+ zAsfcwG`t9B;B|Nh&cTOp5iY|Q@Fjc&SK&MO0e*s?;dl5G0TJ)Ra-56vP{ZX|iz~1h zH(@(&#w{4fowy74;9lI1Nj!*Y%%F)`bTNl{Jc-ZY^LPqR<7@Z^zKLh?E&KpK#!v79 zUc}3I1+U^H{)pG{2L6h_DW%FRrA%RprYuuxm3pN`&R!|(LBms5rNl{}o;P$eD)L4- zI#b?6x*y%vb5HW-n>iv=Di+*dx$uFSy4B6=HpOm|Nz$*txLcX*lXnW`ee(KmyO?z{ zrFf)|*lirUU1q6eg2!x9cvnYxM4d(am+JCbQfCwQrMj{{5>XXOIjKIpCc@PcN+|Bf zw$zh~fwF!B=V~dXmTYT(gj5jOF7=L1>PaLDyK};xg?Hh7I1iVIu-D*Q_#UpqFYpJJ z5&3p+2TnkWQfvpkRDNl--MKY2vx#G*!}BxQp9z9U0@52{eF8auuVwmhf|y% ZPEy|H|LcDSgy;XFd$aKT|9?CG{{_S@X9KOG3svow8GBoX=bPaAoo)>i};K_Ec)#vW*{rYrN6RKal?c>a;FVs>w zE+Lv`ONgFf2_Ng*uf7EJo=TW{XG$2{(YD5bF<=awIRnzDA=za@Ta5u@z!>Nmkne+o z3VOvZVf=Jpi6a1T1#=YaWtNZ}r|1>Cgz!K(r2xjWA9d@U2Ua?D<(usBWV0|*{ zgu?OZIN!x^VxQ1fW55^~GoVBIM*9EF&-4E{$$l9F#=u!Iz^nX_?{OvVt&_`1uXWHn psEEXM3HuamVk<_hwBjph6xf|?fL^gn2n)pi2t*oeF$VsWfp1k=NzecQ literal 0 HcmV?d00001 diff --git a/Terraform/modules/eks/main.tf b/Terraform/modules/eks/main.tf new file mode 100644 index 0000000..bdfc5fe --- /dev/null +++ b/Terraform/modules/eks/main.tf @@ -0,0 +1,72 @@ +resource "aws_iam_role" "cluster" { + name = "${var.cluster_name}-cluster-role" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "eks.amazonaws.com" + } + }] + }) +} +resource "aws_iam_role_policy_attachment" "cluster_policy" { + policy_arn = "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy" + role = aws_iam_role.cluster.name +} +resource "aws_eks_cluster" "main" { + name = var.cluster_name + version = var.cluster_version + role_arn = aws_iam_role.cluster.arn + + vpc_config { + subnet_ids = var.subnet_ids + } + depends_on = [aws_iam_role_policy_attachment.cluster_policy] +} +resource "aws_iam_role" "node" { + name = "${var.cluster_name}-node-role" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "ec2.amazonaws.com" + } + }] + }) +} +resource "aws_iam_role_policy_attachment" "node_policy" { + for_each = toset([ + "arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy", + "arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy", + "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly" + ]) + + policy_arn = each.value + role = aws_iam_role.node.name +} +resource "aws_eks_node_group" "main" { + for_each = var.node_groups + + cluster_name = aws_eks_cluster.main.name + node_group_name = each.key + node_role_arn = aws_iam_role.node.arn + subnet_ids = var.subnet_ids + + instance_types = each.value.instance_types + capacity_type = each.value.capacity_type +scaling_config { + desired_size = each.value.scaling_config.desired_size + max_size = each.value.scaling_config.max_size + min_size = each.value.scaling_config.min_size + } + + depends_on = [ + aws_iam_role_policy_attachment.node_policy + ] +} \ No newline at end of file diff --git a/Terraform/modules/eks/outputs.tf b/Terraform/modules/eks/outputs.tf new file mode 100644 index 0000000..9a42906 --- /dev/null +++ b/Terraform/modules/eks/outputs.tf @@ -0,0 +1,8 @@ +output "cluster_endpoint" { + description = "EKS cluster endpoint" + value = aws_eks_cluster.main.endpoint +} +output "cluster_name" { + description = "EKS cluster name" + value = aws_eks_cluster.main.name +} \ No newline at end of file diff --git a/Terraform/modules/eks/variables.tf b/Terraform/modules/eks/variables.tf new file mode 100644 index 0000000..0187981 --- /dev/null +++ b/Terraform/modules/eks/variables.tf @@ -0,0 +1,28 @@ +variable "cluster_name" { + description = "Name of the EKS cluster" + type = string +} +variable "cluster_version" { + description = "Kubernetes version" + type = string +} +variable "vpc_id" { + description = "VPC ID" + type = string +} +variable "subnet_ids" { + description = "Subnet IDs" + type = list(string) +} +variable "node_groups" { + description = "EKS node group configuration" + type = map(object({ + instance_types = list(string) + capacity_type = string + scaling_config = object({ + desired_size = number + max_size = number + min_size = number + }) + })) +} \ No newline at end of file diff --git a/Terraform/modules/vpc/main.tf b/Terraform/modules/vpc/main.tf new file mode 100644 index 0000000..bc22302 --- /dev/null +++ b/Terraform/modules/vpc/main.tf @@ -0,0 +1,101 @@ +resource "aws_vpc" "main" { + cidr_block = var.vpc_cidr + enable_dns_hostnames = true + enable_dns_support = true + tags = { + Name = "${var.cluster_name}-vpc" + "kubernetes.io/cluster/${var.cluster_name}" = "shared" + } +} +resource "aws_subnet" "private" { + count = length(var.private_subnet_cidrs) + vpc_id = aws_vpc.main.id + cidr_block = var.private_subnet_cidrs[count.index] + availability_zone = var.availability_zones[count.index] + + tags = { + Name = "${var.cluster_name}-private-${count.index + 1}" + "kubernetes.io/cluster/${var.cluster_name}" = "shared" + "kubernetes.io/role/internal-elb" = "1" + } +} +resource "aws_subnet" "public" { + count = length(var.public_subnet_cidrs) + vpc_id = aws_vpc.main.id + cidr_block = var.public_subnet_cidrs[count.index] + availability_zone = var.availability_zones[count.index] + + map_public_ip_on_launch = true + + tags = { + Name = "${var.cluster_name}-public-${count.index + 1}" + "kubernetes.io/cluster/${var.cluster_name}" = "shared" + "kubernetes.io/role/elb" = "1" + } +} + +resource "aws_internet_gateway" "main" { + vpc_id = aws_vpc.main.id + + tags = { + Name = "${var.cluster_name}-igw" + } +} + +resource "aws_eip" "nat" { + count = length(var.public_subnet_cidrs) + domain = "vpc" + + tags = { + Name = "${var.cluster_name}-nat-${count.index + 1}" + } +} + +resource "aws_nat_gateway" "main" { + count = length(var.public_subnet_cidrs) + allocation_id = aws_eip.nat[count.index].id + subnet_id = aws_subnet.public[count.index].id + + tags = { + Name = "${var.cluster_name}-nat-${count.index + 1}" + } +} + +resource "aws_route_table" "public" { + vpc_id = aws_vpc.main.id + + route { + cidr_block = "0.0.0.0/0" + gateway_id = aws_internet_gateway.main.id + } + + tags = { + Name = "${var.cluster_name}-public" + } +} + +resource "aws_route_table" "private" { + count = length(var.private_subnet_cidrs) + vpc_id = aws_vpc.main.id + + route { + cidr_block = "0.0.0.0/0" + nat_gateway_id = aws_nat_gateway.main[count.index].id + } + + tags = { + Name = "${var.cluster_name}-private-${count.index + 1}" + } +} + +resource "aws_route_table_association" "private" { + count = length(var.private_subnet_cidrs) + subnet_id = aws_subnet.private[count.index].id + route_table_id = aws_route_table.private[count.index].id +} + +resource "aws_route_table_association" "public" { + count = length(var.public_subnet_cidrs) + subnet_id = aws_subnet.public[count.index].id + route_table_id = aws_route_table.public.id +} \ No newline at end of file diff --git a/Terraform/modules/vpc/outputs.tf b/Terraform/modules/vpc/outputs.tf new file mode 100644 index 0000000..4ff85f4 --- /dev/null +++ b/Terraform/modules/vpc/outputs.tf @@ -0,0 +1,14 @@ +output "vpc_id" { + description = "VPC ID" + value = aws_vpc.main.id +} + +output "private_subnet_ids" { + description = "Private subnet IDs" + value = aws_subnet.private[*].id +} + +output "public_subnet_ids" { + description = "Public subnet IDs" + value = aws_subnet.public[*].id +} \ No newline at end of file diff --git a/Terraform/modules/vpc/variables.tf b/Terraform/modules/vpc/variables.tf new file mode 100644 index 0000000..50fe184 --- /dev/null +++ b/Terraform/modules/vpc/variables.tf @@ -0,0 +1,24 @@ +variable "vpc_cidr" { + description = "CIDR block for VPC" + type = string +} + +variable "availability_zones" { + description = "Availability zones" + type = list(string) +} + +variable "private_subnet_cidrs" { + description = "CIDR blocks for private subnets" + type = list(string) +} + +variable "public_subnet_cidrs" { + description = "CIDR blocks for public subnets" + type = list(string) +} + +variable "cluster_name" { + description = "Name of the EKS cluster" + type = string +} \ No newline at end of file diff --git a/Terraform/outputs.tf b/Terraform/outputs.tf new file mode 100644 index 0000000..b8e3a1f --- /dev/null +++ b/Terraform/outputs.tf @@ -0,0 +1,13 @@ +output "cluster_endpoint" { + description = "EKS cluster endpoint" + value = module.eks.cluster_endpoint + +} +output "cluster_name" { + description = "EKS cluster name" + value = module.eks.cluster_name +} +output "vpc_id" { + description = "VPC ID" + value = module.vpc.vpc_id +} \ No newline at end of file diff --git a/Terraform/variables.tf b/Terraform/variables.tf new file mode 100644 index 0000000..a2bb6ab --- /dev/null +++ b/Terraform/variables.tf @@ -0,0 +1,61 @@ +variable "region" { + description = "AWS region" + type = string + default = "us-west-2" + +} +variable "vpc_cidr" { + description = "CIDR block for the VPC" + type = string + default = "10.0.0.0/16" + +} +variable "availability_zones" { + description = "Availability zones" + type = list(string) + default = ["us-west-2a", "us-west-2b", "us-west-2c"] + +} +variable "private_subnet_cidrs" { + description = "CIDR blocks for the private subnets" + type = list(string) + default = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"] +} +variable "public_subnet_cidrs" { + description = "CIDR blocks for public subnets" + type = list(string) + default = ["10.0.4.0/24", "10.0.5.0/24", "10.0.6.0/24"] +} +variable "cluster_name" { + description = "Name of the EKS cluster" + type = string + default = "Crewmeister-cluster" +} +variable "cluster_version" { + description = "Kubernetes version" + type = string + default = "1.30" +} +variable "node_groups" { + description = "EKS node group configuration" + type = map(object({ + instance_types = list(string) + capacity_type = string + scaling_config = object({ + desired_size = number + max_size = number + min_size = number + }) + })) + default = { + general ={ + instance_types = ["t2.medium"] + capacity_type = "ON_DEMAND" + scaling_config = { + desired_size = 3 + max_size = 4 + min_size = 2 + } + } + } +} \ No newline at end of file From 9fa585011c56d4b21002e7ed17b2f59a09935913 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Wed, 12 Mar 2025 12:07:09 +0000 Subject: [PATCH 066/126] add database secrets --- helm/crewmeister-app/templates/db-deployment.yaml | 14 ++++++++++---- helm/crewmeister-app/templates/secret.yaml | 8 ++++++++ helm/crewmeister-app/values.yaml | 3 ++- 3 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 helm/crewmeister-app/templates/secret.yaml diff --git a/helm/crewmeister-app/templates/db-deployment.yaml b/helm/crewmeister-app/templates/db-deployment.yaml index 0cc7e7c..aa75644 100644 --- a/helm/crewmeister-app/templates/db-deployment.yaml +++ b/helm/crewmeister-app/templates/db-deployment.yaml @@ -18,9 +18,15 @@ spec: image: mysql:8.0 env: - name: MYSQL_ROOT_PASSWORD - value: dev + valueFrom: + secretKeyRef: + name: db-secret + key: MYSQL_ROOT_PASSWORD - name: MYSQL_DATABASE - value: challenge + valueFrom: + secretKeyRef: + name: db-secret + key: MYSQL_DATABASE ports: - containerPort: 3306 volumeMounts: @@ -30,8 +36,8 @@ spec: - metadata: name: mysql-persistent-storage spec: - accessModes: [ "ReadWriteOnce" ] + accessModes: ["ReadWriteOnce"] resources: requests: storage: 5Gi - storageClassName: "manual" # Ensure this matches your PV's storage class \ No newline at end of file + storageClassName: "manual" diff --git a/helm/crewmeister-app/templates/secret.yaml b/helm/crewmeister-app/templates/secret.yaml new file mode 100644 index 0000000..80296dc --- /dev/null +++ b/helm/crewmeister-app/templates/secret.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: Secret +metadata: + name: db-secret +type: Opaque +data: + MYSQL_ROOT_PASSWORD: {{ .Values.db.env.MYSQL_ROOT_PASSWORD | b64enc }} + MYSQL_DATABASE: {{ .Values.db.env.MYSQL_DATABASE | b64enc }} diff --git a/helm/crewmeister-app/values.yaml b/helm/crewmeister-app/values.yaml index fee9417..ec99694 100644 --- a/helm/crewmeister-app/values.yaml +++ b/helm/crewmeister-app/values.yaml @@ -17,7 +17,8 @@ db: type: ClusterIP port: 3306 env: - MYSQL_ROOT_PASSWORD: dev + MYSQL_ROOT_PASSWORD: ENC[SECRET] MYSQL_DATABASE: challenge storage: size: 5Gi + From 74f45a546016aaa8ef58699c1e119272a416f2e4 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Wed, 12 Mar 2025 16:49:16 +0100 Subject: [PATCH 067/126] Modified Solution- readme --- .DS_Store | Bin 8196 -> 8196 bytes .github/workflows/crewmeister-ci.yml | 48 ++++--- Pasted Graphic 1.png | Bin 0 -> 84471 bytes Pasted Graphic 2.png | Bin 0 -> 80249 bytes Pasted Graphic.png | Bin 0 -> 79164 bytes Solution_README.md | 136 ++++++++---------- helm/crewmeister-app/templates/.dockerignore | 32 +++++ ...db-deployment.yaml => db-statefulset.yaml} | 0 8 files changed, 114 insertions(+), 102 deletions(-) create mode 100644 Pasted Graphic 1.png create mode 100644 Pasted Graphic 2.png create mode 100644 Pasted Graphic.png create mode 100644 helm/crewmeister-app/templates/.dockerignore rename helm/crewmeister-app/templates/{db-deployment.yaml => db-statefulset.yaml} (100%) diff --git a/.DS_Store b/.DS_Store index e524ffb94a33d892b274cde3b46e14ab6e41212d..2f8ac4075a3dd59a91a31eb08dddb99acf148e62 100644 GIT binary patch delta 59 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

6K1sEcrx7F8 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 B?+gF{ literal 0 HcmV?d00001 diff --git a/Solution_README.md b/Solution_README.md index b55fa76..19a80f9 100644 --- a/Solution_README.md +++ b/Solution_README.md @@ -1,6 +1,6 @@ # DevOps Coding Challenge -This repository contains the source code, CI/CD pipeline, and infrastructure as code (IaC) for the DevOps Coding Challenge project. +This repository contains the source code, CI/CD , IAC (Terraform), HelmCharts (to deploy the app in EKS Cluster) ## Table of Contents @@ -16,66 +16,78 @@ This repository contains the source code, CI/CD pipeline, and infrastructure as To run the application locally using **Docker Compose**, follow these steps: ### Prerequisites -Ensure you have **Docker** and **Docker Compose** installed on your machine. You can download and install Docker from the [Docker website](https://www.docker.com/). +Ensure you have **Docker** and **Docker Compose** installed on your machine. ### Running the Application -Run the following command to start the application: -```sh + docker-compose up --build -``` -To stop the application, run: -```sh docker-compose down -``` + +### Key-Points +multi stage used for docker file --- ## Terraform Configuration -The Terraform configuration is located in the `terraform` folder and is used to provision the necessary infrastructure for the project. The configuration includes modules for setting up a **VPC, an EKS cluster, and PersistentVolumeClaims (PVCs)**. +The Terraform configuration is located in the `terraform` folder and is used to provision the eks cluster for the project. The configuration includes modules for setting up a **VPC, and EKS cluster**. -### Module Strategy -The Terraform configuration follows a modular strategy to promote reusability and maintainability. Each module is responsible for a specific part of the infrastructure: - -- **VPC Module**: Provisions a **Virtual Private Cloud (VPC)** with public and private subnets. -- **EKS Module**: Provisions an **Amazon EKS cluster** and node groups. -- **PVC Module**: Provisions **PersistentVolumeClaims (PVCs)** for the Kubernetes cluster. +### Key-Points +The Terraform configuration follows a modular strategy to promote reusability and maintainability. +Backed strategy to manage the state of the infrastructure. +S3 bucket and DynamoDB is used to store the state of the infrastructure. +Achived statefile Locking using DynamoDB. ### Directory Structure -``` -terraform/ + +├── backend +│ └── main.tf ├── main.tf -├── variables.tf +├── modules +│ ├── eks +│ │ ├── main.tf +│ │ ├── outputs.tf +│ │ └── variables.tf +│ └── vpc +│ ├── main.tf +│ ├── outputs.tf +│ └── variables.tf ├── outputs.tf -├── modules/ -│ ├── vpc/ -│ ├── eks/ -│ └── pvc/ -└── README.md -``` +└── variables.tf --- ## Helm Chart -The `helm-crewmeister` folder contains the **Helm chart** used to deploy the application to a **Kubernetes cluster**. Helm is a package manager for Kubernetes that allows you to define, install, and upgrade even the most complex Kubernetes applications. +The `helm` folder contains the **Helm chart** used to deploy the application **crewmeister-app**to a **Kubernetes cluster** created by using terraform. + +### Key-Points + ### Directory Structure -``` -helm-crewmeister/ -├── Chart.yaml -├── values.yaml -└── templates/ - ├── deployment.yaml - ├── service.yaml - ├── ingress.yaml -``` - -### Key Files -- **Chart.yaml**: Contains metadata about the chart, such as its name, version, and description. -- **values.yaml**: Contains the default configuration values for the chart. You can override these values when installing or upgrading the chart. -- **templates/**: This directory contains the **Kubernetes resource templates** that Helm uses to generate the final manifest files, including deployments, services, config maps, and more. + +└── crewmeister-app + ├── Chart.yaml + ├── charts + ├── templates + │ ├── 1 + │ ├── _helpers.tpl + │ ├── app-deployment.yaml + │ ├── app-service.yaml + │ ├── db-deployment.yaml + │ ├── db-service.yaml + │ ├── mysql-pv.yaml + │ ├── secret.yaml + │ └── serviceaccount.yaml + └── values.yaml + + +### Deployed successfully in the EKS cluster +Attached few screenshot of the output where the application is deployed successfully in the EKS cluster. +![alt text]() +![alt text]() +![alt text]() --- @@ -85,53 +97,19 @@ The CI/CD pipeline is defined using GitHub Actions and is located in the `.githu 1. **Build**: Builds the application using Maven. 2. **Code Quality**: Runs code quality checks using Maven. -3. **Docker**: Builds and pushes a Docker image to Docker Hub. -4. **Update Kubernetes**: Updates the Kubernetes deployment manifest with the new Docker image tag and pushes the changes to the repository. +3. **Docker**: Builds and pushes a Docker image to Docker Hub. https://hub.docker.com/repository/docker/sugesh23/devops-coding-challenge/ +4. **UpdateK8s**: Updates the Kubernetes deployment manifest with the new Docker image tag and pushes the changes to the repository by using bitovi/github-actions-deploy-eks-helm@v1.2.12 from marketplace ### Secrets The following secrets need to be set up in your GitHub repository for the workflow to function correctly: - `DOCKER_USERNAME`: Your Docker Hub username. - `DOCKER_PASSWORD`: Your Docker Hub password. -- `GITHUB_TOKEN`: Your GitHub token (automatically provided by GitHub Actions). - -### Jobs - -#### Build - -- **Runs on**: `ubuntu-latest` -- **Steps**: - - Checkout code - - Set up JDK 17 - - Build with Maven - - Run unit tests - -#### Code Quality - -- **Runs on**: `ubuntu-latest` -- **Steps**: - - Checkout code - - Set up JDK 17 - - Run code quality checks with Maven - -#### Docker - -- **Runs on**: `ubuntu-latest` -- **Needs**: `build` -- **Steps**: - - Checkout code - - Set up Docker Buildx - - Log in to Docker Hub - - Build and push Docker image - -#### Update Kubernetes +- `GITHUB_TOKEN`: Your GitHub token +- `AWS_ACCESS_KEY_ID`: Your AWS access key ID +- `AWS_SECRET_ACCESS_KEY`: Your AWS secret access key -- **Runs on**: `ubuntu-latest` -- **Needs**: `docker` -- **Steps**: - - Checkout code - - Update tag in Kubernetes deployment manifest - - Commit and push changes +### Reference Image --- diff --git a/helm/crewmeister-app/templates/.dockerignore b/helm/crewmeister-app/templates/.dockerignore new file mode 100644 index 0000000..6491be1 --- /dev/null +++ b/helm/crewmeister-app/templates/.dockerignore @@ -0,0 +1,32 @@ +# Ignore build directories +target/ +build/ + +# Ignore temporary files and directories +*.log +*.tmp +*.swp +*.swo +*.bak +*.old + +# Ignore IDE-specific files and directories +.idea/ +*.iml +*.ipr +*.iws +.vscode/ +*.code-workspace + +# Ignore OS-specific files and directories +.DS_Store +Thumbs.db + +# Ignore node_modules if you have a frontend project +node_modules/ + +# Ignore Helm chart directories +helm/ + +# Ignore Kubernetes configuration files +k8s/ \ No newline at end of file diff --git a/helm/crewmeister-app/templates/db-deployment.yaml b/helm/crewmeister-app/templates/db-statefulset.yaml similarity index 100% rename from helm/crewmeister-app/templates/db-deployment.yaml rename to helm/crewmeister-app/templates/db-statefulset.yaml From 50f96f5cc39c0c4deab7455996e629a493530129 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Wed, 12 Mar 2025 18:01:31 +0100 Subject: [PATCH 068/126] update readme --- Solution_README.md | 33 +++++-------------------------- helm/crewmeister-app/values.yaml | 2 +- image-1.png | Bin 0 -> 15173 bytes image-2.png | Bin 0 -> 59008 bytes image-3.png | Bin 0 -> 20600 bytes image.png | Bin 0 -> 19184 bytes 6 files changed, 6 insertions(+), 29 deletions(-) create mode 100644 image-1.png create mode 100644 image-2.png create mode 100644 image-3.png create mode 100644 image.png diff --git a/Solution_README.md b/Solution_README.md index 19a80f9..46d1179 100644 --- a/Solution_README.md +++ b/Solution_README.md @@ -41,20 +41,7 @@ Achived statefile Locking using DynamoDB. ### Directory Structure -├── backend -│ └── main.tf -├── main.tf -├── modules -│ ├── eks -│ │ ├── main.tf -│ │ ├── outputs.tf -│ │ └── variables.tf -│ └── vpc -│ ├── main.tf -│ ├── outputs.tf -│ └── variables.tf -├── outputs.tf -└── variables.tf +![alt text](image-1.png) --- @@ -67,20 +54,7 @@ The `helm` folder contains the **Helm chart** used to deploy the application **c ### Directory Structure -└── crewmeister-app - ├── Chart.yaml - ├── charts - ├── templates - │ ├── 1 - │ ├── _helpers.tpl - │ ├── app-deployment.yaml - │ ├── app-service.yaml - │ ├── db-deployment.yaml - │ ├── db-service.yaml - │ ├── mysql-pv.yaml - │ ├── secret.yaml - │ └── serviceaccount.yaml - └── values.yaml +![alt text](image.png) ### Deployed successfully in the EKS cluster @@ -108,8 +82,11 @@ The following secrets need to be set up in your GitHub repository for the workfl - `GITHUB_TOKEN`: Your GitHub token - `AWS_ACCESS_KEY_ID`: Your AWS access key ID - `AWS_SECRET_ACCESS_KEY`: Your AWS secret access key +- `AWS_ROLE_ARN`: Your AWS roles ARN ### Reference Image +![alt text](image-2.png) +![alt text](image-3.png) --- diff --git a/helm/crewmeister-app/values.yaml b/helm/crewmeister-app/values.yaml index ec99694..f96f8c0 100644 --- a/helm/crewmeister-app/values.yaml +++ b/helm/crewmeister-app/values.yaml @@ -17,7 +17,7 @@ db: type: ClusterIP port: 3306 env: - MYSQL_ROOT_PASSWORD: ENC[SECRET] + MYSQL_ROOT_PASSWORD: dev MYSQL_DATABASE: challenge storage: size: 5Gi diff --git a/image-1.png b/image-1.png new file mode 100644 index 0000000000000000000000000000000000000000..edd0e8225ed2bcc15b9ec9be10f0dc888de49165 GIT binary patch literal 15173 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 literal 0 HcmV?d00001 diff --git a/image-2.png b/image-2.png new file mode 100644 index 0000000000000000000000000000000000000000..cb0449db79ae4201aefdfdaaf62536435680e792 GIT binary patch literal 59008 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 RjWZjoSX5HFHK z1x7_>vY?hR7Pf91S}*;n@d)gX{0!ve7Im>{;f+|mY0M=*s zqY6N_SasKf?p{o;Z{5YaWa2au!@YO{odO@9*WiYwq!`?fPn>!XszD#zp+hVoAJ!jA zb)RB_cBF7~W}9t%eUM9^>!m9jnie0(A>~?m&{r8hyD|4hFe|JRV=w(IM`G9z+NkZk ziL5~x{EhWn6&rPRG%i#c8|^`a9oi#Q>H+G0in>w0NeV~9LVc5IITNm#l#@tIq>SXlFUJGuTL zK?8V8pps739_9?*PL9q%32!N;f0d9xrT@I`31$r#rXw<_=SXcQ6+eR zKF%KI-n`C0=Ko^yKYSFdftK!et{!$S&J2I}np?PddPp%b{SoxPpa0U++S~5mlAMA6 zT`g1v`Tykb3-Sr@|1WP8Dd5jr2`xKsYexeGJ13NRP%@+i1;haVD*qoj|Caa{%D4Zf z6c-WsE9GBu{z<6^w04(waYBjokp8!4{+sx(ng2});Qv$ezgXhG%>1vnC_78z0{H*e zXVSRtMT)4nc!8#(Agk;B;4l{}M@Mls0_%~&1HYOsh{~E3@%vn%I z6PU4o0AQC(*YWYtc2sq4Y~!vuY{01AxQ}Hrr{w4#!N*v1>S#kEt2&nKPrnqRss7EG zW)3JGAcyjEe`(t!?XOvd;KK%1=*3snZD1ts{i*=X(MQQ}%)hr2N2f<*>@D@vm*me) zYx&qoTbo~dBqt7mt&hU${_eg8QIydd8=gY8PdCL|hVlxcmC{`ehqlT4dJ`mY*_$tjK=){ly^ZjWz zy{e|swwpZ%QJ2fAOE<*4AHRN?2Pa~Hp1Lu%`X>ww--;98!*0BZpojX7JflsOC*s?F zI`w^h{P`gnVid@)5af=8f#Vkg!L3!vP|)IZz4P)^z|D|QBh#4hmuPa%HA2Y);zr+d zQ)x-BhKE~gBVC(>?pUHwMl3(FPp| z&Xn9-SB;C$ACsnU>JF4H&~CeS9}l$rv^l%F+BPKtWlkdM#-Br{!3AlHKnN5n32&oc zVM_)=ta6h?2kv@F<3KBc$lT~YMBZ(W*P_$5#?{JD-suWw#eW!$qvv z>SB!&{ibuJUx?q{{I;n1eyo`ISwct!|D|7DV`6N4PN0gm>Jg$NS<_>DVL0jucan30 z3N0&C3vd0A&?=3o_*lfAzVT|D)Yf~%I2hi%bT(<{^*#T-=Mf>mEQor$+|6O8Qr(9< zhPNrcO1(xykUBrD-VY9+A?mdl@>?fiebvMqe<_0qiPcWRX;F^d({FBE_Hl`3!-X!x zsIwN#5 z^LGtXzy+qTnvihcwafMX*k_6eV$(cKEHQ*<<9lIFsKade{7%X-pG}e{m15(|dhXkc z0UFOHKO~e$bV0usV@a7lM|3E_3BCU%@8W=dscB;a_^cafd``WWO_BucE(UVv?`rS{ z)$R*>zx7A%L~v1<{&p_c`}Kr33a4kj)2V{`nSYAk?(}To_a{vdS4b897-@fuyWe4b z3G%okp9Z~mC8odLrs=&_RVDWuo{^rL#`^fjh0dT;asZ93XYcC$HYQ?!li&@{hP1Hd zMTqm+A?VVR@?b@L>&?B-?m+$}=uQv3=RVtXr#^onWj5&AczMiv?CE|zQS3tsQcP79 zeP?}e8R@)tmg&3_aN$OgV>mB$btVj>b}$@z6jr9+r~xaFvK277IH}{L;a%|Z$Pc&+ zyU&9?FW0>)kE(PSXs8Ueo_RU=P0IJcTWmjA{LXK!gDRQ5r46zCE5Q5~>glyF4lZ0>BK>gyS0?RY}%wY1)bAyZBnpD$nwO+HecFZ8_RMmBW zfJXiP67)I+v4%7`8ElPZqJLBI?r^;0fUAQrJhfd4?2XY2D?dT+k6^MZg^bnQka=`hX!yRXXjs~YbPk~L+3ZAhX>?jL8l#*#m3kh>=3 zurTD_hprxIKDU0jVx40@n}mfAY^#!&%Ex0Vxj+I$ZJvIO7ys?$Vt=KiJCSBqiL za#^X_N<~uriVJm>MowkC)sAsGl^@L*oBK8Fc^*aelKm2>p%wZ14Y z%yK>oz7}vcN12>NC0sN;Z8-L=zkiR~!wFG(T8yXz5*}6-U4nVhDifO^;LhxZ^Wy`eQ z;eMqjw|=F2NQCvd*zUM^N+P0$IRae2KV!o!IU-!K-s=?+9JcduARTb{GLCAyO$Hr# zb~L=1I%@(C6#j~59V03duyx?*FCM|LoohT#ZNk@H>$}9AIn-=htD)~u!k#sIRq0pU za)n3l#+&`@%-Sa5;&*F=|6{fo+Rcj^UpgWGB0~$z^waTD$9)m^wiYk<+!n-1)bGK9 zkXErq^%Cc;ulJK8PH$JJT}}Kqr(>BIx_vgMk@KnJKY}$RR|vIh*WVS=eqJ3DYY~P# zAA<^ewt(-ungh{hIzS*X`<>rSf{ZEXaPcU<18s|s6aDN4hKtK5MCAsmjy4W3z6J{0trPSwex-vEv>P#iLQ1z?SNwsmC&aY_^-ZZiT(Rj9b z^^zKn8sp5JQ+Y?5maM9K(!9LF+8Pz>IRaL`8QX&`0lCCs5K7;Wn|wu(8$Fan&Sx^1 zO}%+G;P$++QlsMOUHi?JA-n~ies6|(sd2ZQo^HKw^YY>Krn3~%iBe{1r@8gIKO1Ij z+5Xi!IR({@pFC3(>s)$`>yo0XJNebl^afM^(?E2m|z+ofdXO_L(J2 zq$I35#M0#Wpc!v8Jn>;DcFWFY;KbrCAB3*oYS0k?6P)(`*w}~I~2v_%&*zCUj)xTx>fc5WZRY(h!gyFWgV=L_XJxsMx*ZQLf$l?`(>$|cT`Kpv^Z`

n3)a4yCU*%-Krz#43d_T23l83he0PW>=`%jXq+QxJ4cwiD zLxZXt`MN2I%u`kQFGi4WvoBGj4Rt|q7a*C{iC78}+v?=Fggo02hWKg<(J4uQ9#uWG z?tT$0H}?4%{!gtRL3f+!-nrKVNjKas;R%(r3ladQa+$3-9N1)EJW`|vEuKoOE9Myj z376?O$>OXql_Z;E*o^~TSsN^G&d|0r!P`f01=mi0MN?$x--J63Q;NBeh1m5U-vA+m z5l3+CDptIsZ-o;CqSiR2mWepteAx}o^h6?M0Xob&n4mi1c^-bL49Ei0CgtLy8nlco0eU%7bD_+m3?U!a%Jz)Q#`=`2ahPpKXCKMd^kKADk(hs*b`utVLlxj_@McP&94%Z>Gr>G7TlplD} zEIGIUO7QUP^$o=%aUy}?nJ?^0k(i!Rfj4^(OI24~^Tx)uBR?ker1_ z%N`9fu#7@p`{E3Q76=YqX*-@-ge5j3kPaUj5WPL8YE+bKQbss^kwIgjK>y7_tm`l! zSMDYO?Fzps40B0nsqNxAJ5i)IXtXqbyuJ8zd#c2b0v^16^Crvf_zgJT?5!f3Cgnas zoaEfCuS_(ofY5g?;DSr|vs;z?@(+h1pKQWA;a@J{RQ!M&HR?6G$+7@jxUtps7;U39 z7254E^q7?lDjw_rnF+4J#>WPCsmyJ0rfms)b0OE{5;K z=_0HvD}3sTnt_Ye)qG58 zY==ejx1S{{@qo`8+?1G}c&BOS`wuj6f^XLdM#WN+BIh#?@p8ov7O`AteJ2$}F^BW|bdntlG z;2_=hI=`PLV!uj|BeKTd#UwQ_Ur)r+Tt;T@JFnjtWbUn_Ce<2pWyKQpR z9~`&Es?MHyWcxv$LvXbsbX>>rDh2v zrw0UCq03<1>MN|iT&X}xeu$!FXW`cC2cv`N8HxC11D2!bzf|;3Vw`9cb)pp-+Fl2Srko9OP3g58tBydYViDEH#vYzmeQYuP4aAJ(q!`M zA@R?pDqH>UBc8AV0(7}8T~f>#SL3SMz^X3PplMk*RO>K%Z$=1mEddYy$}2E9tbn;J z)NP((;56&|r8B;3Wlp>2Mo{aUrp!5+3TAEqEXj){+xX+qex|CR>{nVdMzHM zjxu$Q?7|a_QxxdBWD%2=@G}!+Kf&Hr>!W$mSC?}66bou|M9r*RH&v~sbtjom+Ey_Y z#f-DxLt7&y=K(hO7J^5vnv_c&=_?Q`yu~6-TNCElJ|sPlI)}`WiLK?Jp_+QOil$wIk2>6d$kT&1Jry>z%yGq}1i-T38eT=Ik7#9lsVI^i5|GGWf-I>Ou|#U zYg8r9)ZCx-@YCnc2D{}c`iQ{o=&JVNmV3iR+}GWexj?S`&7+53LJu4E`JB7wCi5U| zh_N#ri2d|8I-*3yt{zIt>kEu{o)f2*2q@`s|CiRsyr;Xirk8@01G469SpwL=7XuxB4z z6CvW`oD7?wUW8y_A}g@+KO?sq)_!$%A!XbKx9uAbTYiZS;k9nxoQ7|Up@IrlQLoz zwlg6;;+uBR$lKS=$LM7rVugqzSb=QQ?-% zd$p$bD~vtHr{QAFq=#$+-+g+r+akPL42HO}tW&7xa@UKS;?o1RcyDtnm?fcck*-UD zjZ0hdppr##(WV-&*1~ht%-*GdGscpA>2S7bNWyabcsaA~7DQ&Avf_~xC$lJQ#$t5h zslyZkI_{#};lUto@X$mL(k z0}%fl2Kd|O8r5qu0-$!V-_2oK=$d_9HzD5lCOc3(BF&Bb_vWsotMW~w$3QSWx)CP% z+oe@WvmOTYO$qG0cbL+=j^j2Gc3M?&`S+6VcVtX3Vz@`ezeriWnDZ&gZLRk?FxH<%;|KRR{_aEbO7IEA7CBt1OkLrPd`3)S!f2bFxM6U*05e~9!hD5z3;kjyI8kMV z`_PGhAx~Hw;jtg81+C(F$iPLJpiJ^Hbf2&f-37TnQ>^@Yy3D|mI-@*BiM*N*eYNY> z_hgdj#k*_}ktT+F-MI**P-TTNg!?O{3c2+2U&i`{Sw0MTp7r)d>#6Jed&>t;92$I% z+Bt2khF-T^wR3jYt9f5oQ12=6I3YMXXsFdn z>sutL8#*JdA%QRnQ09{fMd@&A6Ce?|2KVo{j^eUOK?+IVXHQIWdR4VAk+p(hnMsbM zs&wh?@r2Yr8--m2IWQ>~d<{Hg!%o9Q~-}(G$NX_kqK$(&2ow&(kO^|8eea}~eQ#B{a)*MPMEg|lAp?$v~Qt(14fg)yauV&L_ zDbK9?yGv3{pY_W7q@(yjv=p&oI*cBXmr-@195V`!3-G6#R@t(-&PrCYt_~^kf}9)t zAHv)3Wm`2nn=};g7AI^U3(B@l@ayOc^M1rA!9XfXUmh{jzxGcPr~jBV2$)V3o#s(4 zeZ4qPINV)JY#r{d@dNF#1x?89kzD)LmLxshm@Ui>J3RW^#K4*e!Ryr^b{|dQ{>^Vm z)Pb7*19iytcp0$xDaCcZiT|#i<-4CjHhF^E^9?#67mrLE%XT-L=S4ECxU9+*KDH-(L1?kL?p!C>H*x zI06=zp;*k3TzQI!ecahxj+wo8Q&-DKpEQM@W1k%a2G9t%(H4Y{%7W%QDG-x?dRBHkF}9)h2NsxZcExV#~w0lZJL;#~pWfBi$(%uK5&eT1?xlArODFQtR^_8+Sgz(B(9rzadU0 z*S}>IbHI0Tek^R(Ngk_ck!QBUvadL~-_LI%7|Yj%b6LVU4x3TbyHBgTiPK%)_H)FS ztXI{rwdO9;FbrA;vwCiRG1ii7hq+e0ncrxKv!Pn7n6I(L=y=xO3gPgNs1&P#A$|qi zDKbMzt2ui%n%M`+7Ci*HwdPJl-JQ%VK#TdG@zNLkm}%H)%i_YY^C(;0`2hc+}aB-UsoO?Vb)qJd4XtA+sVzx zs9m!*BBg%ns3J*QKokcV3%cct+~lIN^>6jkEw{!X%?qbhi)eC&tPftpzf&7%YK7Lv z7_?Qu8qhUhx!h}BAq&#(eAG@Js@HnNZ?gOPYaQ)JftQ#Z%9Luvd2c#YW^U>xq;U-K z&Ckk_<9_f=w@vcs-se-feqO9%7Ds5ay>b>*y@eYS;jpJ-S$b^(%9}Kaw-<{8ri(_@ zvOD`)NeR%g=YOW#()}3g#7-RSc9TT~^cjM4CTDY`(o@H{!qQOTz;bZwJ9QbfLYLp~ zo(kHlX@G~18+Dze98*x8R}Y7K5vMmuGm{RX{0Q!&;Tg(^`_-{E%s%3gi?_NG0rf^z z$3#_Vt<_1~>b|e=i_c`?SJ$ZGTk_PvGCVogp@vtt!n0JB{PV3&!y)eB+qiJ5q)K(- zr|}@S)ezxUv1n{s{Mb^K5_iQ$m45MS$$V{WoCljGA?{>PV!)*=$kVyd(qKEKup$NqrEGzG23?=X>Ccg>Yd?m^Lf+EgceN!Zx0r?-zi>O2FBWfq zNx%JI@e2BAmF^X#?+&=GQ`7|O6BZWD^yJ7{ot9-~RbsXzWigjv-Tc=3qS+$o|3 zPmav`%a;+CS!2Vos-MM{Ak)0+z%yEAKB}+sgW?^618I-+umd2!%?od~)$Ys{U~|P` z@L41QP1X?GRjo#43Y0ic^*P^i=aH1@tE>$Mm$vM$&seU8_?i4Oi6y!-8gWqFS2lDXFvFO5{ExB0#gjYMPWK*LAf9`r3t; zVG@_9jpaJ1)@ANMu|k-@yajnJ^^@UIhl`vm=?wzSXN;EkS;FFkucSgI1qMEKZ94Tt zymd$QyXIQG?H=A=&8A64Ed-5K2XXatt_sm zRdgm2H)OKqoI1PPFNoC;XB7D@KvaS}Yl;*+>|I zKQ1NVx_UVZy@oC@$bAw$X(4zKg6fg5mO$`>5W6&C;*BtUo8|IdX_l(5W7PQF>#b`R zx#Or+q@50DOO?@&B`i00h;WGwNfWEqaP6z3Ld`Fx$${-tTdtO9I8hSZj~moOu}nB) z2=SYaMAw>?j?R*FE3#SJn2eqo%-D2TY?zic(7jPXNIrf-sh9@1EvJ^*&8yC&$1eWP zTzU9TO!SjW4;EnINOEhZu$C8cj3*XMAZJ)*XL50UvBQqJ#DQh?q@&#g9m1n${24%e z-qZTBnESV&p;;nDXc6h~DC3sQjq>xDAkAsErpoqe->z@&Mbj#E{pY+VTlSzZsn>#; zRzF|9cGFlg{p9=kUXzFZWrl8&3O#KDs{yTfx7EtsQn9D2sroY$OlHqHwh{!D4!h6S z%t8Ft@X&P&tteccfTAo#rGiIHePhVD8|(0`Z?3Su@+zXF_fsQ6?`&?fVC`zyJUSq* zO!VKK=ofXRGL~&0!(NX7w7zJ)2Vx^Ew?4VcbULV~SuRi)lts#2m1nDShTgf;Y2$e6 zw$8~Q#(QflJZ?SmBfUTKv(n2GUms$M&7SM9@2qI+k`Cw<+;6lVSHdg_iM9w=?C5+$ z9lO1wn(qW!y)kC4_uCK)%ryNS>-Y?~JcG`no7i6^vlS|x`unwIGXaQ$I>&cLiY|_9 z9vRK^h0gZ_gQPLejsq8z??a003mu#)g?;2XKwJg+>W=#6HwpIHx+CUOv-p^y;fNg( zj_ilI_SrY@?le_Ljy}nD5u9rFAn?T?jni5lIHu$Lis__=KjxAKGnk?&L{dqbSxNL1 z3nEcFnOQe<>s;gZRl!&h-`=w>WBx-Z~{0 z8CQKpX^g}_GkGBQS#lw#Wnk=~-`#v_H)C?Uu+{)qP(3t3VB=X`wY_u7`BPh;z$9lY zJW{N>p&9w1Zu!}7KG~P23iQ6erDZs5Z%6o=C*a!;{dn+(AI;21Y>%one7_XpS@HNb zsqt)SuEz|`f$6kIL*lNfDV5Sea`-8FqV7kLiz3uP9jjpiIcyQR*N-uSIJN+`BG_WT z`DhoKD0m)Y7!=aih zv!;lDK-cRr!04vfCQntql^`WE0MxXIf zUZy3Yc%3!CoD1*Olk=Btp&M)incG-6Cea?-J(e*Ur_qgk99T3!)bL0e5Fg;y_EplB zBwFD8x()r4t>dJwC)Q%dv`UT9fiGnlSZV^&>5i)v^U# zFCTgF^cZ$sg$h_K|ju{1{;HekbR3Ud@vXTG%pms3lqp z5yK)HYN4IEx`?6R@$RPlAV^mP_dl%w{p13R*Lx0Uz(B2^Dc=l|(-Tw?Zl_nqHIZXo z?Cwf8>w@(7)ZBKZz)_B z+dgeWgpAGi0)(N_{A~wF7olp>d1AWKluGppY2_J3ccxIs!&G$xrq_`Qk=VDu1P><` z+U;ukWx*vgp34b9;H0SPCx=hNpDO94w^2tgJi8@m}!kB4a=^JOyu(o;h} zQ4;j5w>#H}x2pBw$j$pWixf05;*fV-0Y$8nuR3IRBqJNJO~$GL(|#>TAdFy;1DYK+OgbM0x*w_eYWmn_AifxdPj>C!Pkfh|l%J5yZ&FOsr2cXd;dq9A_y z>3)eHnlZr}ir624!OE!~a!KDk9!9r~Wz$yV_Yg`wZ>O5HWBK)pRZR5#)&R95#DnF! zO&Z-rWzSBdKK|xyUf!Fe*N-q7KXbJj%1vUB;_@v+e>W54Jd{f@%lNAL^vTS9Rfmh^ z5DiJHF{WwXfrUnj?&`?o`4KGKN-vWO?5O#LqdRlxeUy86pJ%IeeYxMQNTqt+%Ru6z zDIkAFZSs?+r=MAiB~~z()3aYkVDb2tqn3>Jwg6|<%>Kmargb3E^n?^|9 zsWti4ioGC~h!m(IX9P2aJfoYg-PpC|!EY+d?>I}5lK3Dh8v%I{5m8=fBmnsoJn{^W zJqmZ8YhJ9NS3NiEwLGEpT*PC+Cj7ioj{)-|l_o}@O~#0#dt|nw zYv^>Y<1gjfuIHH|_X3(O&z^yO3a5cVn8X#unxKOV_X>HE^v|@bmYiuBdhHOKwT z^<&%D(x~NGcQZGOnWfTvn1(bv_+0MIseJJAz8k3uLT*|J? zCvx|f8V#@a1dVCk#wOAW@RJ~BU%$4xxP+^QYMDI>^L_!RJC11rltnks_F$gZ4VXY( zbSU@`!!@S!cjhUKixQ`#k#87FDUvcqNBPw*Bba)031NaiTq@<69tde~>g_p7W-B1-aDZv+>IbDzJ-{IuJ@h0;anuN;F5-f} znz@*%%!aV;PHt8b)Ti7`_oFqRVxqu)beXu%3d@AA$bYG$qcRpQ5< zT?eiUu*OH(QeB&>J-UdVrbWzvzaGn{`AKLYT3 zgf4?Ca=O!;H;+)<&R-8&r+?+JLTB8nEe%LcKeCS*!j2biIS$`%EpVuemCB?x>gz8a zwS;A}sZoB--1*o)(^2@1o%C|5_SoLV@|BQ04OS$CD)5;Q29FzkSFl_WA>-&q%JZcd ziPi+o!@KkRfHPutVzTCs#YfJZiWF?vD$R0C{Q0?=8=8T1RbgZA`qy>mv+5f7jP7@z z-HYyf>dwq9%^f;Qztfdt;*#_8W_=aQ6Tr8)raM%2q^#Rq?A73T^|Q!xz;R@2{&y4w z?E|sMZ^S~Lo)x}$lH z_7Q+t65ow=E@PBQLY3pV!kT!&(u^2{yTHVoVqTx^;k`%qi%2DIv&1dMl9AY)Y!M-g zsY4q^sig>|6V%*__+g3;B?&|T>eLA3X&$hao_w_Emb^LtrK@{PJ(vY&6yv420yh1I zc=c+cfT-7^a$a@tokCsKOaozd^|Mf4d4pcAC^K`qwh`hgGGLu8@u!HiUVw7l46UQ{ zp)z&o?D@(SB8G~IWP2g;DoYLG-OhQh;D8s(&D3^HRIBtV^;m4=biA^c>7Fv*hT3`1 zUlT+FKuy(&&Q(&5XqfN^eJ`jpz9%rm;G}2ChEGg%j>8>$WaRXZGnREr8iI5&qnoLO zI+BA0lZLJmfsH9mfu*+iRE_a8d-|)sM0s4~ z0vrW&g02D}qOKQ{<@Kx=bDc~E8E@IP^M)hoR?6tjfeaTd{^Dbu<2XJWi5kmqk-BHyokWv9P2 zOMm|u(~m`@VC4(lareecz;}YBxi}UBj@8g4OUD=Qf6*RZb#k;cr}nle|2bb8=yYBd zSp7;|fJq_jYC-|)>v!e_92_gm^L;8?ydVJUf%HJ59&A$e%Mg%)glc*k@$~80O zh@KS|4nTKPAATYA4o*?~ZiKh{2*S8ex(oH zms)FBT%Tm1R2)=}Pg1^5eE$P`U{#8AT%p=krf|GT?1Y0GUr)jNGl#2&Cg4gV*9tKu9@qvVpbn9HJ=_$x%c*Y?SnBYrHd0?Xo$vN}9$A!A%f-R=_Vya*uQ?&EJtxme@a4b{1s`?&p@nch(MQM_f*irJF9>4(G$ zr|;!ASb)G7rKgOc@o*PRIT8+0m)9%&mVvNp!+}eP7ZdfeSRk`69>4Ujv)7zpH7SX? zz5A*AR8Z{R%6r1H`gSOZc6frn!|+)qH5_1$gM9JnbM(u}0E_TXA3q*wR>Z8b?Ro`lyb z^knGVrs)r`cMZGP)T^bu{yNe`VneHNWFbTZ(h04$X>Cgy#WwT4JdJ;nS>fn#Oqnkv z%7IOlNh+q$W$XZXO*lkL5~O*ad!&n5UV1U&g-@(JPp@8j^`|LU%RTB0Y}~Y zjnkUMP`j-=EVEpmDqhrbg?i@VV^Xd+p!*d<*rfw<>2L_h{9VBS_R=^EcOZ^`jXfC+ zV~2{67>kMJ%S$pP?-p}3H;d0~y%S58V9Ftd>#t2c816k!o2wFF;B|VXb%f8Bmg}UI zAm6LL2KPCaDiM|S7E$p|I{!Y!jd?(vb>}kN(_Rfwc!F^;;Jy$z!`%6EJ9n@&UgHhc z8E5EAb}*g0pEOPOCz?I(Y0sQr(&DpH2X{%oZUsvY#m?Jv9P`iSIbtJcxt9lbQi`g1 zb^My{i|z52{L+Iu{F9qPEsr!d@Tz*fx@*xd7H1^|UPJxn>B3U1-jwcTi^|cuYvSjr zHbmp@C%jE`?9nbnhgh>;+nmiEPfp+3emOt#X1{n~u83~|C==A1$LV78Wm1#EUHs~+ zG`V^FQhQsa%+oxA6tnP!c}h^l0r^Xgu+5yLv5{CVaO5^spsLZGOMBJZ<7`6*#tiM% zhfC%q<@g^bH?LcLaBlAQ`8g$FV}4eL#{b5H;qpI-S(0k`0V?FJ(aoqc^oCq?c-p-7 zx;H#O&*wf|5D5Z5v59<@;?&5y+rV!u;a1b`!uF7RO#X7#bZFbru~^=|@!vqhYCYl? z^P7)BjVnIsG0{a+8rt8qDF`c$@{n*h~!Y~#IG;IQMH#xwDX+Jn6Bydj_efyH8b zsMuJXJl*U}_3&$hCag>GLC-qJy#J%$+=`&nZuNcNyB{LZq__GoK2_=oV{0Dr{66=@#;U_+;Amw8fl zJH1RH$rd5WgWpl99PQS4g@w_7h2nj{CX+yMCU4=ob;;GLSz|S#@~bfI7_VS$PHLN} zFx;Q1GK5>y%mwXR>Aw4in1_GxlEI}>6<`L%XlKiKx-~ubeawP7iofGX2T32|T8@*( zEc_je_XoiGLKX#{Yh;)XAO1T)?oae2us zQ?4(l{m;A&98~1^eAJfwPmMT~Q57LCTF^518-Vd&xXP2zKcLI5Z@K@;k&FdZ5xmz< z-+2Drmi`Bh>+=WtnP)bo@t+)VNl=Pll#1$-|J_@Ekg)(1R#i+>z@Gg-IbuYj6#1x2 z{eKwdMIJFnT2p$x!)yxD#$*l}a60xB= zcuxcoNZ4l76(V!*pLZx+LhDvJmL&o-4ZQk_yjXOBh7d{bT&x7$qhMgaRvzw`lL^Fsv zOCk{Run~;f$K=&iC5i4^8sYDtS=o+c&)X@}`%Zq}-YgSCC$(_cv>sD^-W?5&{uXLdMYApJePBuq$oTIzK_qR_WGMdeCf&Tz8&-p*9_3_FUbAjarUfUu1C`@~$ zau%Jz6$q_16pqq)b2!!K9Z9PtN5JMtIsz%RUtUL3b(6H6=QmD^@`Z^T)pJ*~K-wAl z66=vP*t~82SbvLJrcj)F>*=_p&$urz$B6Cx9JPDjqRQ9YTX2-dW8e-XV_rctkBKfe z1zgOt53E}-$a&3Mr_;>-ivLHfWJkO(nh$`tA^fr3+I-K~qMXkXW8IH z2AN?s19ZT2W3S8}$%T%fAkdVyQuFcp09Y}aym>uNa(uc}XW$TpI8m!@Vdn&b5(~33;OC2>QUe3WK`-T>q1y_9c`#Dv_%Z^h?Gd=w=$P;g;5nc3C6J z*O$B1fyr#@Hx2pzCy~g5ItWeF9V#MPCw;V~$B$#hmR^rZbX2i z4@6=8)Nv$JmBy0rv21`(?fr6pxXgFLM(8fiu~JCsfpCAZGr9 z6we8K%O^IoQS7dEVsvh|Bp)^_g2DC%6%ZMm;x&Y{61~3Xdr#_oVroz=sXtEY;%&!m ztIw&0zKM_ZXi9PhXI~&H0+4(*QA(rTX189&{{4=0R^_O3Ja-_`XJG<1Q8uHkxix~8 z{k>|dXB}?-R!dE8HK_Ip=x@lC@I2|L8Eu8sWQjQRJKi~sk_nkg>jd74M&5H+!k61_ zEl!J_JxuspkK{&Eggb)p+~P9b_v0;x)kn$ty?w@1ssCR)SN;!m{>L}p6&kk@GF01) z8Ob^2XhstznZ=+fM~AXZ`sPYH?d34Ww3IV@VxF(6IC^yLuiw7EYc=|~E_?v!uLaOuCi0!RP z%vHig_cE0k$j_jORREE&%wK!6RqQuc3PH%36`*KIjS`bi@=!`AIBW<{|9Ys*zxTne{CABhTN^Ob$RA&?L+vv= zPZq9u7B%D^?+zPGgWZnlK@%`lXWOve^SMJ^RMSS*rCCL6R|F8R-{sz;Hhx)Op50is zj8h(|wCFiQ0U7v@Vz=+E`exOpMb)ks&GL%AGHL)P-3$iLH^r-Nv?B5$t>{uADn>pg zJJfQES<^-i9sTg4gy~0_BvSG=$v%U`FfP#SOv;ZFMRY)nZk_Hq+q18J%@yd!9r4;! zYx4G_)Q&Q#;lmj&GG{R2M0_I`okI>!!KMUAit1sFE2BV4>#fzA!FWb&7XZ`NL}IXj zZFCp5JXbli!Z7dQLmUg8M?OrJVK`cdX7U6?m|x%yq9kg)eR7_C5QTV4@3q0tr5ZwJ z?vbP?qe{FeeWS33+6N&+EHP_{>9G<_B zHHRn~xFk=QIEcqvisx`}-55cLTfFSUbOk#Ccx&CGOe5@x01i&m^DWt{;27s|asCcN zfa+UJ)VqenuIl;KlO^ENK1U(Q0bv@~dNoL+L^Cj>fUOs-iu3+ZMl|PMD!)1Lu~@sl zHu@r5>)XS8JdOdP*zn4dr> zr=6cm4PtKc--mCkhc+o252w>F2e41jUKK3wB1d1+fXvkh!reb4zwI1y%Md1cM&syy z4sA{!8zQHT?YMhyse(F1ndDI^Pa^S#(e3dEPPD*%-z;}s3U5EO!q5*r4%(N^o{qz0 z?UgxH@2?H%h_GBcV&WKrPKpvifr!gl)>JpOJHMNeO@%Hu%A716R*xMw%)cFPuriq) z(Nt-TE<(1VxmvM^c(YGWZAxJ1c0;>PU1=g#CFW>R##!UkV$%f#3*92og|KV$Io8iB zwW#A~tZ_ocnkn$vq-&B3x~?qKul-zJew6M;!!@^q-`ob2s4xl%l}2W@SxB2Sz=gT} z9*feHx)2TRz)Y?X;q=GlrS9O_F7^_u7mK^V09Zj_aUL4IE_QfLky^kW?;x8P`mARJ zaF!Mf{rY%H6LF{1V@^t$REs7;MstoDGPKiqG{nt&!)^)x@G`r58rk<9d|CaB5i zPxYe57Q}O8I zFyfIqrlmMMAP5=mh;VhvN>Bf+^6dF|)j;r2c%J=@nqW8ljAfM7>+k$%no&YIROFel z%yOv3E9+Dp4j8&%+i1-sq2|g6G4DLyrwP{o;M#44wafNqtaVNEBKNr3sViVZd^M;s z@V-%^qYHImt{}q&e`UB?hT1H2=A{H;Ci~>QqinZO8#Wgh zAe}gENtA6D*+lyA8u0TsIdd8k08DyteRXh`&O0qsu%dtFM>rT@evn8y z#(iDN5Uu`?v~jIgC3>tAeP8H8r!C;T_IrpRvLic?3nyuNU`9lz^kymTms)?5)rUm3 z!$r1nK=Gay1xDR{7FTNT7Th3rwyNc^779dI9<13WmrqHG?BQEXHl-h^unu!d$3b%! zc7SYOC9w&AJYWxtd?D|fIX!l>K8Q3#l6b-PeivAT{Cl40ej~p5>*Il!zZKl6*kR(E z2&2hA!jKSLsj{q{g5#Tz1mF2fx{;*lVgFoMtpR8--lwvk|FQ1085|J9PkBi#@ExcA z%SMtHU@;)xM)m*b#D6#20m{EH?tlY$;JG8REpsl~#7G1Jfk<_AG)zGtFdpz> zh2sNf;u1jbfiL!V)YZ|t>gq^zpr894Z#NK#?~xC#Ll3G-9dG;x?t#L4srN_^O?k^Q zE`+j7gI!aHI=by67f-J{ONiyvXaXD~f~2K&ZcL3QcVveX%~{QOxRl($JUBEe^)4Ot zZ(U;k&T@m`KwEP31Q}D{^!R+lz}xMvFm03uh~k)?NYjPZcq7o-v&VQ}@w-&SD|_yB zhy2&;lLyEB_qUJNPtMp&uJ(V(-l}-jUlo;MK48dnz~A@A=du1*&hIjJ_*dK3^&X~k z(b-0P`DQ)xEJ-BkzV%H(iY2PShdxmisb0TnFTSe!vhg$N<5fe;`P{`4gcj+E&|cyWI%& z@xQJDQVf*`4t?B$osgkE-o8Qdp-LS8Tpl+{u$K~tl_46b?ic8Wl)fQ) zLzF|A2#G{02D-Y-n`&tNTOIhO#NiPf>@P1Oa_`=~8}}q`_yyh;5tEaX6A={`5f>K* zt`H6i^9^9{=s+re394fIyw8@4OZgdxbEnG{{HJe-9qpD zZ%@8K|2`J*fFjo=B4Rg0MgFI4psM2aS$XuGP&aRDjXOTT@Bn=%i_1zY{&W5RujGGw z{EwPe|4~y~>_2P%N6G)U=FK3tKy^PKpvz$8|9vz6R{qbze=91ATtE4LjKqHp^FL>S zaaJZ$6#1Wbrc5+VB=!RYLVu;(}i8Dz` zCblky8i|o!iBgiP-}G>Zm%K0gDf=j2K9u5nDfm*PV(!nQ0l=sqwNk>GZx9kkpN5w1 zO+GW8Jr{}#KpK*bWV^e4G@XtkSKhXdzB+mJHm+#1EL~YZp~y{?to(g!8*#kDpQBvg z@nTiqk5bdYK_8`ZF9ucqtZ1dsuh>T%YOcJ?wzS`2jXHCB{WW~=&G}Z*Qsmi6!uN4? z^1EkBX-cP7uP={=_1n6x_Wiz(MgM7>zg-l$zVJw!)w*vGN+ydce5P`F5N8{{Q?c0o zb9C=(*cQv|-_6H<3x|VjKmPpr)%Este_r9}#;YNY?@NFGynZZyxB4y6B(d8B>)a*K z;^ftiakN0;?c2-Uv7gc%{{Eg0y!zHS7BZ&vtB^_DHF57t-Q&mizrVTl!oI_9?5Wb? z>!ql@)1~O>_YT#glST?3BTr{<`_8)M-u0Pl3Q+lTR;F;a9JiS35M^!N6&)iTG{m0J zdcOI1>}pHpFGVLQlk`aBpYtu>lh2m-w3!32_kS(ktLVzQw-Qg+HpqJ4AemmmJ*E7a za;X2`t6vI*V_N6SsKt*79lyTL*S-DTCLU@ew?X}DyDYsep3c6tI}-l~&tvaZ`eV9V z!H@3mH&3t6O=z?2%Li{S`?jv&%S2s^FRkg znms|Gp^JB?-&op*_4ho+qqA%9UkoXD41H7pA;*(|_o*K*-dl^%?bnNlFr3= zaxc6`Eb@0S1*=l{G4AwJE_aSqDW4qVu=CJ#HGPCPa4rbttK-R%^OJSpF)QA_a(m!X z$t6Orgmql)(e5suE31Fewp&eB^7&2BZQXR*SHMghzB>Y+BM@5-#e2935(^CmMP42b zn%3JTp5F&1rW5T8)oHr(wNQ(ktrPTr0Tb_a6>l)Z}Pp$m@+1#(`9u0wOr8V zklblxfm~1}^KM98^Orz4vrZ(>0X&n;a0rWOsNDIh77u~+SQ?uIycB-N_q~9utsx>j zt!K8gKP{cJ2~-5!xS3qUPDL(}L~HaD@SD>)uZIocz^q?cZ>1I| zU#@60diegY@B6<`_O?QnBJYXGG%@e?`>mRNl0UqEhP4?hPUkS7gfZGs1_RIVkZr&? zT?L;l^|zaS)cHoQ+Y(Iu%(;_cBMw@kjOXpks&?fRv>WBmbT2hfkAi&FR9~3;#}$R> z8C}EQH8{B6(Z(fJs_&)t+>Kjpt->ucYOmOZ(1&8T8oDMx2(pUp_q;{aG|?|QPBRoe zP#&~dw~{Ta-DqC-;4>v2^oS+nS5&5MZhVABzUzGU0`0Xs75J`YfeuFPGvnR(u`e27 zkf5b*JH9zyAK`-yIcjm8zI88~a5a{I74H6ejb{UO*mN_&=;^($VZLVvE8;ccjpC1i z5qYC2O!#;^VRC~{9O+rOYpcV2X?$6R1kFNzMP?d<5A?*+l?IC^;En@>1xH!bkn<@ zUmfqCL`=~Z4J`M>vH0l^4bKxB@E7?zexlt5tm>(VF6-BDl^*+=#Bvjx6Mek*(li5G|C@Vw{46?(fu zHwh}O8_4r4+IbdT(v>vwChV6Ur8K;=J_k&1@_}h%jrpyR4mnx$Jww&mL~G1+m)&ZI zLYHUe3q4+8CK@}IVBMc*I|9!q$JkoZ32C$grav!H5}DD;@;0Yr;3wJr9<&b(4N`$=2U_o z>25xKA_I8J-Qiday2?+Y5Vk-+XV&op^VyHtBWdtG5f#Zkzu>*zxkvZNTsN~_m3;gD zUM>CAo#J`{xhve8rtqEbVUg!ycmr!>N_A$uvyj7sfhM87FMqTvUjIB_LEVUl3_n#> z<*0%?>x$Ep_7NeX3_)mNEadJ{Te`=`aH>NxM~Nn{X(P4rtA70x-^ZUF9LQV;B6KoI zV^SNAe*w#r3QgOaKta;X6T!onWWCp>mu-CT<)-DWn*#Z_#@Go0pYg{Kqj2N-x1U{0mBZqkQpxaO8B0kFDw}qMG4R27+Z&C05O}=~=7o z;If(HqlRFO%bgLnkS9T)Jd}VPwL}JPmsDl}jk2Ur9+~R#cg2)qAgV+)2kAI>EJUSv z9sb5br_FRn06wK^^Dq|eF zQB0zaF;yD{Jl+oxYC5r=BS?r9Hy@(+=zOaemwPO4l_~h5{Z*boxY27MD62v8nuv4~ zRWa`OY{e8qEWti-ML6f$^$6L#hW7C!{t!Pc~`cGrQVk=g9E$`H3P8% zK}ZR;*s%@<1|X6@*+Sh|Ql2W>{{mSelMLNkbW3 zWlehsBF96kx112g(Z`6(1Y&p_XNAP@V@qBPC)kv-HEEe8c;}Pmhenk(l#(otzXXSW zMCm67_kdKvJc9TVv02hblq)kHLd#5uQDy=fUeXreN>aK1x-z4bpUN1a$@n~<_K31% zCZ?8zP1z1ol=z@f)Je_!=ePEN;!0rVqIIBQJ3uahcz}6(ww`Is61*RRV1v;X%%DB4tl`GJb(l@KiG8GRsfAVyWXP%MZ(<-X| zQEn(+VkUWFV=*$Z4cx3I|EcAmhZa~PN^&@TLsf>+1kMt;x$s8Q{3k|&j6kHB za(sDeOYn7~xGxLL9>*d5=C|)HUIi30UmJU1>IC{eu8<;|N`vN4PB-$<}MAYtHG<`=U3{<$W1Z?^H- z1rUp{6jdf9nkya+aV~N^6ygy0GxgkT5$NznQ4+5`1acAMp%1c8GV5lZ@p{p59c6QZ zEg}#(-8Gp;^6#&czYN~*Kd@9rxFecvym8tXtIeY5sB=b1RokgBAcxculldB2reU(0 z09GXuhB+rmg2WkR#Qc|0gufxJ@j(%87jL$nW;UJPzJABwCGpU>QQ0*T1}>5I1I)J? z&(UQUG`r}T4k@`^uX!H3mF9 z=#+_2+esFz$F=nYB0Z^)^rMp&bE*y07niJ|%V2(5u4iN{^6(FnXNPN=#XDQ;VmA?? z5uU6)Vqr(FguQy7SoJgg$XxZzfC)~xOdX}66$RudnpOIXZ|~9FUIy%<0A_jbMORL& z2CR%s1Am&<)|iQSiF)a#aBpVgj$V>(`M1@$Tbu_fjBqyCzL&r3+AaA8}uyo5(&vh zkRckSuqaiQtpuAFePR%BIFP_BhVRw!&f#sXZPzxA2EsM)rSd2dd8q+SGtLin7t8l1 z$`ZKnvNY$3(zw(#0=Otho)ty4!TVYR_X`4$W@_xD>)ah1BnL>MjNTV3obb7?y6%x9 zWS0;)=_RRvY?G0uo3s0L&kM3KAXoYPu~5zoWt%RynaAN&)~hq@bg}cS=mUFR8mD&J zu?WrSgpG&UkFOoKx}vU_UubHlGTvQjxT1U-AP)~Cl}R&r$f>X1P0?i?S}*6@VF4gF#k)jRv^5;74|OX zD*d_Y6P%}D`OR=3<;R2LJN1)y4a~fB>EB6oF{dck`8&j!uG3PHYd`0d28I(yo^RxS z|0hVlkRa;|Ku!wUa3_PVw@)@$1)YFNVT zdowTOc|}fO96qT)1kPfOPC#h%6$63iwL_J1`w>mdTS`$(Jfv*O?Vo><#QFnBPE#ARV7Dv|?>csfu?AH_${ReD(_*9J#sx|*!6tL@ zMN6lt(A3^oJ7PTibD5=x%nu!qBJfZMmiXXMu&ycNvC{nzia)9Xq%ZYSpxm-JuM#vy z=4QtT-Sab67!1qUMSP>R+wie;UG<5T(?IN(Kmcs?lFJiSNi@(Jh}Bw->B#WLzIFAH zBr6{Ro|#{Kz8V-@$iIW@oXvh0h%Zv0{mero1wjFg--ZCEQAI}}UdBK55Nz?{8mk-u zf)PA*dx1`|5Z8aoIH^g(p4+F#eD-4I+l;9*Ptbo?yyV=F3U{HVEVP6gY|d2dh~M8@vul&yVp`@$J+d( zR3x?4?0FxRaVr3>NQh}Oy(~&n$nC-Ai?N9hJsy$S=^u~&KjcZ=(+wF`fH>uP+L=0~v^1#4cdZ^*`HE2xfdv#5HM$U>CxS22&1gVV|G5q;t zNOpB^YOl624dzG@)Wf@PB)`M;YbAkAuO(G_ZfGCC&wK%J@a|Id-;TG(pY$Jg`rqBi zwv<

H>gAT_oK(nbI+ufJpk}@ArFMLERrH(9(|GF+*@upEVr2y4`Ev#r3k+9pNW| zO7~BL0pn6PAN}`=`+c66OSw-3A{W(s@uO>LB|=)S2wKTsKK65*F<6c4(giv(;D%UY?7 z-17jySzM)q?FSG(4mALvx)BIq4h44FGvg0_jw*~f5nU&^@eMyqArOMKfz+Veg#i!X zjdb>*s;Am1^d>r*kpQrr0-%O_3qVM}D!mwN_IepZOj|#16wW-HM`7W(BBXnSyA4c(Qhp=Ltj|GJ4)8(QLJHp+;=CQA&fO+Z z2n~{8Nn+-wdOzBKrYW3EnQb6wSWTV!l^vRR{3s!b57-^(nz zj;Z99SBzIo=wUP-$J7ie&H{0?oAfU!64(IHG*=vB5WCKS-JxjQv?yB^0;}3EUlrxa zI&YBxeRImscSJcV?(PuvE#V4?u4=}Amb;zS<4q__5`e6~*aaCrFV)Yz;rmdyg|C`S z0z|;#VWg_ST#|sY@~UfI08mfi^Y3qeC{Lj17s?4Jh#XW!{Yo z)8hi8H{~QC-MmWfE&cOjwe`nPzd7qY9cV7UF%?=vr&03>s49AJe`CIKuxd&lWGFoiY<7{_P=qJ&C z&eP;Ce*JLJQOoyCUY?nf;VwW{7lkjjd|pAhmvSA-|3ugL+ciKL_mP4Z0xG5+e{Kcat6uU|7?t~_85-ui6eMuNVZC4(`W0~and;bK-MNde*%Yr ziq?Be5_N{hqxeodCF`00GNw&lBh5;H9pMm~3O<^giITr|83Petqb~LrM-_fBTN76Y zQudM;cgAq-NRiH|jZ05^jqL6&Oa|$;861Bv;jIsz2tTP5UlL;QzKrzdvyop zBq}!Z%(yArLw{7HZM*bUlU*ag{q$o5bsfeP(KWjIuDln3(JHzB?d6~y^Ka_msidXi zl#u;7IY|Ae@`X3J2M_N4NR#%_ZWY_jCvL~d6eas`UqV?I8i6Ww8wrc*(2?&4CmMkQ zx?k}$Wn(IT+Z6yuz{Lvd6VNGBwALC`;*2iC-67&%;Kv^V%=8bd;-Jm^+aH#>zN;k> z@DbfjWFSLZ6i)zl@DV2qL+Zu?$&3BpfkTRvctvh_dl#F$L;Ws62#%>hVU)yszLn zD!Vs029B@Zy<41}NfA9+X-M_?X)L+e8MuQT%d#5vHDulgqu8H=6vL~Jy;lxBtd1o1 zCp~czKXY0!)p_tYu#Vq9$kNIQ?~M}U+E^{4*2rnC5lNXy*X1iv8fD0n1J5a~U1!mQ zZV9j7)Cuxf_kj1@xjKOj%=}P)Du3eM#2!^f))4^C(4$m)mVFEcV7_Fp^c<=MahJ(y zAnrij5W}G&Fz~pq_m(32U-Y1^^8pqy>b9o*NbJ{ZP#%J7zbxk3HXHflK@9l93`F3O ziL_$O*NC4VG44FP&cNv!^n|@{=ehd?kxsoyd9m7|qW5(;Ju*%^4$nd?AF%oOe8}R* z#Lu?)%(vBgf0oW}{Md}vAr4DQfI6DP$cKhU6cM&kP)X6GgB9d1PI+b>%uYxeBST2E z`5~+*)G^8VI4*}T?kAdZy`uH>?C$wR(|dA{Qj!K5i5+!*C+@=FCX_JKO%@#kzx^&%Eao zm1(tD0x2Mynev1|P&|r4ism!NiUxX};m=R2?9JZhtx5aLC054zC<1Ax;ZdXTT%w9B zpSpUz)SNh37=OKz`9LwL@-~T)1GJPR+OfD7DtHeF9(C^D-Q0+|Poc%Ac8e%dK92BzFNC;HFRn$>boEer~i4h?-W!^<-nk7bEsJe zT`v{i0yH#ae&qZ1@kRtuf z36OVa+(1*iW)FGsQed&sSJ0W{-CgqlWa(4E^N3~UyFbnJFv=Bo-nC2-x+-?kqCBVG z?@d$WkmGD%XFy13*=oSrIUI}YNlNTig%an`D4t#nNg42d=q3-^t9#9(wRJ*Jq;`)h}{TgZYkN;|OZz2wxCu^px8+3vlCp^B^hVc>;p)=*es(u-qAh419vQDgT>OPHcdkUs{PX%)JH^I*2Y837ro5>mr%ETD;-1Y^aTn!ln2omJjCI-OD~aM-G3C!42~I$vupE8u zY|b1qy~nPz173o_E4^1wQ(m{FLajGY?pO@Fh}#Lp%a9EKjJyV$vR-SC{eFCtY-T>8 z_G>=AFWnv+ysh^>+v%e@t!>60bYC9onA7{CCg*WkhP1nuSylOA4)0@TWJp{nxk{ku zW8qX^8oy_7StxrF_fiok8J8fWV;uaa|FncA+A zo>)578fCE@t5d#rwuZ|c8g7g72LlwZ(z&_Po;E0nT^Z_~Xx-@k$l!q7sw=u1OfV!i z4UUgBQn@-VCC8_lxeGXx57kQhE&JdmK+eMq|CYd6Af)uOBV)r@^~74bit9Rce z?YSX+B=Y3jtQo|QJ`tw#vKk=}->$)kPb>=oWh0_{o~nr4GIg{bponAGhr#cw zJ(=Y|jFVIv7kzgh$zx~V@_=ONqp~S|Hts*xP=nMwKph++C2xIg0aD@-zN$xc+>iun zS*}_k_u8gMx%BiT@-UDJ47#i6V~A3g6%lr~%Kb z7MoB4Ja1@&$%M)KYaSS-w5iU8b@VECVm_ige`n7t4u9FvV`Uf6PeZlF%8`XUpv9lyk;!8gTTPA#oDFTBs00!A3WV+5)MpgF+>~X?@e#dXdoXZVlxv{S<6Hk7CuTlDdOv}h>g36Ch-lL~Yhuq3{S zgzjYX-Zx2RX1XRtARl&eKfG=Y^O<`vFx;rUcb$nGRB&(wOKb~}$0t-}<(d<_f9h@R zy}qWrs?DGn+R(0BqKFC-6Nw-?6|+(v`sk5~)G3Jt$t-=#%IDKnw{KG$PkZS_Q=66W zLTX5VB%}7j8kB#eK-Ia0Ox>QSvgTCG58N&5io+vdPt!tKfJF)IA9@ieGo8^&dxR}o z`-TPFmAa6cq&97T=VTw&72aHT71Z`(Gli9R)>*!fT~KU$wVwBRS%zfQ`eiS?yetsj z2#SWpyxe+v-`B$en{E}FbcDODIkdzju8un56u}awc=5T2Aw7G!s%!y(dS^QyHVUUJ{XE(#rn>^V7XSrF4N751nYCNrv zOgXJMM&u(a_Fpe`dg#7*Dsu0k|H{Rqx(Y3I7U%QB?TIqCq+qX$uXC48czryWm#r^S zb$F;559>d-euVM7WR`1%wGMo?uu~L7CV7GSD!ytg)3x9Kz4L5uF)Mjb=4XlXm+V{$ zSB_OYD^2>Ag7oaLYnB4Vu3T3cKorpI_@FTOlkO|mydiD;1mlRS{9?XQ!8wE=ev-+u z`ipOku)K=TeXNQ=+81>?9(jO&R&6og;!`1_A(aMj0f-uuzZpFdFB(7*aVbT}Zm>;$ zbMZfVJXJ7$2LOHTAe@oKgqe0u=u8wj9|@R1tGKPwYcZoZcglg3|T2Ws>CR6x~eZ`N_>YdPKE?8=@|Z8w7iUK zNT2AFnjBV7LjCmv#3$5n346D;Mke4hXFvKOrowRCQJ5(y6lR{Zu zCEXtlp>>?|Ie40^zrG$HFe2AkQ zZO*WSG2`a0JpInd!b0WMT$H18HFMC2m>X#X46ne0)6}JCPj1V4eQsPBTTE)`Z>-6O^} zvA96;PKLX%wrFo8z6JF5Nf%=*aDGyqGnrT1OX+!-Qc5btTIk zpX#Meq=k|`^nVM0r|J*U?2O?rlZ*?{9;=U;K1)SVw2%H=ve2jy-iqKXK~CJmO1|K^ zN}tV|Tyi&j3{V=k*DIRXZn(QFeXqB;O2uNZ56XuoKJP|1W@R!IsWpmD{dQvZ2)+)I zwYuWIME&1r5-mRZBh&bM;{an(eT~A$3;YtC>_5Em6vfPKAtwE4m3GdsZ&`ZYyX=<7 zkTBcA;Gu(lcD-L*Pu2jpRT$9($r?9SqFc~eC=$^iYEQ0)_+ zneNPy_Q6C+0;>%i0+G}*!J(ec-T%?S4a<)=5=y{#U{8bVK;}WB+0UMa>t#5%#6;^X zjvQ;qL88>|TaPLMcq3u3X#-78c;jwnj6_RvA+@F7(--;YxZXwH$`Z>LyPP6`n$^BO zl6ag*RRLB0QqP1F24n);;?VfJS8y0g4bH`p78}_>Pc4a!5ya1QzJbdH>rodwOZ$_R zjsQWsJ!}M!L~*l4d`1di^19kf=bd6}3sH%hf_;^q=apr>S z+%%x6Bmot#FSTkX0O&;`&fS1Fn8s3*@QS-I@A4Yrsf%UE3)XXFMd;9Q{U&5fDmS;o z?o2+@7mrsWXpD{3wPmP6EqWC=hJ~j*$DCpi(DX+*_jq;A9{?r~ql=ZMD31>*!Qwb2 z8CS&IK2T4Xcjt1M&+!#rlT#!DYWcSMa2Vb$T(E|ANFUC>JO-j*Uwsri?44Fkz9Yo? zpnaV<9(XUmZW~4cfblJWQSH}2x#TI`Z^GvbKmrekbRbF%sX+Hxqlh26V4j?n$**JN!metp;tY z6uKA8a234Yyx$4hys8il-pg~`N}F9Ho5u1o0kd;J)!_A(X>NCaecl%la{yzwK!pU5-Q9J3C_9%SFBOR)vymnaHXepOZIAb7B;%=ncs%b(`(S^gM0t>1aK$$9t-Wug?&L+|o1z43 z`E9?07YX}iq$_BR#_=D9uu09&bOyHvE93x-Tryoq^NC!{`vZXFOMKo_%3C%EVBY_z zQtp>Ay*VysD}QwH3GOonNK+{C+yLfsJr?>ViaS4n$vaY#ENl2*I`Y>S>+m&{&wp!S z-t<^h2Nc@@A^e1u?>pg0MFOiQ&s25Vi8ijHBuwpp=WljMl;C(?o7Fya>(bzC0rZlP z#|1a})+>tmmE~_pY^oPL8CAcffrRj=k!VPmUDr^OG-Su~rFv>;C8nR2w064)B?Qt1 z%vWo69^_WuJ4g5PBY;y8-a9KB&+euH*_8uCEGDIIR}+^8V!A_0(bY}qnxowaIs9|+ z zu%xeXiCnI?qUqZxb^2n`5K{0I#ymWD;up$ZVlXNN3^r+^Vvk3u>zwh8G67)g*eX-+ z?ld6MMuCdD>H0NeREkyDLC=E#9Rkfa*cr^2+B`l4RH#PZYyyn7mm$0GI=3&&-c=7A z^aIom!Dp1cb4>yBxmET6W& z|IzTNqP0;MuwP)cun-6{-U2#qyqZ|AG3AR|Xey)gfIUE8P(~JKAM62Cnk9z_K=AFi zd=2;7QHZre$fls4gLg48Q1y%ke{>yk7k?@C7>*bJF!SN5<;`n?P;?p4uB@h&P*O=% zIkm%njR4zL0wowiK`Ek>5>O5<1TC7njne1#mnl`e@2XZhE!31}d*dZ>9+22cOnlXr zq({=Ja}Egip?6k`>mJm~fB|!dVb)V5Mh`@i2xG`K zO)|`xII2dD2t8@q1g}1HXypn5!^Wxg>s> zx%`%@8WfU4>Ju9o`h#kddX92*IPm$Ws2p2k)=yhDW;z%61kHHZ3`%#%AAGiGoL9iM z-g=K$G_b+tABaVze_PKZmTIp@8bEn&xHz^E03Ny`H=o!my5Aq^sXdC z_Or3bb*j!dzF=e<4Ke6L zmb_o~V#>L~Z|T|JpIM^2{0Bqp#tO;c%lP8dK7 zK%Gen-&@O?`>p?6^Lc9QV?+AwX*KwV&s#hZUij69j(iq1MW1~iXIlbc-5GWAV>j(< zElh_jZqG8~#JLSnRt$;%OZN?@Cp8Nj|4a8NDusNR76NpoX#+wM@8>M;lQjfpqJ0u& z#A-t&tI7Y-Z9Ka;uRj5dYjEW6Pv%>6(XR$LnN((Hr9aujeWAVbhaQaY{H7BK(2A4-V-TJYyc z1qxLAEz4n*Bt=rDl^O{1R|VC31Im9&AH7g13LK~mQHE;oYjAo;bXU8?_-4?CtKG%E zjW}7}IWEPx&gkk%u-E4MyDZPou!%Wi zX&K(Q9Zw? zBvDI|zi7TILmAs4og}HqWvcy=Q%A}aX1Pydt@(F*WRE%ViSe4g;r<-FBhNLH-9buH z;VYd`_{FT%n>{l!rHgya2F(Yv^l9KA9Dibrq4H$x58TyT8`UZdivkWKg!yUI{zK5>88jrIdIlOBc!M4UDOqNw~fN;MCr!LLOK z`{YOoBdmocf~&Fe>F2%P4*dMC%ouPC9V}y2=;%#o6UFGqdZiL^sj}JYXsf!8GImzMU)huN~X0Sb0Fyi5=!>xvP76{Tu!X<-vc%cis?fc zEJYOIRJ0_y0fIY%yz%xJEfqn}+UtCO4_E<*;6FtF39sH%F18m@p0VC23Gn+sE;iB$ z*r=6Is1Qx|1+bToZjecW2bN6XsaW;VgLLN4%ucdhpU{XLa`u4R(fRoM;@kDbt^4FN zhqgY=+3N)9CDDKXXr5CevwPUE-s|0$eRWxI0;kLcDA>7<-^1Dr)laTouc9 zK`jmad5XFB7Y?Dp_uvMEF2b&OoD_yhEybH&ZNPr9Ck?L-SsaPRLrU4Q4}?ir6=x1v z2#yXdU|VIzJx3UK3O`p5D%@#Ssz^VeUjeMxtJz1n2M(gc5@%<{y7U1ocUg(Q$SB?329jq>nnWK{QZ@ke!F2DOibC4`mOJ1Jvb-CbX6>z?f8!klNWxlv7;oAnya$O> zRVGAj-Uv!^(oT7|1pL$kch`S#yK?8Uw|dM%OU{#7{BoAF2oD_w7{x zGWTB-WTzbcWryV7kWKt7*eWydee8%VW6=96YWa_PnzV*5?cUhzQJZ>%Oj^9W`2JQO z&B($$`Kn2&m6e;AWh|uyc>5IV_}!yu52^4D4*QtV=&_s^^|~^D!cE z)9~htCj2mdl3PhZpq2yNj-IyiN+-b5w_Wf2oHJtdCq*jD??ne?sH#P|qjMagztzTR z1bMA1nd4#o&vs~xV^KFC?TNGFdH9$rK;Jdqi-h%U0HUF6>AuhJzv(W(9_2R0qH2<; zc=eP~w(zV^p%l9=**v3ny1lj~!seR2c!#^siDYWjlZrq;!KR8tp~d@;h}ol&w<> z*SYMfOdjbuku*k~zuE{(=}@NCUYnaLy=R z-U?CXON^#sFt1v5f^EjGa$s*gd#VSFl;RwXhUKc+p;s+HjyT1L09yhz+5GT!hUh45 zX#K)LI_yGBx9Q5a^_P`ITg!08iOyI$IP!O2v1N2W0M`pexN2Dz;&BL+w8~H1pbrK7 zN~%Wus}x4r*M`!weYYY{K4)}Iu{Em9sR4U!7xV<{xZdZNFcgjhn?9_!%L)_EIbnse zG>%&|<`33|_8+WfEgn=OqVUA!I9s6 z7eEr`>t1~jzzhx*gNjP1pHHUt&~bIp#=|rdWkLyJ>X0N9p}V5*%$-^+W0!O5HXeLV ziou9#B0p%t#rFV)Mk+F4$d)ioz2T{DCJ!O#Mg&Th{W|nyCT}%DFzz2Vb8S#eHyXX6 zAySM1)`;KAA7F2Ob1E@i)ZEHSdUzyt#jP_p^W^q&H*ATZ7*${tKuU)If+gqGe6;#& zlcYE`4JlU1#O39Ib`&yZ3$-n&2!>gN4c3k*&(YZ=8wcFQP!Zn!He;gJK4Ct-K)sLy z-sF@$zldT9xTq%leP`Tg>dT;cFV?gdd%Zn(LHXhvryBl&Z51`SWb}dsIApbHto5?F zGsm_F66au&JA+9Y8dKT&A)$XZ_@`68tkjoQrpt7_qDuTkF^-W6Lco%!qYJ-y{Kva# zLaTIByfxsdn9eG$7?C^@g+xv8I&PRF(IQa7PVr1{wXDU<3- zg6RphalU0vs09CnF_y@~qG`}iWRtv-SfxQU4wj3?RNU1)y&{77 zVO_dF6ffzA;Sh0>Sc`cVP}w40Edneenmpha9q_NNe+z&FzkPS4yXE zF>FoR^W7(=ZU(?!>EuJHN>j!0@Hn>%8=mR2?*xCCB(pjrFFaceyd|i(^QDhW=N4`+ zx8R38x7gRD7yAiKSygGBq5~|`$N&ic7Ju^G>(H+zneUjNnA|M|$J{spc4)`T-#ygt z`^@k;M{lf5x8&p?T-wTylGWVCujA*&7hqGaqGiJw}w;Dj@QP)HkjDN}dB8e<&D5C<|N6j)fI@c|j)k2S?OkUI`!#;4E-obTMZvn<%5 ztt_m0{PD*dq1k1(kw756Dh1(zFZC+5>ZK$LyRfh8Tj$S&R^S|5)g%eIVK>|>knSQ zBab{HX-P*umj6Ppz4n@bn8-oIA0fTxoO6x>+wK3p^%+JY8<)W6=yD z(WQvNOE3~bK#52|!jM@mO#D9P4a;>AKnR?nLx)OI+DbpUPCNmDKk#7FO*hq|Y@1^a zWJ*)OmL*J;*moXkX0I^f0j?AU>5e<@a69d^lZ4WOq{Bd%GiQ!O_)!Wa4M=z}0Z9Z*5kN#(?K96jQ>sY0jwz#f zi3lO0FM%C{D0jw;8Lmf<9-;}bY!~f9i5LSk71{t;3w$8Ik#QhXLcs?;sr1$`gQ7M^ z5wj~nE~xXE3wYTX6iUq02q)tIRq!y2w}u#usPNz!Dj{T4TOkbj;DZl#sPza%082G& zSJQ`W6)FtDfHp&31O>$B;s*{KDCZD*)WvlrOe2I4?Si;wuY{F5`QBzmC?F6N0D~>I zz7J>R-zKgF!+iC+|KRJn;P&2o?-l!=!9-m^Z$a4hsMFy6&73*Yb?MT@9dpbvg?4E< z)DeW&Vu1PRK49`GDS{B#1!3(*Gr$kfzD0WgxCD~`L8ag=TWz(K%=pai{#Tzd0cOvh zEpTCgtoU*N0C*6Mr~(q40w1wRg@Lv)YTH_Y7*(#F&n^ct<5S=PS2QD3U9k4_IJj*M z3KF*hp}?TPjKBdGG*eKcncV?92_wt^Gz^x-~@&tIDFyJty?#7ey+9FT0d(JPEcNzq6q+tt^|*059fiGuLQRc zp#uCGyil!1%eQUwav(FBLYgc_17YxiCCGqP!okOEj8hO&PkeAz#TU`3Qz!A}qlPmp zgZYS>u2AI&H6=6wpwtMGlxyNRioAm2sdE zIAB7d5$=+;(KwJI2TUlW$ZV_1IM4_jFrm;0cgfml97vG^CKOU+wpC>uXao+JP-uj^ zWNkDKq{smi3Mn$%sxl5V0tZYeG{Rl7HW~*~ Date: Wed, 12 Mar 2025 18:31:26 +0100 Subject: [PATCH 069/126] update readme --- .DS_Store | Bin 8196 -> 6148 bytes .github/workflows/crewmeister-ci.yml | 4 ++-- Solution_README.md | 14 ++++++++++-- .../templates/app-deployment.yaml | 21 ++++++++++++++++-- 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/.DS_Store b/.DS_Store index 2f8ac4075a3dd59a91a31eb08dddb99acf148e62..1360fcebc313f0a7e0a24e210392171cdcbf2fc4 100644 GIT binary patch delta 109 zcmZp1XfcprU|?W$DortDU=RQ@Ie-{Mvv5r;6q~50$jGrVU^g=($7UXZ(~O&Cgrylb vmWVPgX6N7#WCkh&0s(Fy;R@2RvG6kbVXxh*==x88*lB%wYxq))o-| delta 229 zcmZoMXmOBWU|?W$DortDU;r^WfEYvza8E20o2aMA$h|ROH}hr%jz7$c**Q2SHn1>q zZ{}e+&8R5Akin43ki(G6pv#cVPy}R`1KFtznGD4YB|y4p@+;Qkegsve6es5-<>%)B z?PMURc=HKXEyl?XA`+YZdG<4NNpJ%-xq=+KS&-v9^JIPz&&mEg92|@ge=uy0=b6I{ E0Itw5c>n+a diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 817af06..fd9b3c6 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -45,7 +45,7 @@ jobs: docker: runs-on: ubuntu-latest - needs: [build, code-quality] + needs: build if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/feature/') steps: @@ -68,7 +68,7 @@ jobs: updatek8s: runs-on: ubuntu-latest needs: docker - if: github.event_name == 'pull_request' && github.base_ref == 'main' + # if: github.event_name == 'pull_request' && github.base_ref == 'main' steps: - name: Deploy Helm diff --git a/Solution_README.md b/Solution_README.md index 46d1179..7b0a1ce 100644 --- a/Solution_README.md +++ b/Solution_README.md @@ -50,12 +50,22 @@ Achived statefile Locking using DynamoDB. The `helm` folder contains the **Helm chart** used to deploy the application **crewmeister-app**to a **Kubernetes cluster** created by using terraform. ### Key-Points - +The helm chart is organised in to basic structuere of helm chart. ### Directory Structure ![alt text](image.png) +### Deployed successfully in the EKS cluster +Attached few screenshot of the output where the application is deployed successfully in the EKS cluster. +![alt text]() +![alt text]() +![alt text]() + + +### Directory Structure + +![alt text](image.png) ### Deployed successfully in the EKS cluster Attached few screenshot of the output where the application is deployed successfully in the EKS cluster. @@ -89,7 +99,7 @@ The following secrets need to be set up in your GitHub repository for the workfl ![alt text](image-3.png) --- - +Note: The project can be improved in terms of security, monitoring, efficiency, scalability, and reliability. However, due to time constraints, it is currently limited to this version. diff --git a/helm/crewmeister-app/templates/app-deployment.yaml b/helm/crewmeister-app/templates/app-deployment.yaml index d26241c..596d703 100644 --- a/helm/crewmeister-app/templates/app-deployment.yaml +++ b/helm/crewmeister-app/templates/app-deployment.yaml @@ -20,9 +20,26 @@ spec: env: - name: SPRING_DATASOURCE_URL value: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true - - name: SPRING_DATASOURCE_WRITER_URL - value: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true - name: SPRING_DATASOURCE_USERNAME value: root - name: SPRING_DATASOURCE_PASSWORD value: dev + resources: + requests: + memory: "512Mi" + cpu: "500m" + limits: + memory: "1Gi" + cpu: "1" + livenessProbe: + httpGet: + path: /actuator/health + port: 8080 + initialDelaySeconds: 30 + periodSeconds: 10 + readinessProbe: + httpGet: + path: /actuator/health + port: 8080 + initialDelaySeconds: 30 + periodSeconds: 10 \ No newline at end of file From 949f9cbfe63164e02fd62d182971ede0e70930e6 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Wed, 12 Mar 2025 18:47:12 +0100 Subject: [PATCH 070/126] readme --- .github/workflows/crewmeister-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index fd9b3c6..560ef9f 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -79,7 +79,7 @@ jobs: aws-region: us-west-2 cluster-name: Crewmeister-cluster cluster-role-arn: ${{ secrets.AWS_ROLE_ARN }} - config-files: crewmeister-app/values.yaml + config-files: helm/crewmeister-app/values.yaml chart-path: helm/crewmeister-app namespace: default create-namespace: true From a10c77b36d6186357ed878b5fd03133d9fe9eb63 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Wed, 12 Mar 2025 20:28:15 +0100 Subject: [PATCH 071/126] verify ARN identity --- .github/workflows/crewmeister-ci.yml | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 560ef9f..1ea0ab3 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -68,9 +68,22 @@ jobs: updatek8s: runs-on: ubuntu-latest needs: docker - # if: github.event_name == 'pull_request' && github.base_ref == 'main' + # if: github.event_name == 'pull_request' && github.base_ref == 'main' steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-west-2 + + - name: Verify AWS Identity + run: aws sts get-caller-identity + - name: Deploy Helm uses: bitovi/github-actions-deploy-eks-helm@v1.2.12 with: @@ -83,4 +96,4 @@ jobs: chart-path: helm/crewmeister-app namespace: default create-namespace: true - name: crewmeister-app + name: crewmeister-app \ No newline at end of file From abff8353c8086674bcd3f4675a98df6ea950f12d Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Wed, 12 Mar 2025 21:02:36 +0100 Subject: [PATCH 072/126] readme --- .DS_Store | Bin 6148 -> 8196 bytes Solution_README.md | 4 ++-- .../Pasted Graphic 1.png | Bin .../Pasted Graphic 2.png | Bin .../Pasted Graphic.png | Bin image-1.png => snapshots/image-1.png | Bin image-2.png => snapshots/image-2.png | Bin image-3.png => snapshots/image-3.png | Bin image.png => snapshots/image.png | Bin 9 files changed, 2 insertions(+), 2 deletions(-) rename Pasted Graphic 1.png => snapshots/Pasted Graphic 1.png (100%) rename Pasted Graphic 2.png => snapshots/Pasted Graphic 2.png (100%) rename Pasted Graphic.png => snapshots/Pasted Graphic.png (100%) rename image-1.png => snapshots/image-1.png (100%) rename image-2.png => snapshots/image-2.png (100%) rename image-3.png => snapshots/image-3.png (100%) rename image.png => snapshots/image.png (100%) diff --git a/.DS_Store b/.DS_Store index 1360fcebc313f0a7e0a24e210392171cdcbf2fc4..b6c26d1ab1bf792c91eec24c9811059a76fc8f56 100644 GIT binary patch delta 559 zcmZoMXmOBWU|?W$DortDU;r^WfEYvza8E20o2aMAD7Z0TH}hr%jz7$c**Q2SHn1=X zZsuV*&8R5Akin43ki(G6pv#cVPy}R`1KFtznGD4YB|y4p@+;Qk^#oO=6es5-<>%)B z?PMURxGcCRFDE}Q9jKNOtUidrmBEq0g~1m{$1?;o_yKtVK-z=BpCN=HIBD{0)_M*@ zOG6z6VNx=bvJ-E% delta 105 zcmZp1XfcprU|?W$DortDU=RQ@Ie-{Mvv5r;6q~50$jGrVU^g=($7UXZ(~O&WL=Bi0 rvvY6=G6R(WfdDs(44dP5<}d>QZHN!d diff --git a/Solution_README.md b/Solution_README.md index 7b0a1ce..0fff80e 100644 --- a/Solution_README.md +++ b/Solution_README.md @@ -41,7 +41,7 @@ Achived statefile Locking using DynamoDB. ### Directory Structure -![alt text](image-1.png) +![alt text](snapshots/image-1.png) --- @@ -54,7 +54,7 @@ The helm chart is organised in to basic structuere of helm chart. ### Directory Structure -![alt text](image.png) +![alt text](snapshots/image.png) ### Deployed successfully in the EKS cluster Attached few screenshot of the output where the application is deployed successfully in the EKS cluster. diff --git a/Pasted Graphic 1.png b/snapshots/Pasted Graphic 1.png similarity index 100% rename from Pasted Graphic 1.png rename to snapshots/Pasted Graphic 1.png diff --git a/Pasted Graphic 2.png b/snapshots/Pasted Graphic 2.png similarity index 100% rename from Pasted Graphic 2.png rename to snapshots/Pasted Graphic 2.png diff --git a/Pasted Graphic.png b/snapshots/Pasted Graphic.png similarity index 100% rename from Pasted Graphic.png rename to snapshots/Pasted Graphic.png diff --git a/image-1.png b/snapshots/image-1.png similarity index 100% rename from image-1.png rename to snapshots/image-1.png diff --git a/image-2.png b/snapshots/image-2.png similarity index 100% rename from image-2.png rename to snapshots/image-2.png diff --git a/image-3.png b/snapshots/image-3.png similarity index 100% rename from image-3.png rename to snapshots/image-3.png diff --git a/image.png b/snapshots/image.png similarity index 100% rename from image.png rename to snapshots/image.png From b786cf8cfb912d4a46e15e4cdc6187d8792c1cb3 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Wed, 12 Mar 2025 21:05:57 +0100 Subject: [PATCH 073/126] readme update --- Solution_README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Solution_README.md b/Solution_README.md index 0fff80e..8569f0e 100644 --- a/Solution_README.md +++ b/Solution_README.md @@ -69,9 +69,9 @@ Attached few screenshot of the output where the application is deployed successf ### Deployed successfully in the EKS cluster Attached few screenshot of the output where the application is deployed successfully in the EKS cluster. -![alt text]() -![alt text]() -![alt text]() +![alt text]() +![alt text]() +![alt text]() --- @@ -95,8 +95,8 @@ The following secrets need to be set up in your GitHub repository for the workfl - `AWS_ROLE_ARN`: Your AWS roles ARN ### Reference Image -![alt text](image-2.png) -![alt text](image-3.png) +![alt text](snapshots/image-2.png) +![alt text](snapshots/image-3.png) --- Note: The project can be improved in terms of security, monitoring, efficiency, scalability, and reliability. However, due to time constraints, it is currently limited to this version. From 31590d285dc386f6431b08830531fc2969d6e0bd Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Wed, 12 Mar 2025 21:09:30 +0100 Subject: [PATCH 074/126] Readme changes --- Solution_README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Solution_README.md b/Solution_README.md index 8569f0e..6c5f61b 100644 --- a/Solution_README.md +++ b/Solution_README.md @@ -37,7 +37,7 @@ The Terraform configuration is located in the `terraform` folder and is used to The Terraform configuration follows a modular strategy to promote reusability and maintainability. Backed strategy to manage the state of the infrastructure. S3 bucket and DynamoDB is used to store the state of the infrastructure. -Achived statefile Locking using DynamoDB. +achived statefile Locking using DynamoDB. ### Directory Structure @@ -58,9 +58,9 @@ The helm chart is organised in to basic structuere of helm chart. ### Deployed successfully in the EKS cluster Attached few screenshot of the output where the application is deployed successfully in the EKS cluster. -![alt text]() -![alt text]() -![alt text]() +![alt text]() +![alt text]() +![alt text]() ### Directory Structure From f5d95583c785b4fd5de6d1c423287533001d9d10 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Fri, 14 Mar 2025 20:52:44 +0100 Subject: [PATCH 075/126] Create IAM role for GithubActions - Terraform --- .DS_Store | Bin 8196 -> 10244 bytes Terraform/modules/eks/main.tf | 47 ++++++++++++++++++++++++++++++- Terraform/modules/eks/outputs.tf | 4 +++ 3 files changed, 50 insertions(+), 1 deletion(-) diff --git a/.DS_Store b/.DS_Store index b6c26d1ab1bf792c91eec24c9811059a76fc8f56..eca4e4d766c005706e41c1c4850a6f7abb24c9bf 100644 GIT binary patch literal 10244 zcmeHMU2GIp6h3EL=nUm&S_%|~wX3D1l!g8QwScf~mr9ZUZRrnancbPT6J}?Ynb|E! zAWhV00EzMEQ4N~-U<}bj6QY5{gcvc=2WW^!AB+$BV#13L{=}bi=gu~?T>=J3d6?PE zJ@=e@&YgSD{mz{^cL4y~vuYzi1ONoO8I|TzQQ%_j?4EXoe91zhNcI34*sumtU_pAC zb|45m5O^T)K;VJE1Azw~1`p6Xn_WUFr$HHbAn-uofe8<={UJg(qcNY3aq4XyRCp-> z(P9#N7u6{b@N6PJjrnwpQ_qz8K^b@;@W6Bru-v^IRLa;>aAZ>co*|h-lC^N0vUwxpCU<5X*CzcY=8T{kQG14@{ER>aowSBMZiKW9`Z2pj~HpwI!$Av3;k^#=5c^7COHZCn*Qn_@QEKk+W_tKY5>PNG>dt9m(1pbUF`B72&L^!0<1a?^} z>rwSuy-KFYWPYj7nt;U?USTW~AJaTo5! zy|@n#;2<8xB&JYD8y(DI4o~5W_!6GMv-k$Sg>U0|d7+jz8l~ z`~&~Qze2^KS)r1U5Rya7Lp7ngP&1!JDF3!NIC)l~IPryJ$A1rojuwiYaOacTyJjSI zzMIRUrL25m#iB>5Yu7Yw*c6)p6o+6Qb+@9~1Mno+djR%Ud@AyISc%~tLb!J9cF`r3 zFf0q>OuH%~hNW2)1Dst^L+otAKWA6fg~L*a!j7|R>%*c{L_sBbw#{|KqR+HEE{aky zg%@wz`~>;SgGQlz{6JbWhQ2s{7ZMw!xW{{O$v zPYt>YJP>%`Ve$YL#}n~(8d3f;dg|cVS$l-;!*sKY>5XyfnNZ;!#}oCAM>t7#;IpcI-WUEewzQl{|tEOj#pAO=?k zM+O%LUmzXN5X|5QuP3M~ zH$TNCDJMS(Xe>w9b4?xogU1|!Y=Zg+4R06$ZTLdu diff --git a/Terraform/modules/eks/main.tf b/Terraform/modules/eks/main.tf index bdfc5fe..e45ecc5 100644 --- a/Terraform/modules/eks/main.tf +++ b/Terraform/modules/eks/main.tf @@ -69,4 +69,49 @@ scaling_config { depends_on = [ aws_iam_role_policy_attachment.node_policy ] -} \ No newline at end of file +} +resource "aws_iam_openid_connect_provider" "github" { + url = "https://token.actions.githubusercontent.com" + client_id_list = ["sts.amazonaws.com"] + + # Use a dummy thumbprint; it will be ignored after import + thumbprint_list = ["ffffffffffffffffffffffffffffffffffffffff"] + + # Prevent Terraform from modifying the thumbprint since AWS manages it automatically + lifecycle { + ignore_changes = [thumbprint_list] + } +} + +resource "aws_iam_role" "github_actions" { + name = "GitHubActions-EKS-Deploy" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Effect = "Allow" + Principal = { + Federated = aws_iam_openid_connect_provider.github.arn + } + Action = "sts:AssumeRoleWithWebIdentity" + Condition = { + StringLike = { + "token.actions.githubusercontent.com:sub" = "repo:sugesh-cloudops/devops-coding-challenge:ref:refs/heads/feature/branch" + } + } + }] + }) +} + +resource "aws_iam_role_policy_attachment" "github_actions_eks" { + policy_arn = "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy" + role = aws_iam_role.github_actions.name +} + +resource "aws_iam_role_policy_attachment" "github_actions_ecr" { + policy_arn = "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryFullAccess" + role = aws_iam_role.github_actions.name +} + + + diff --git a/Terraform/modules/eks/outputs.tf b/Terraform/modules/eks/outputs.tf index 9a42906..7a4d727 100644 --- a/Terraform/modules/eks/outputs.tf +++ b/Terraform/modules/eks/outputs.tf @@ -5,4 +5,8 @@ output "cluster_endpoint" { output "cluster_name" { description = "EKS cluster name" value = aws_eks_cluster.main.name +} +output "github_actions_role_arn" { + description = "ARN of the IAM role for GitHub Actions" + value = aws_iam_role.github_actions.arn } \ No newline at end of file From ee6a0301a22eab338f4dd122ffddae224baefc31 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Fri, 14 Mar 2025 21:19:20 +0100 Subject: [PATCH 076/126] Update IAM role to allow access to the GitHub Actions workflow file --- .github/workflows/crewmeister-ci.yml | 17 ++++++++-------- Terraform/modules/eks/main.tf | 30 ++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 9 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 1ea0ab3..26dd2ed 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -68,28 +68,27 @@ jobs: updatek8s: runs-on: ubuntu-latest needs: docker - # if: github.event_name == 'pull_request' && github.base_ref == 'main' steps: - name: Checkout code uses: actions/checkout@v2 - - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v1 + - name: Configure AWS Credentials (OIDC) + uses: aws-actions/configure-aws-credentials@v2 with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: us-west-2 + role-to-assume: ${{ secrets.AWS_ROLE_ARN }} + aws-region: ${{ secrets.AWS_REGION }} - name: Verify AWS Identity run: aws sts get-caller-identity + - name: Update Kubeconfig + run: aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} + - name: Deploy Helm uses: bitovi/github-actions-deploy-eks-helm@v1.2.12 with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: us-west-2 + aws-region: ${{ secrets.AWS_REGION }} cluster-name: Crewmeister-cluster cluster-role-arn: ${{ secrets.AWS_ROLE_ARN }} config-files: helm/crewmeister-app/values.yaml diff --git a/Terraform/modules/eks/main.tf b/Terraform/modules/eks/main.tf index e45ecc5..61d91c5 100644 --- a/Terraform/modules/eks/main.tf +++ b/Terraform/modules/eks/main.tf @@ -114,4 +114,34 @@ resource "aws_iam_role_policy_attachment" "github_actions_ecr" { } +resource "aws_iam_policy" "github_eks_access" { + name = "GitHubEKSAccessPolicy" + description = "Allow GitHub Actions to assume the EKS role" + policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Effect = "Allow" + Action = "sts:AssumeRole" + Resource = "arn:aws:iam::535002870929:role/GitHubActions-EKS-Deploy" + }, + { + Effect = "Allow" + Action = [ + "eks:DescribeCluster", + "eks:ListClusters", + "eks:AccessKubernetesApi", + "eks:DescribeNodegroup", + "eks:ListNodegroups" + ] + Resource = "*" + } + ] + }) +} + +resource "aws_iam_role_policy_attachment" "github_eks_attach" { + policy_arn = aws_iam_policy.github_eks_access.arn + role = aws_iam_role.github_actions.name +} From 30ca0fb87f134c15c8bd754f8fa3f60fa7cb2f2e Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Fri, 14 Mar 2025 21:41:41 +0100 Subject: [PATCH 077/126] enable debug mode --- .github/workflows/crewmeister-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 26dd2ed..e1ebe63 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -73,6 +73,9 @@ jobs: - name: Checkout code uses: actions/checkout@v2 + - name: Enable Debug Logging + run: echo "ACTIONS_STEP_DEBUG=true" >> $GITHUB_ENV + - name: Configure AWS Credentials (OIDC) uses: aws-actions/configure-aws-credentials@v2 with: From 3cbaa73a0eca80ab52959bf2341a8ab383419f2f Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Fri, 14 Mar 2025 22:06:45 +0100 Subject: [PATCH 078/126] update CI --- .github/workflows/crewmeister-ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index e1ebe63..2354462 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -74,17 +74,17 @@ jobs: uses: actions/checkout@v2 - name: Enable Debug Logging - run: echo "ACTIONS_STEP_DEBUG=true" >> $GITHUB_ENV - + run: env | grep AWS + + - name: Verify AWS Identity + run: aws sts get-caller-identity + - name: Configure AWS Credentials (OIDC) uses: aws-actions/configure-aws-credentials@v2 with: role-to-assume: ${{ secrets.AWS_ROLE_ARN }} aws-region: ${{ secrets.AWS_REGION }} - - name: Verify AWS Identity - run: aws sts get-caller-identity - - name: Update Kubeconfig run: aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} From 5f568ad4d3b3311e96c35eefa68969ba03524330 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Fri, 14 Mar 2025 22:11:57 +0100 Subject: [PATCH 079/126] Update crewmeister-ci.yml | remove debug --- .github/workflows/crewmeister-ci.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 2354462..45cac75 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -73,9 +73,6 @@ jobs: - name: Checkout code uses: actions/checkout@v2 - - name: Enable Debug Logging - run: env | grep AWS - - name: Verify AWS Identity run: aws sts get-caller-identity @@ -98,4 +95,4 @@ jobs: chart-path: helm/crewmeister-app namespace: default create-namespace: true - name: crewmeister-app \ No newline at end of file + name: crewmeister-app From ba459b576e5ef970a3c51ca8e0ec963f8b13be7c Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Fri, 14 Mar 2025 22:26:56 +0100 Subject: [PATCH 080/126] Update crewmeister-ci.yml Rerun --- .github/workflows/crewmeister-ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 45cac75..9b3a2e9 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -73,8 +73,7 @@ jobs: - name: Checkout code uses: actions/checkout@v2 - - name: Verify AWS Identity - run: aws sts get-caller-identity + - name: Configure AWS Credentials (OIDC) uses: aws-actions/configure-aws-credentials@v2 @@ -82,6 +81,9 @@ jobs: role-to-assume: ${{ secrets.AWS_ROLE_ARN }} aws-region: ${{ secrets.AWS_REGION }} + - name: Verify AWS Identity + run: aws sts get-caller-identity + - name: Update Kubeconfig run: aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} From 390499ff1b66ef2f7cdce2e535bfe5d5ee2d8a7e Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Fri, 14 Mar 2025 22:39:04 +0100 Subject: [PATCH 081/126] update ci --- .github/workflows/crewmeister-ci.yml | 30 ++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 9b3a2e9..4aaebc9 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -68,33 +68,55 @@ jobs: updatek8s: runs-on: ubuntu-latest needs: docker + if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/feature/') steps: - name: Checkout code uses: actions/checkout@v2 - + # 🛠️ Debug Step: List all environment variables to check AWS credentials + - name: Debug GitHub Actions Environment Variables + run: env | sort + + # 🛠️ Debug Step: Show GitHub Actions Context + - name: Check GitHub Actions Context + run: echo "$GITHUB_CONTEXT" + env: + GITHUB_CONTEXT: ${{ toJson(github) }} + # 🔑 Configure AWS Credentials Using OIDC (No Access Keys Needed) - name: Configure AWS Credentials (OIDC) uses: aws-actions/configure-aws-credentials@v2 with: role-to-assume: ${{ secrets.AWS_ROLE_ARN }} aws-region: ${{ secrets.AWS_REGION }} + audience: sts.amazonaws.com + # 🛠️ Debug Step: Verify AWS Identity - name: Verify AWS Identity run: aws sts get-caller-identity - - name: Update Kubeconfig + # 🛠️ Debug Step: Check if EKS Cluster is Reachable + - name: Describe EKS Cluster + run: aws eks describe-cluster --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} + + # 🛠️ Debug Step: Update kubeconfig to ensure kubectl can communicate with EKS + - name: Update kubeconfig run: aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} + # 🛠️ Debug Step: Verify Kubernetes Node Status + - name: Verify Kubernetes Access + run: kubectl get nodes + + # 🚀 Deploy the application using Helm - name: Deploy Helm uses: bitovi/github-actions-deploy-eks-helm@v1.2.12 with: aws-region: ${{ secrets.AWS_REGION }} - cluster-name: Crewmeister-cluster + cluster-name: ${{ secrets.EKS_CLUSTER_NAME }} cluster-role-arn: ${{ secrets.AWS_ROLE_ARN }} config-files: helm/crewmeister-app/values.yaml chart-path: helm/crewmeister-app namespace: default create-namespace: true - name: crewmeister-app + name: crewmeister-app \ No newline at end of file From 1eec27052a4f7ddab948bba5d13badef4cdf1972 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Fri, 14 Mar 2025 22:56:41 +0100 Subject: [PATCH 082/126] Update crewmeister-ci.yml ARN debug --- .github/workflows/crewmeister-ci.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 4aaebc9..e011423 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -84,6 +84,9 @@ jobs: env: GITHUB_CONTEXT: ${{ toJson(github) }} + - name: Debug AWS_ROLE_ARN + run: echo "AWS_ROLE_ARN=${{ secrets.AWS_ROLE_ARN }}" + # 🔑 Configure AWS Credentials Using OIDC (No Access Keys Needed) - name: Configure AWS Credentials (OIDC) uses: aws-actions/configure-aws-credentials@v2 @@ -119,4 +122,4 @@ jobs: chart-path: helm/crewmeister-app namespace: default create-namespace: true - name: crewmeister-app \ No newline at end of file + name: crewmeister-app From e8dd22650443fe0324f67e247226b3bd294b13ea Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:10:29 +0100 Subject: [PATCH 083/126] Update crewmeister-ci.yml | Analyze token --- .github/workflows/crewmeister-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index e011423..531b191 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -74,6 +74,9 @@ jobs: - name: Checkout code uses: actions/checkout@v2 + - name: Get GitHub Token + run: echo "$ACTIONS_ID_TOKEN_REQUEST_URL" + # 🛠️ Debug Step: List all environment variables to check AWS credentials - name: Debug GitHub Actions Environment Variables run: env | sort From 6a1ea5e2fe0a5ea6e5e2331fcee3eed77dd7ded4 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:22:59 +0100 Subject: [PATCH 084/126] Update crewmeister-ci.yml | debug --- .github/workflows/crewmeister-ci.yml | 97 +++++++++++----------------- 1 file changed, 39 insertions(+), 58 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 531b191..4f1e018 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -10,85 +10,65 @@ on: - main jobs: - build: + build: runs-on: ubuntu-latest - steps: - name: Checkout code uses: actions/checkout@v2 - - name: Set up JDK 17 uses: actions/setup-java@v2 with: java-version: '17' distribution: 'temurin' - - name: Build with Maven run: mvn clean install -DskipTests - code-quality: - runs-on: ubuntu-latest - needs: build - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Set up JDK 17 - uses: actions/setup-java@v2 - with: - java-version: '17' - distribution: 'temurin' - - - name: Run Code Quality Checks - run: mvn verify - - docker: - runs-on: ubuntu-latest - needs: build - if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/feature/') - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - - name: Log in to Docker Hub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Build and Push Docker Image - run: | - docker buildx build --platform linux/amd64,linux/arm64 -t ${{ secrets.DOCKER_USERNAME }}/devops-coding-challenge:latest --push . + # code-quality: + # runs-on: ubuntu-latest + # needs: build + # steps: + # - name: Checkout code + # uses: actions/checkout@v2 + # - name: Set up JDK 17 + # uses: actions/setup-java@v2 + # with: + # java-version: '17' + # distribution: 'temurin' + # - name: Run Code Quality Checks + # run: mvn verify + + # docker: + # runs-on: ubuntu-latest + # needs: build + # if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/feature/') + # steps: + # - name: Checkout code + # uses: actions/checkout@v2 + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v1 + # - name: Log in to Docker Hub + # uses: docker/login-action@v1 + # with: + # username: ${{ secrets.DOCKER_USERNAME }} + # password: ${{ secrets.DOCKER_PASSWORD }} + # - name: Build and Push Docker Image + # run: | + # docker buildx build --platform linux/amd64,linux/arm64 -t ${{ secrets.DOCKER_USERNAME }}/devops-coding-challenge:latest --push . updatek8s: runs-on: ubuntu-latest - needs: docker + # needs: docker # Commented out so this runs independently if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/feature/') steps: - name: Checkout code uses: actions/checkout@v2 - - name: Get GitHub Token - run: echo "$ACTIONS_ID_TOKEN_REQUEST_URL" - - # 🛠️ Debug Step: List all environment variables to check AWS credentials - - name: Debug GitHub Actions Environment Variables - run: env | sort - - # 🛠️ Debug Step: Show GitHub Actions Context - - name: Check GitHub Actions Context - run: echo "$GITHUB_CONTEXT" - env: - GITHUB_CONTEXT: ${{ toJson(github) }} - - - name: Debug AWS_ROLE_ARN - run: echo "AWS_ROLE_ARN=${{ secrets.AWS_ROLE_ARN }}" + # 🛠️ Debug GitHub Actions OIDC Token Request + - name: Debug GitHub OIDC Token Request + run: | + echo "OIDC Token URL: $ACTIONS_ID_TOKEN_REQUEST_URL" + echo "OIDC Token Request: $ACTIONS_ID_TOKEN_REQUEST_TOKEN" # 🔑 Configure AWS Credentials Using OIDC (No Access Keys Needed) - name: Configure AWS Credentials (OIDC) @@ -97,6 +77,7 @@ jobs: role-to-assume: ${{ secrets.AWS_ROLE_ARN }} aws-region: ${{ secrets.AWS_REGION }} audience: sts.amazonaws.com + use-node-id-token: true # Forces OIDC token request # 🛠️ Debug Step: Verify AWS Identity - name: Verify AWS Identity From f16197bea20154b0f8e56691697c899d2a3dbaaf Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:25:31 +0100 Subject: [PATCH 085/126] Update crewmeister-ci.yml | debug --- .github/workflows/crewmeister-ci.yml | 38 +++++++++++++++++++++------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 4f1e018..759b14b 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -10,19 +10,22 @@ on: - main jobs: - build: + build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 + - name: Set up JDK 17 uses: actions/setup-java@v2 with: java-version: '17' distribution: 'temurin' + - name: Build with Maven run: mvn clean install -DskipTests + # Uncomment below jobs when needed # code-quality: # runs-on: ubuntu-latest # needs: build @@ -64,38 +67,55 @@ jobs: - name: Checkout code uses: actions/checkout@v2 - # 🛠️ Debug GitHub Actions OIDC Token Request + + - name: Install AWS CLI + run: | + sudo apt-get update -y + sudo apt-get install -y awscli + + - name: Debug GitHub OIDC Token Request run: | echo "OIDC Token URL: $ACTIONS_ID_TOKEN_REQUEST_URL" echo "OIDC Token Request: $ACTIONS_ID_TOKEN_REQUEST_TOKEN" - # 🔑 Configure AWS Credentials Using OIDC (No Access Keys Needed) + - name: Configure AWS Credentials (OIDC) uses: aws-actions/configure-aws-credentials@v2 with: role-to-assume: ${{ secrets.AWS_ROLE_ARN }} aws-region: ${{ secrets.AWS_REGION }} audience: sts.amazonaws.com - use-node-id-token: true # Forces OIDC token request - # 🛠️ Debug Step: Verify AWS Identity + - name: Verify AWS Identity run: aws sts get-caller-identity - # 🛠️ Debug Step: Check if EKS Cluster is Reachable + + - name: Install kubectl + run: | + curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" + chmod +x kubectl + sudo mv kubectl /usr/local/bin/ + + + - name: Install Helm + run: | + curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash + + # Debug Step: Check if EKS Cluster is Reachable - name: Describe EKS Cluster run: aws eks describe-cluster --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} - # 🛠️ Debug Step: Update kubeconfig to ensure kubectl can communicate with EKS + # Debug Step: Update kubeconfig to ensure kubectl can communicate with EKS - name: Update kubeconfig run: aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} - # 🛠️ Debug Step: Verify Kubernetes Node Status + # Debug Step: Verify Kubernetes Node Status - name: Verify Kubernetes Access run: kubectl get nodes - # 🚀 Deploy the application using Helm + # Deploy the application using Helm - name: Deploy Helm uses: bitovi/github-actions-deploy-eks-helm@v1.2.12 with: From 76cb389c61c286f165f693194bdbec50d7897684 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:28:52 +0100 Subject: [PATCH 086/126] Update crewmeister-ci.yml | remove cli --- .github/workflows/crewmeister-ci.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 759b14b..2936171 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -67,11 +67,7 @@ jobs: - name: Checkout code uses: actions/checkout@v2 - - - name: Install AWS CLI - run: | - sudo apt-get update -y - sudo apt-get install -y awscli + - name: Debug GitHub OIDC Token Request From 68bfa3d990ac09903884412c1660130d7fec008d Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:32:05 +0100 Subject: [PATCH 087/126] Update crewmeister-ci.yml | Permission --- .github/workflows/crewmeister-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 2936171..2ccba2b 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -8,6 +8,9 @@ on: pull_request: branches: - main +permissions: + id-token: write + contents: read jobs: build: From d4f41f284312f48f22b860c0efbeb2bf4b1a9767 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:36:55 +0100 Subject: [PATCH 088/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 2ccba2b..d2dc7c8 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -110,9 +110,6 @@ jobs: - name: Update kubeconfig run: aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} - # Debug Step: Verify Kubernetes Node Status - - name: Verify Kubernetes Access - run: kubectl get nodes # Deploy the application using Helm - name: Deploy Helm From 27bc40083ef46bafb0dd72f4ab9c4c8691f20183 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:43:10 +0100 Subject: [PATCH 089/126] Update crewmeister-ci.yml | Pass the credentials to helm deployment --- .github/workflows/crewmeister-ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index d2dc7c8..7b5f84c 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -114,6 +114,10 @@ jobs: # Deploy the application using Helm - name: Deploy Helm uses: bitovi/github-actions-deploy-eks-helm@v1.2.12 + env: + AWS_ACCESS_KEY_ID: ${{ steps.aws-creds.outputs.aws-access-key-id }} + AWS_SECRET_ACCESS_KEY: ${{ steps.aws-creds.outputs.aws-secret-access-key }} + AWS_SESSION_TOKEN: ${{ steps.aws-creds.outputs.aws-session-token }} with: aws-region: ${{ secrets.AWS_REGION }} cluster-name: ${{ secrets.EKS_CLUSTER_NAME }} From 2b690ea4a9d686dba4e766925735686a8242983a Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:50:27 +0100 Subject: [PATCH 090/126] Update crewmeister-ci.yml | debug --- .github/workflows/crewmeister-ci.yml | 95 +++++----------------------- 1 file changed, 15 insertions(+), 80 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 7b5f84c..fcbe133 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -8,116 +8,51 @@ on: pull_request: branches: - main + permissions: - id-token: write - contents: read + id-token: write + contents: read jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Set up JDK 17 - uses: actions/setup-java@v2 - with: - java-version: '17' - distribution: 'temurin' - - - name: Build with Maven - run: mvn clean install -DskipTests - - # Uncomment below jobs when needed - # code-quality: - # runs-on: ubuntu-latest - # needs: build - # steps: - # - name: Checkout code - # uses: actions/checkout@v2 - # - name: Set up JDK 17 - # uses: actions/setup-java@v2 - # with: - # java-version: '17' - # distribution: 'temurin' - # - name: Run Code Quality Checks - # run: mvn verify - - # docker: - # runs-on: ubuntu-latest - # needs: build - # if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/feature/') - # steps: - # - name: Checkout code - # uses: actions/checkout@v2 - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v1 - # - name: Log in to Docker Hub - # uses: docker/login-action@v1 - # with: - # username: ${{ secrets.DOCKER_USERNAME }} - # password: ${{ secrets.DOCKER_PASSWORD }} - # - name: Build and Push Docker Image - # run: | - # docker buildx build --platform linux/amd64,linux/arm64 -t ${{ secrets.DOCKER_USERNAME }}/devops-coding-challenge:latest --push . - updatek8s: runs-on: ubuntu-latest - # needs: docker # Commented out so this runs independently if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/feature/') steps: - name: Checkout code uses: actions/checkout@v2 - - - - - name: Debug GitHub OIDC Token Request - run: | - echo "OIDC Token URL: $ACTIONS_ID_TOKEN_REQUEST_URL" - echo "OIDC Token Request: $ACTIONS_ID_TOKEN_REQUEST_TOKEN" - - - name: Configure AWS Credentials (OIDC) + id: aws-creds uses: aws-actions/configure-aws-credentials@v2 with: role-to-assume: ${{ secrets.AWS_ROLE_ARN }} aws-region: ${{ secrets.AWS_REGION }} audience: sts.amazonaws.com - - - name: Verify AWS Identity - run: aws sts get-caller-identity - - - - name: Install kubectl + - name: Debug AWS Credentials run: | - curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" - chmod +x kubectl - sudo mv kubectl /usr/local/bin/ + echo "AWS_ACCESS_KEY_ID=${{ steps.aws-creds.outputs.aws-access-key-id }}" + echo "AWS_SECRET_ACCESS_KEY=${{ steps.aws-creds.outputs.aws-secret-access-key }}" + echo "AWS_SESSION_TOKEN=${{ steps.aws-creds.outputs.aws-session-token }}" - - - name: Install Helm - run: | - curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash - - # Debug Step: Check if EKS Cluster is Reachable - - name: Describe EKS Cluster - run: aws eks describe-cluster --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} + - name: Verify AWS Identity + run: aws sts get-caller-identity - # Debug Step: Update kubeconfig to ensure kubectl can communicate with EKS - name: Update kubeconfig - run: aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} + run: | + aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} --role-arn ${{ secrets.AWS_ROLE_ARN }} + - name: Verify Kubernetes Access + run: kubectl get nodes - # Deploy the application using Helm - name: Deploy Helm uses: bitovi/github-actions-deploy-eks-helm@v1.2.12 env: AWS_ACCESS_KEY_ID: ${{ steps.aws-creds.outputs.aws-access-key-id }} AWS_SECRET_ACCESS_KEY: ${{ steps.aws-creds.outputs.aws-secret-access-key }} AWS_SESSION_TOKEN: ${{ steps.aws-creds.outputs.aws-session-token }} + AWS_REGION: ${{ secrets.AWS_REGION }} with: aws-region: ${{ secrets.AWS_REGION }} cluster-name: ${{ secrets.EKS_CLUSTER_NAME }} From f76fb862a69d95988f7e2116381446263f2de1b4 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:51:29 +0100 Subject: [PATCH 091/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index fcbe133..54052ba 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -43,9 +43,6 @@ jobs: run: | aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} --role-arn ${{ secrets.AWS_ROLE_ARN }} - - name: Verify Kubernetes Access - run: kubectl get nodes - - name: Deploy Helm uses: bitovi/github-actions-deploy-eks-helm@v1.2.12 env: From 3257520c6cbde5afcb5792f2cd2541f8c7cc182d Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:58:36 +0100 Subject: [PATCH 092/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 54052ba..2157f5c 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -43,13 +43,15 @@ jobs: run: | aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} --role-arn ${{ secrets.AWS_ROLE_ARN }} + - name: Debug AWS Credentials Before Helm + run: | + echo "AWS_ACCESS_KEY_ID=${{ steps.aws-creds.outputs.aws-access-key-id }}" + echo "AWS_SECRET_ACCESS_KEY=${{ steps.aws-creds.outputs.aws-secret-access-key }}" + echo "AWS_SESSION_TOKEN=${{ steps.aws-creds.outputs.aws-session-token }}" + aws sts get-caller-identity + - name: Deploy Helm uses: bitovi/github-actions-deploy-eks-helm@v1.2.12 - env: - AWS_ACCESS_KEY_ID: ${{ steps.aws-creds.outputs.aws-access-key-id }} - AWS_SECRET_ACCESS_KEY: ${{ steps.aws-creds.outputs.aws-secret-access-key }} - AWS_SESSION_TOKEN: ${{ steps.aws-creds.outputs.aws-session-token }} - AWS_REGION: ${{ secrets.AWS_REGION }} with: aws-region: ${{ secrets.AWS_REGION }} cluster-name: ${{ secrets.EKS_CLUSTER_NAME }} @@ -59,3 +61,9 @@ jobs: namespace: default create-namespace: true name: crewmeister-app + action: install + dry-run: false + update-deps: true + aws-access-key-id: ${{ steps.aws-creds.outputs.aws-access-key-id }} + aws-secret-access-key: ${{ steps.aws-creds.outputs.aws-secret-access-key }} + aws-session-token: ${{ steps.aws-creds.outputs.aws-session-token }} From 4c63b24436dadf7674555f43eff22096afe761f2 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sat, 15 Mar 2025 12:10:15 +0100 Subject: [PATCH 093/126] Update crewmeister-ci.yml | update kubeconfig --- .github/workflows/crewmeister-ci.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 2157f5c..431f05a 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -52,6 +52,12 @@ jobs: - name: Deploy Helm uses: bitovi/github-actions-deploy-eks-helm@v1.2.12 + env: + AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY + AWS_SESSION_TOKEN: $AWS_SESSION_TOKEN + AWS_REGION: ${{ secrets.AWS_REGION }} + KUBECONFIG: /github/home/.kube/config with: aws-region: ${{ secrets.AWS_REGION }} cluster-name: ${{ secrets.EKS_CLUSTER_NAME }} @@ -64,6 +70,3 @@ jobs: action: install dry-run: false update-deps: true - aws-access-key-id: ${{ steps.aws-creds.outputs.aws-access-key-id }} - aws-secret-access-key: ${{ steps.aws-creds.outputs.aws-secret-access-key }} - aws-session-token: ${{ steps.aws-creds.outputs.aws-session-token }} From 8d94b9c69f5d5260afdc29297f152a0f30effa28 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sat, 15 Mar 2025 12:15:16 +0100 Subject: [PATCH 094/126] Update crewmeister-ci.yml Rerun --- .github/workflows/crewmeister-ci.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 431f05a..54498cf 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -29,6 +29,12 @@ jobs: role-to-assume: ${{ secrets.AWS_ROLE_ARN }} aws-region: ${{ secrets.AWS_REGION }} audience: sts.amazonaws.com + + - name: Manually Export AWS Credentials + run: | + echo "AWS_ACCESS_KEY_ID=${{ steps.aws-creds.outputs.aws-access-key-id }}" >> $GITHUB_ENV + echo "AWS_SECRET_ACCESS_KEY=${{ steps.aws-creds.outputs.aws-secret-access-key }}" >> $GITHUB_ENV + echo "AWS_SESSION_TOKEN=${{ steps.aws-creds.outputs.aws-session-token }}" >> $GITHUB_ENV - name: Debug AWS Credentials run: | @@ -42,12 +48,15 @@ jobs: - name: Update kubeconfig run: | aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} --role-arn ${{ secrets.AWS_ROLE_ARN }} + + - name: Debug Kubernetes Access + run: kubectl get nodes - name: Debug AWS Credentials Before Helm run: | - echo "AWS_ACCESS_KEY_ID=${{ steps.aws-creds.outputs.aws-access-key-id }}" - echo "AWS_SECRET_ACCESS_KEY=${{ steps.aws-creds.outputs.aws-secret-access-key }}" - echo "AWS_SESSION_TOKEN=${{ steps.aws-creds.outputs.aws-session-token }}" + echo "AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID" + echo "AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY" + echo "AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN" aws sts get-caller-identity - name: Deploy Helm From f2afda60c3101cb402912cae23bcb8b33e772a4e Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sat, 15 Mar 2025 12:31:54 +0100 Subject: [PATCH 095/126] Update crewmeister-ci.yml | Fix AWS credentials --- .github/workflows/crewmeister-ci.yml | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 54498cf..3f2a7b0 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -24,26 +24,18 @@ jobs: - name: Configure AWS Credentials (OIDC) id: aws-creds - uses: aws-actions/configure-aws-credentials@v2 + uses: aws-actions/configure-aws-credentials@v3 with: role-to-assume: ${{ secrets.AWS_ROLE_ARN }} aws-region: ${{ secrets.AWS_REGION }} audience: sts.amazonaws.com - - - name: Manually Export AWS Credentials - run: | - echo "AWS_ACCESS_KEY_ID=${{ steps.aws-creds.outputs.aws-access-key-id }}" >> $GITHUB_ENV - echo "AWS_SECRET_ACCESS_KEY=${{ steps.aws-creds.outputs.aws-secret-access-key }}" >> $GITHUB_ENV - echo "AWS_SESSION_TOKEN=${{ steps.aws-creds.outputs.aws-session-token }}" >> $GITHUB_ENV - name: Debug AWS Credentials run: | echo "AWS_ACCESS_KEY_ID=${{ steps.aws-creds.outputs.aws-access-key-id }}" echo "AWS_SECRET_ACCESS_KEY=${{ steps.aws-creds.outputs.aws-secret-access-key }}" echo "AWS_SESSION_TOKEN=${{ steps.aws-creds.outputs.aws-session-token }}" - - - name: Verify AWS Identity - run: aws sts get-caller-identity + aws sts get-caller-identity - name: Update kubeconfig run: | @@ -52,7 +44,7 @@ jobs: - name: Debug Kubernetes Access run: kubectl get nodes - - name: Debug AWS Credentials Before Helm + - name: Verify AWS Credentials Before Helm run: | echo "AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID" echo "AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY" @@ -62,11 +54,10 @@ jobs: - name: Deploy Helm uses: bitovi/github-actions-deploy-eks-helm@v1.2.12 env: - AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID - AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY - AWS_SESSION_TOKEN: $AWS_SESSION_TOKEN + AWS_ACCESS_KEY_ID: ${{ steps.aws-creds.outputs.aws-access-key-id }} + AWS_SECRET_ACCESS_KEY: ${{ steps.aws-creds.outputs.aws-secret-access-key }} + AWS_SESSION_TOKEN: ${{ steps.aws-creds.outputs.aws-session-token }} AWS_REGION: ${{ secrets.AWS_REGION }} - KUBECONFIG: /github/home/.kube/config with: aws-region: ${{ secrets.AWS_REGION }} cluster-name: ${{ secrets.EKS_CLUSTER_NAME }} From dc9663412a848d9e98534bfef670eacb0e44ab21 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sat, 15 Mar 2025 12:41:12 +0100 Subject: [PATCH 096/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 3f2a7b0..9b284c9 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -39,10 +39,15 @@ jobs: - name: Update kubeconfig run: | - aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} --role-arn ${{ secrets.AWS_ROLE_ARN }} + aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} \ + --region ${{ secrets.AWS_REGION }} \ + --role-arn ${{ secrets.AWS_ROLE_ARN }} \ + --alias github-actions - - name: Debug Kubernetes Access - run: kubectl get nodes + - name: Verify Kubernetes Access + run: | + kubectl config view + kubectl get svc - name: Verify AWS Credentials Before Helm run: | From 7eb020ebad404c97222b1334e92735d770a6a6bc Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sat, 15 Mar 2025 13:07:03 +0100 Subject: [PATCH 097/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 9b284c9..d42111d 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -43,6 +43,11 @@ jobs: --region ${{ secrets.AWS_REGION }} \ --role-arn ${{ secrets.AWS_ROLE_ARN }} \ --alias github-actions + + - name: Verify AWS Auth & Cluster + run: | + aws eks describe-cluster --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} + aws eks get-token --cluster-name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} - name: Verify Kubernetes Access run: | From bebe34777c6a25cc56127d54a6b6dfc8b94552ef Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sat, 15 Mar 2025 13:31:42 +0100 Subject: [PATCH 098/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 79 ++++++++-------------------- 1 file changed, 21 insertions(+), 58 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index d42111d..f0c9c6d 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -1,82 +1,45 @@ name: crewmeister-ci -on: +on: push: branches: - main - feature/* - pull_request: - branches: - - main - -permissions: - id-token: write - contents: read jobs: - updatek8s: + deploy: runs-on: ubuntu-latest - if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/feature/') - steps: - - name: Checkout code - uses: actions/checkout@v2 + - name: Checkout Code + uses: actions/checkout@v3 - name: Configure AWS Credentials (OIDC) - id: aws-creds - uses: aws-actions/configure-aws-credentials@v3 + uses: aws-actions/configure-aws-credentials@v2 with: role-to-assume: ${{ secrets.AWS_ROLE_ARN }} aws-region: ${{ secrets.AWS_REGION }} audience: sts.amazonaws.com - - name: Debug AWS Credentials - run: | - echo "AWS_ACCESS_KEY_ID=${{ steps.aws-creds.outputs.aws-access-key-id }}" - echo "AWS_SECRET_ACCESS_KEY=${{ steps.aws-creds.outputs.aws-secret-access-key }}" - echo "AWS_SESSION_TOKEN=${{ steps.aws-creds.outputs.aws-session-token }}" - aws sts get-caller-identity - - - name: Update kubeconfig + - name: Update kubeconfig for EKS run: | - aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} \ - --region ${{ secrets.AWS_REGION }} \ - --role-arn ${{ secrets.AWS_ROLE_ARN }} \ - --alias github-actions + aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} --role-arn ${{ secrets.AWS_ROLE_ARN }} - - name: Verify AWS Auth & Cluster - run: | - aws eks describe-cluster --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} - aws eks get-token --cluster-name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} - - name: Verify Kubernetes Access + run: kubectl get nodes + + - name: Install Helm run: | - kubectl config view - kubectl get svc + curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash - - name: Verify AWS Credentials Before Helm + - name: Deploy Helm Chart run: | - echo "AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID" - echo "AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY" - echo "AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN" - aws sts get-caller-identity + helm upgrade --install crewmeister-app helm/crewmeister-app \ + --namespace default \ + --create-namespace \ + --values helm/crewmeister-app/values.yaml \ + --wait - - name: Deploy Helm - uses: bitovi/github-actions-deploy-eks-helm@v1.2.12 - env: - AWS_ACCESS_KEY_ID: ${{ steps.aws-creds.outputs.aws-access-key-id }} - AWS_SECRET_ACCESS_KEY: ${{ steps.aws-creds.outputs.aws-secret-access-key }} - AWS_SESSION_TOKEN: ${{ steps.aws-creds.outputs.aws-session-token }} - AWS_REGION: ${{ secrets.AWS_REGION }} - with: - aws-region: ${{ secrets.AWS_REGION }} - cluster-name: ${{ secrets.EKS_CLUSTER_NAME }} - cluster-role-arn: ${{ secrets.AWS_ROLE_ARN }} - config-files: helm/crewmeister-app/values.yaml - chart-path: helm/crewmeister-app - namespace: default - create-namespace: true - name: crewmeister-app - action: install - dry-run: false - update-deps: true + - name: Verify Helm Deployment + run: | + helm list -n default + kubectl get pods -n default From 82428516d9030e4feec425d71596cc2c88ee5cc5 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sat, 15 Mar 2025 13:34:01 +0100 Subject: [PATCH 099/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index f0c9c6d..13066bb 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -5,6 +5,10 @@ on: branches: - main - feature/* +permissions: + id-token: write + contents: read + jobs: deploy: From b31071d3433d804cb621313ed8842ee848918277 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sat, 15 Mar 2025 13:56:39 +0100 Subject: [PATCH 100/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 13066bb..7474ed1 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -28,20 +28,30 @@ jobs: run: | aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} --role-arn ${{ secrets.AWS_ROLE_ARN }} - - name: Verify Kubernetes Access - run: kubectl get nodes - - - name: Install Helm + - name: Debug Kubernetes Access run: | - curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash - - - name: Deploy Helm Chart + kubectl cluster-info + kubectl get nodes + kubectl get pods -n default + + - name: Verify AWS Identity + run: aws sts get-caller-identity + + - name: Deploy Helm Chart (Debug) run: | helm upgrade --install crewmeister-app helm/crewmeister-app \ --namespace default \ --create-namespace \ --values helm/crewmeister-app/values.yaml \ + --timeout 10m \ + --debug \ --wait + + - name: Debug Kubernetes State + run: | + kubectl get pods -n default -o wide + kubectl describe pods -n default + kubectl get events -n default --sort-by=.metadata.creationTimestamp - name: Verify Helm Deployment run: | From 9a877515ad4231ffbc8173fa460571db09e9a331 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 11:10:36 +0100 Subject: [PATCH 101/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 7474ed1..df4f0ad 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -24,9 +24,19 @@ jobs: aws-region: ${{ secrets.AWS_REGION }} audience: sts.amazonaws.com + - name: Verify AWS Identity + run: aws sts get-caller-identity + + - name: Check IAM Role + run: aws iam get-role --role-name GitHubActions-EKS-Deploy + - name: Update kubeconfig for EKS run: | - aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} --role-arn ${{ secrets.AWS_ROLE_ARN }} + aws eks update-kubeconfig \ + --name ${{ secrets.EKS_CLUSTER_NAME }} \ + --region ${{ secrets.AWS_REGION }} \ + --role-arn ${{ secrets.AWS_ROLE_ARN }} \ + --alias github-actions - name: Debug Kubernetes Access run: | @@ -34,8 +44,7 @@ jobs: kubectl get nodes kubectl get pods -n default - - name: Verify AWS Identity - run: aws sts get-caller-identity + - name: Deploy Helm Chart (Debug) run: | From 152972c68ee04b4b2febd2136be779d4f16301c7 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 11:29:04 +0100 Subject: [PATCH 102/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index df4f0ad..74672dd 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -30,6 +30,9 @@ jobs: - name: Check IAM Role run: aws iam get-role --role-name GitHubActions-EKS-Deploy + - name: verify OIDC providers + run: aws iam list-open-id-connect-providers + - name: Update kubeconfig for EKS run: | aws eks update-kubeconfig \ From 58faed9c063b939aa50e906c2c0d1d92adbd45fd Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 17:10:37 +0100 Subject: [PATCH 103/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 74672dd..5ffef25 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -43,10 +43,10 @@ jobs: - name: Debug Kubernetes Access run: | + aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} --role-arn ${{ secrets.AWS_ROLE_ARN }} --alias github-actions kubectl cluster-info kubectl get nodes kubectl get pods -n default - - name: Deploy Helm Chart (Debug) From ee0e34e2e29ddb7bf408d70d49e0c3553010058c Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 17:16:31 +0100 Subject: [PATCH 104/126] Update crewmeister-ci.yml | verify kubectl --- .github/workflows/crewmeister-ci.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 5ffef25..0da9623 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -41,6 +41,12 @@ jobs: --role-arn ${{ secrets.AWS_ROLE_ARN }} \ --alias github-actions + - name: Verify kubectl Installation + run: | + which kubectl + kubectl version --client + + - name: Debug Kubernetes Access run: | aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} --role-arn ${{ secrets.AWS_ROLE_ARN }} --alias github-actions From 8e5e42642bd4926071d69ad2354d72f5222ac46d Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 17:28:36 +0100 Subject: [PATCH 105/126] Update crewmeister-ci.yml test --- .github/workflows/crewmeister-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 0da9623..df7ddb9 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -30,6 +30,9 @@ jobs: - name: Check IAM Role run: aws iam get-role --role-name GitHubActions-EKS-Deploy + - name: test permission is working + run: aws sts assume-role --role-arn arn:aws:iam::535002870929:role/GitHubActions-EKS-Deploy --role-session-name GitHubActionsTest + - name: verify OIDC providers run: aws iam list-open-id-connect-providers From 2411372bac39ac93c51fb9e48602f022212c7e9b Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 17:30:55 +0100 Subject: [PATCH 106/126] Update crewmeister-ci.yml attach policy --- .github/workflows/crewmeister-ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index df7ddb9..207f778 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -30,6 +30,10 @@ jobs: - name: Check IAM Role run: aws iam get-role --role-name GitHubActions-EKS-Deploy + + - name: attach policy + run: aws iam attach-role-policy --role-name GitHubActions-EKS-Deploy --policy-arn arn:aws:iam::535002870929:policy/GitHubEKSAccessPolicy + - name: test permission is working run: aws sts assume-role --role-arn arn:aws:iam::535002870929:role/GitHubActions-EKS-Deploy --role-session-name GitHubActionsTest From ac96d32fc76342f83db62709dbc29a2963846bfc Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 17:43:56 +0100 Subject: [PATCH 107/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 207f778..e6bfb7b 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -9,7 +9,6 @@ permissions: id-token: write contents: read - jobs: deploy: runs-on: ubuntu-latest @@ -30,14 +29,18 @@ jobs: - name: Check IAM Role run: aws iam get-role --role-name GitHubActions-EKS-Deploy + - name: Attach Necessary Policies + run: | + aws iam attach-role-policy --role-name GitHubActions-EKS-Deploy --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy + aws iam attach-role-policy --role-name GitHubActions-EKS-Deploy --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy + aws iam attach-role-policy --role-name GitHubActions-EKS-Deploy --policy-arn arn:aws:iam::aws:policy/AmazonEKSServicePolicy + aws iam attach-role-policy --role-name GitHubActions-EKS-Deploy --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly + aws iam attach-role-policy --role-name GitHubActions-EKS-Deploy --policy-arn arn:aws:iam::aws:policy/IAMReadOnlyAccess - - name: attach policy - run: aws iam attach-role-policy --role-name GitHubActions-EKS-Deploy --policy-arn arn:aws:iam::535002870929:policy/GitHubEKSAccessPolicy - - - name: test permission is working - run: aws sts assume-role --role-arn arn:aws:iam::535002870929:role/GitHubActions-EKS-Deploy --role-session-name GitHubActionsTest + - name: Test IAM Role Permissions + run: aws sts assume-role --role-arn ${{ secrets.AWS_ROLE_ARN }} --role-session-name GitHubActionsTest - - name: verify OIDC providers + - name: Verify OIDC Providers run: aws iam list-open-id-connect-providers - name: Update kubeconfig for EKS @@ -53,7 +56,6 @@ jobs: which kubectl kubectl version --client - - name: Debug Kubernetes Access run: | aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} --role-arn ${{ secrets.AWS_ROLE_ARN }} --alias github-actions @@ -61,7 +63,6 @@ jobs: kubectl get nodes kubectl get pods -n default - - name: Deploy Helm Chart (Debug) run: | helm upgrade --install crewmeister-app helm/crewmeister-app \ From e21ec8cdb575cb2ea0158c02358ad9e3d121e771 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 18:07:48 +0100 Subject: [PATCH 108/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index e6bfb7b..7bdcad4 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -29,17 +29,6 @@ jobs: - name: Check IAM Role run: aws iam get-role --role-name GitHubActions-EKS-Deploy - - name: Attach Necessary Policies - run: | - aws iam attach-role-policy --role-name GitHubActions-EKS-Deploy --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy - aws iam attach-role-policy --role-name GitHubActions-EKS-Deploy --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy - aws iam attach-role-policy --role-name GitHubActions-EKS-Deploy --policy-arn arn:aws:iam::aws:policy/AmazonEKSServicePolicy - aws iam attach-role-policy --role-name GitHubActions-EKS-Deploy --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly - aws iam attach-role-policy --role-name GitHubActions-EKS-Deploy --policy-arn arn:aws:iam::aws:policy/IAMReadOnlyAccess - - - name: Test IAM Role Permissions - run: aws sts assume-role --role-arn ${{ secrets.AWS_ROLE_ARN }} --role-session-name GitHubActionsTest - - name: Verify OIDC Providers run: aws iam list-open-id-connect-providers From 25e3a82245aac65a42a20f284aa5bd0fadc5c5be Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 18:23:42 +0100 Subject: [PATCH 109/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 7bdcad4..b2e33a6 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -25,6 +25,13 @@ jobs: - name: Verify AWS Identity run: aws sts get-caller-identity + + - name: Debug OIDC Token Retrieval + env: + ACTIONS_ID_TOKEN: ${{ secrets.ACTIONS_ID_TOKEN }} + run: | + curl -H "Authorization: Bearer $ACTIONS_ID_TOKEN" https://token.actions.githubusercontent.com/.well-known/openid-configuration + - name: Check IAM Role run: aws iam get-role --role-name GitHubActions-EKS-Deploy From 9cb85c0201322d5dcb0c97806b3f2e68eec48712 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 18:31:37 +0100 Subject: [PATCH 110/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 105 ++++++++++----------------- 1 file changed, 40 insertions(+), 65 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index b2e33a6..827eb72 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -5,77 +5,52 @@ on: branches: - main - feature/* + permissions: id-token: write contents: read jobs: - deploy: + auth: runs-on: ubuntu-latest + outputs: + aws_access_key_id: ${{ steps.auth.outputs.aws_access_key_id }} + aws_secret_access_key: ${{ steps.auth.outputs.aws_secret_access_key }} + aws_session_token: ${{ steps.auth.outputs.aws_session_token }} steps: - - name: Checkout Code - uses: actions/checkout@v3 - - - name: Configure AWS Credentials (OIDC) - uses: aws-actions/configure-aws-credentials@v2 - with: - role-to-assume: ${{ secrets.AWS_ROLE_ARN }} - aws-region: ${{ secrets.AWS_REGION }} - audience: sts.amazonaws.com - - - name: Verify AWS Identity - run: aws sts get-caller-identity - - - name: Debug OIDC Token Retrieval - env: - ACTIONS_ID_TOKEN: ${{ secrets.ACTIONS_ID_TOKEN }} - run: | - curl -H "Authorization: Bearer $ACTIONS_ID_TOKEN" https://token.actions.githubusercontent.com/.well-known/openid-configuration - - - - name: Check IAM Role - run: aws iam get-role --role-name GitHubActions-EKS-Deploy - - - name: Verify OIDC Providers - run: aws iam list-open-id-connect-providers + - name: Configure AWS Credentials (OIDC) + id: auth + uses: aws-actions/configure-aws-credentials@v2 + with: + role-to-assume: ${{ secrets.AWS_ROLE_ARN }} + aws-region: ${{ secrets.AWS_REGION }} + audience: sts.amazonaws.com - - name: Update kubeconfig for EKS - run: | - aws eks update-kubeconfig \ - --name ${{ secrets.EKS_CLUSTER_NAME }} \ - --region ${{ secrets.AWS_REGION }} \ - --role-arn ${{ secrets.AWS_ROLE_ARN }} \ - --alias github-actions + - name: Verify AWS Identity + run: aws sts get-caller-identity - - name: Verify kubectl Installation - run: | - which kubectl - kubectl version --client - - - name: Debug Kubernetes Access - run: | - aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} --role-arn ${{ secrets.AWS_ROLE_ARN }} --alias github-actions - kubectl cluster-info - kubectl get nodes - kubectl get pods -n default - - - name: Deploy Helm Chart (Debug) - run: | - helm upgrade --install crewmeister-app helm/crewmeister-app \ - --namespace default \ - --create-namespace \ - --values helm/crewmeister-app/values.yaml \ - --timeout 10m \ - --debug \ - --wait - - - name: Debug Kubernetes State - run: | - kubectl get pods -n default -o wide - kubectl describe pods -n default - kubectl get events -n default --sort-by=.metadata.creationTimestamp - - - name: Verify Helm Deployment - run: | - helm list -n default - kubectl get pods -n default + deploy: + runs-on: ubuntu-latest + needs: auth # Depend on authentication job + env: + AWS_ACCESS_KEY_ID: ${{ needs.auth.outputs.aws_access_key_id }} + AWS_SECRET_ACCESS_KEY: ${{ needs.auth.outputs.aws_secret_access_key }} + AWS_SESSION_TOKEN: ${{ needs.auth.outputs.aws_session_token }} + steps: + - name: Checkout Code + uses: actions/checkout@v3 + + - name: Use AWS Credentials in Other Jobs + run: | + aws sts get-caller-identity + aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} --role-arn ${{ secrets.AWS_ROLE_ARN }} + + - name: Deploy Helm Chart + run: | + helm upgrade --install crewmeister-app helm/crewmeister-app \ + --namespace default \ + --create-namespace \ + --values helm/crewmeister-app/values.yaml \ + --timeout 10m \ + --debug \ + --wait From 96a4c3ee9614fed0f3430e96bf53f16320dc9a37 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 19:08:16 +0100 Subject: [PATCH 111/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 827eb72..8c5786c 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -29,17 +29,6 @@ jobs: - name: Verify AWS Identity run: aws sts get-caller-identity - deploy: - runs-on: ubuntu-latest - needs: auth # Depend on authentication job - env: - AWS_ACCESS_KEY_ID: ${{ needs.auth.outputs.aws_access_key_id }} - AWS_SECRET_ACCESS_KEY: ${{ needs.auth.outputs.aws_secret_access_key }} - AWS_SESSION_TOKEN: ${{ needs.auth.outputs.aws_session_token }} - steps: - - name: Checkout Code - uses: actions/checkout@v3 - - name: Use AWS Credentials in Other Jobs run: | aws sts get-caller-identity From c5727a360f7cc5a8d5f8ad402532c5a78e8eac77 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 19:09:53 +0100 Subject: [PATCH 112/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 8c5786c..6e50924 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -32,7 +32,7 @@ jobs: - name: Use AWS Credentials in Other Jobs run: | aws sts get-caller-identity - aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} --role-arn ${{ secrets.AWS_ROLE_ARN }} + aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} - name: Deploy Helm Chart run: | From b09e1a5c7d3569351a463c567306589852c8c391 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 19:13:27 +0100 Subject: [PATCH 113/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 6e50924..9057b83 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -36,10 +36,5 @@ jobs: - name: Deploy Helm Chart run: | - helm upgrade --install crewmeister-app helm/crewmeister-app \ - --namespace default \ - --create-namespace \ - --values helm/crewmeister-app/values.yaml \ - --timeout 10m \ - --debug \ - --wait + helm install crewmeister-app crewmeister-app + From a0a73969c2609500fbc79fa9337b85bcbd810af7 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 19:17:56 +0100 Subject: [PATCH 114/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 9057b83..778d031 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -34,7 +34,17 @@ jobs: aws sts get-caller-identity aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} - - name: Deploy Helm Chart + - name: Verify Helm Installation run: | - helm install crewmeister-app crewmeister-app + helm version + + - name: Deploy Helm Chart (Debug) + run: | + helm upgrade --install crewmeister-app ./helm/crewmeister-app \ + --namespace default \ + --create-namespace \ + --values ./helm/crewmeister-app/values.yaml \ + --timeout 10m \ + --debug \ + --wait From be20438b8be44dd5013b624b0a445bebb6af190f Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 19:21:54 +0100 Subject: [PATCH 115/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 778d031..74c401c 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -37,6 +37,13 @@ jobs: - name: Verify Helm Installation run: | helm version + + - name: Debug Working Directory + run: pwd && ls -la + + - name: Debug Working Directory + run: pwd && ls -la + - name: Deploy Helm Chart (Debug) run: | From 75e583f22fa89f48e0962c0db2c04d71b1108c10 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 19:23:25 +0100 Subject: [PATCH 116/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 74c401c..5bf26a3 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -41,8 +41,8 @@ jobs: - name: Debug Working Directory run: pwd && ls -la - - name: Debug Working Directory - run: pwd && ls -la + - name: Check Helm Chart Path + run: ls -R helm/ - name: Deploy Helm Chart (Debug) From 6f8430f838370f155959a85c713ea752b022b4f7 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 19:27:45 +0100 Subject: [PATCH 117/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 5bf26a3..09dde83 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -18,6 +18,10 @@ jobs: aws_secret_access_key: ${{ steps.auth.outputs.aws_secret_access_key }} aws_session_token: ${{ steps.auth.outputs.aws_session_token }} steps: + + - name: Checkout Code + uses: actions/checkout@v3 + - name: Configure AWS Credentials (OIDC) id: auth uses: aws-actions/configure-aws-credentials@v2 From 849a086663e2ca271a7cd4f7158152c178dde527 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 19:42:06 +0100 Subject: [PATCH 118/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 09dde83..9bd697c 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -52,10 +52,5 @@ jobs: - name: Deploy Helm Chart (Debug) run: | helm upgrade --install crewmeister-app ./helm/crewmeister-app \ - --namespace default \ - --create-namespace \ - --values ./helm/crewmeister-app/values.yaml \ - --timeout 10m \ - --debug \ - --wait + From 72913240d6541d85321f05df6c3dae44c39e8ddd Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 19:51:49 +0100 Subject: [PATCH 119/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 57 +++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 9bd697c..80fe434 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -11,7 +11,62 @@ permissions: contents: read jobs: - auth: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up JDK 17 + uses: actions/setup-java@v2 + with: + java-version: '17' + distribution: 'temurin' + + - name: Build with Maven + run: mvn clean install -DskipTests + + code-quality: + runs-on: ubuntu-latest + needs: build + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up JDK 17 + uses: actions/setup-java@v2 + with: + java-version: '17' + distribution: 'temurin' + + - name: Run Code Quality Checks + run: mvn verify + + docker: + runs-on: ubuntu-latest + needs: build + if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/feature/') + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Log in to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and Push Docker Image + run: | + docker buildx build --platform linux/amd64,linux/arm64 -t ${{ secrets.DOCKER_USERNAME }}/devops-coding-challenge:latest --push . + + updatek8s: runs-on: ubuntu-latest outputs: aws_access_key_id: ${{ steps.auth.outputs.aws_access_key_id }} From b5916fd9574049a8ff83483fdf51ba71c33470ab Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Sun, 16 Mar 2025 20:02:22 +0100 Subject: [PATCH 120/126] CI, updated with EKS update --- .github/workflows/crewmeister-ci.yml | 109 ++++++++++++++------------- 1 file changed, 57 insertions(+), 52 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 80fe434..a6a1f61 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -13,70 +13,68 @@ permissions: jobs: build: runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v2 + - name: Checkout code + uses: actions/checkout@v3 - - name: Set up JDK 17 - uses: actions/setup-java@v2 - with: - java-version: '17' - distribution: 'temurin' + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' - - name: Build with Maven - run: mvn clean install -DskipTests + - name: Build with Maven + run: mvn clean install -DskipTests code-quality: runs-on: ubuntu-latest - needs: build - steps: - - name: Checkout code - uses: actions/checkout@v2 + - name: Checkout code + uses: actions/checkout@v3 - - name: Set up JDK 17 - uses: actions/setup-java@v2 - with: - java-version: '17' - distribution: 'temurin' + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' - - name: Run Code Quality Checks - run: mvn verify + - name: Run Code Quality Checks + run: mvn verify docker: runs-on: ubuntu-latest - needs: build + needs: build if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/feature/') steps: - - name: Checkout code - uses: actions/checkout@v2 + - name: Checkout code + uses: actions/checkout@v3 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 - - name: Log in to Docker Hub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} + - name: Log in to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} - - name: Build and Push Docker Image - run: | - docker buildx build --platform linux/amd64,linux/arm64 -t ${{ secrets.DOCKER_USERNAME }}/devops-coding-challenge:latest --push . + - name: Build and Push Docker Image + run: | + docker buildx build --platform linux/amd64,linux/arm64 \ + -t ${{ secrets.DOCKER_USERNAME }}/devops-coding-challenge:latest --push . updatek8s: runs-on: ubuntu-latest + needs: docker outputs: aws_access_key_id: ${{ steps.auth.outputs.aws_access_key_id }} aws_secret_access_key: ${{ steps.auth.outputs.aws_secret_access_key }} aws_session_token: ${{ steps.auth.outputs.aws_session_token }} steps: - - name: Checkout Code uses: actions/checkout@v3 - + - name: Configure AWS Credentials (OIDC) id: auth uses: aws-actions/configure-aws-credentials@v2 @@ -88,24 +86,31 @@ jobs: - name: Verify AWS Identity run: aws sts get-caller-identity - - name: Use AWS Credentials in Other Jobs - run: | - aws sts get-caller-identity - aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} + - name: Update kubeconfig for EKS + run: aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} - - name: Verify Helm Installation + - name: Verify Helm Repo & Releases run: | - helm version - - - name: Debug Working Directory - run: pwd && ls -la - - - name: Check Helm Chart Path - run: ls -R helm/ - - + helm repo list + helm ls -n default || true + - name: Deploy Helm Chart (Debug) run: | helm upgrade --install crewmeister-app ./helm/crewmeister-app \ - - + --namespace default \ + --create-namespace \ + --values ./helm/crewmeister-app/values.yaml \ + --timeout 10m \ + --debug \ + --wait + + - name: Debug Kubernetes State + run: | + kubectl get pods -n default -o wide + kubectl describe pods -n default + kubectl get events -n default --sort-by=.metadata.creationTimestamp + + - name: Verify Helm Deployment + run: | + helm list -n default + kubectl get pods -n default \ No newline at end of file From 0deb6eea813f17ea9b403724973dc7d6a2378842 Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 20:07:54 +0100 Subject: [PATCH 121/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index a6a1f61..e630540 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -89,12 +89,7 @@ jobs: - name: Update kubeconfig for EKS run: aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} - - name: Verify Helm Repo & Releases - run: | - helm repo list - helm ls -n default || true - - - name: Deploy Helm Chart (Debug) + - name: Deploy Helm Chart run: | helm upgrade --install crewmeister-app ./helm/crewmeister-app \ --namespace default \ @@ -113,4 +108,4 @@ jobs: - name: Verify Helm Deployment run: | helm list -n default - kubectl get pods -n default \ No newline at end of file + kubectl get pods -n default From 9b1a2aca786f1b40deccc9005667d2c5dd3726be Mon Sep 17 00:00:00 2001 From: Sugesh Suseelan <142903147+sugesh-cloudops@users.noreply.github.com> Date: Sun, 16 Mar 2025 20:17:23 +0100 Subject: [PATCH 122/126] Update crewmeister-ci.yml --- .github/workflows/crewmeister-ci.yml | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index e630540..6e70cbc 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -91,21 +91,5 @@ jobs: - name: Deploy Helm Chart run: | - helm upgrade --install crewmeister-app ./helm/crewmeister-app \ - --namespace default \ - --create-namespace \ - --values ./helm/crewmeister-app/values.yaml \ - --timeout 10m \ - --debug \ - --wait - - - name: Debug Kubernetes State - run: | - kubectl get pods -n default -o wide - kubectl describe pods -n default - kubectl get events -n default --sort-by=.metadata.creationTimestamp - - - name: Verify Helm Deployment - run: | - helm list -n default - kubectl get pods -n default + helm install crewmeister-app ./helm/crewmeister-app \ + From eef454044fd2fe6ffbe7e625fb0b8da6ee67ef22 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Sun, 16 Mar 2025 20:26:33 +0100 Subject: [PATCH 123/126] Terraform update | CI update for eks-cluster --- Terraform/modules/eks/main.tf | 100 ++++++++++++++++++++++------------ 1 file changed, 66 insertions(+), 34 deletions(-) diff --git a/Terraform/modules/eks/main.tf b/Terraform/modules/eks/main.tf index 61d91c5..e877916 100644 --- a/Terraform/modules/eks/main.tf +++ b/Terraform/modules/eks/main.tf @@ -71,16 +71,9 @@ scaling_config { ] } resource "aws_iam_openid_connect_provider" "github" { - url = "https://token.actions.githubusercontent.com" - client_id_list = ["sts.amazonaws.com"] - - # Use a dummy thumbprint; it will be ignored after import - thumbprint_list = ["ffffffffffffffffffffffffffffffffffffffff"] - - # Prevent Terraform from modifying the thumbprint since AWS manages it automatically - lifecycle { - ignore_changes = [thumbprint_list] - } + url = "https://token.actions.githubusercontent.com" + client_id_list = ["sts.amazonaws.com"] + thumbprint_list = ["d89e3bd43d5d909b47a18977aa9d5ce36cee184c"] } resource "aws_iam_role" "github_actions" { @@ -88,44 +81,42 @@ resource "aws_iam_role" "github_actions" { assume_role_policy = jsonencode({ Version = "2012-10-17" - Statement = [{ - Effect = "Allow" - Principal = { - Federated = aws_iam_openid_connect_provider.github.arn - } - Action = "sts:AssumeRoleWithWebIdentity" - Condition = { - StringLike = { - "token.actions.githubusercontent.com:sub" = "repo:sugesh-cloudops/devops-coding-challenge:ref:refs/heads/feature/branch" + Statement = [ + { + + Effect = "Allow" + Principal = { + Federated = "arn:aws:iam::535002870929:oidc-provider/token.actions.githubusercontent.com" + } + Action = "sts:AssumeRoleWithWebIdentity" + Condition = { + "StringEquals": { + "token.actions.githubusercontent.com:aud": "sts.amazonaws.com" + }, + "StringLike": { + "token.actions.githubusercontent.com:sub": "repo:sugesh-cloudops/devops-coding-challenge:*" + } } } - }] + ] }) } -resource "aws_iam_role_policy_attachment" "github_actions_eks" { - policy_arn = "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy" - role = aws_iam_role.github_actions.name -} - -resource "aws_iam_role_policy_attachment" "github_actions_ecr" { - policy_arn = "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryFullAccess" - role = aws_iam_role.github_actions.name -} - - resource "aws_iam_policy" "github_eks_access" { name = "GitHubEKSAccessPolicy" - description = "Allow GitHub Actions to assume the EKS role" + description = "Allow GitHub Actions to assume the EKS role and interact with Kubernetes" policy = jsonencode({ Version = "2012-10-17" Statement = [ + # Allow assuming the GitHubActions-EKS-Deploy role { Effect = "Allow" Action = "sts:AssumeRole" Resource = "arn:aws:iam::535002870929:role/GitHubActions-EKS-Deploy" }, + + # Allow EKS access { Effect = "Allow" Action = [ @@ -133,7 +124,48 @@ resource "aws_iam_policy" "github_eks_access" { "eks:ListClusters", "eks:AccessKubernetesApi", "eks:DescribeNodegroup", - "eks:ListNodegroups" + "eks:ListNodegroups", + "eks:DescribeFargateProfile" + ] + Resource = "*" + }, + + # Allow IAM role management for GitHubActions-EKS-Deploy + { + Effect = "Allow" + Action = [ + "iam:GetRole", + "iam:PassRole", + "iam:LisOpenIDConnectProviders", + "iam:GetOpenIDConnectProvider" + ] + Resource = "arn:aws:iam::535002870929:role/GitHubActions-EKS-Deploy" + }, + + # Allow interaction with Kubernetes resources + { + Effect = "Allow" + Action = [ + "ec2:DescribeInstances", + "ec2:DescribeSecurityGroups", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "elasticloadbalancing:DescribeLoadBalancers", + "elasticloadbalancing:DescribeListeners", + "elasticloadbalancing:DescribeTargetGroups", + "elasticloadbalancing:DescribeRules", + "eks:ListTagsForResource" + ] + Resource = "*" + }, + + # Allow read-only access to logs for debugging + { + Effect = "Allow" + Action = [ + "logs:GetLogEvents", + "logs:DescribeLogGroups", + "logs:DescribeLogStreams" ] Resource = "*" } @@ -144,4 +176,4 @@ resource "aws_iam_policy" "github_eks_access" { resource "aws_iam_role_policy_attachment" "github_eks_attach" { policy_arn = aws_iam_policy.github_eks_access.arn role = aws_iam_role.github_actions.name -} +} \ No newline at end of file From dd378ec2acde579182f30f72de74caf5e6a2863b Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Sun, 16 Mar 2025 20:37:32 +0100 Subject: [PATCH 124/126] Update Readme --- Solution_README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Solution_README.md b/Solution_README.md index 6c5f61b..5b79080 100644 --- a/Solution_README.md +++ b/Solution_README.md @@ -65,7 +65,7 @@ Attached few screenshot of the output where the application is deployed successf ### Directory Structure -![alt text](image.png) +![alt text]() ### Deployed successfully in the EKS cluster Attached few screenshot of the output where the application is deployed successfully in the EKS cluster. @@ -82,7 +82,7 @@ The CI/CD pipeline is defined using GitHub Actions and is located in the `.githu 1. **Build**: Builds the application using Maven. 2. **Code Quality**: Runs code quality checks using Maven. 3. **Docker**: Builds and pushes a Docker image to Docker Hub. https://hub.docker.com/repository/docker/sugesh23/devops-coding-challenge/ -4. **UpdateK8s**: Updates the Kubernetes deployment manifest with the new Docker image tag and pushes the changes to the repository by using bitovi/github-actions-deploy-eks-helm@v1.2.12 from marketplace +4. **UpdateK8s**: Updates the Kubernetes deployment manifest with the new Docker image tag and pushes the changes to the repository. ### Secrets The following secrets need to be set up in your GitHub repository for the workflow to function correctly: From 7068d9205a68224e8b71f32a79434eb2c9bb3326 Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Sun, 16 Mar 2025 22:44:27 +0100 Subject: [PATCH 125/126] remove unused folder --- helm-crewmeister/values.yaml | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100644 helm-crewmeister/values.yaml diff --git a/helm-crewmeister/values.yaml b/helm-crewmeister/values.yaml deleted file mode 100644 index fa7c597..0000000 --- a/helm-crewmeister/values.yaml +++ /dev/null @@ -1,23 +0,0 @@ -app: - image: sugesh23/devops-coding-challenge-app:latest - replicaCount: 1 - service: - type: LoadBalancer - port: 8080 - env: - SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true - SPRING_DATASOURCE_WRITER_URL: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true - SPRING_DATASOURCE_USERNAME: root - SPRING_DATASOURCE_PASSWORD: dev - -db: - image: mysql:8.0 - replicaCount: 1 - service: - type: ClusterIP - port: 3306 - env: - MYSQL_ROOT_PASSWORD: dev - MYSQL_DATABASE: challenge - storage: - size: 5Gi From cd22e3ba5e5795103168a92ffba8022c884311fe Mon Sep 17 00:00:00 2001 From: sugesh-cloudops Date: Tue, 15 Apr 2025 10:22:28 +0200 Subject: [PATCH 126/126] docs: refresh README with Helm, Kustomize, TLS, and AWS Secrets details --- .DS_Store | Bin 10244 -> 10244 bytes .github/workflows/crewmeister-ci.yml | 17 +- Dockerfile | 38 ++-- README.md | 190 ++++++++++++++---- Solution_README.md | 105 ---------- docker-compose.yml | 2 +- helm/crewmeister-app/templates/.dockerignore | 32 --- .../templates/app-deployment.yaml | 45 ----- .../templates/app-service.yaml | 11 - .../crewmeister-app/templates/db-service.yaml | 12 -- helm/crewmeister-app/templates/mysql-pv.yaml | 13 -- helm/crewmeister-app/templates/secret.yaml | 8 - .../templates/serviceaccount.yaml | 12 -- helm/crewmeister-app/values.yaml | 24 --- image.png | Bin 0 -> 68577 bytes k8s/.DS_Store | Bin 0 -> 6148 bytes k8s/base/.DS_Store | Bin 0 -> 6148 bytes k8s/base/deployment.yaml | 49 +++++ k8s/base/kustomization.yaml | 5 + k8s/base/mysql-service.yaml | 11 + .../base/mysql-statefulset.yaml | 29 ++- k8s/base/service.yaml | 13 ++ k8s/helm/.DS_Store | Bin 0 -> 6148 bytes .../crewmeister-app => k8s/helm}/.helmignore | 0 {helm/crewmeister-app => k8s/helm}/Chart.yaml | 2 +- .../helm}/templates/_helpers.tpl | 20 +- .../templates/cert-manager-clusterissuer.yaml | 14 ++ k8s/helm/templates/configmap-mysql.yaml | 6 + .../mysql/service-mysql-headless.yaml | 11 + .../templates/mysql/statefulset-mysql.yaml | 42 ++++ k8s/helm/templates/secret-external-mysql.yaml | 17 ++ k8s/helm/templates/secretstore-aws.yaml | 17 ++ k8s/helm/templates/serviceaccount.yaml | 6 + .../springboot/deployment-springboot.yaml | 54 +++++ .../templates/springboot/hpa-springboot.yaml | 12 ++ .../springboot/ingress-springboot.yaml | 25 +++ .../springboot/service-springboot.yaml | 11 + k8s/helm/templates/tests/test-connection.yaml | 15 ++ k8s/helm/values.yaml | 67 ++++++ k8s/overlays/.DS_Store | Bin 0 -> 6148 bytes k8s/overlays/dev/cluster-issuer.yaml | 14 ++ k8s/overlays/dev/configmap.yaml | 6 + k8s/overlays/dev/kustomization.yaml | 11 + k8s/overlays/dev/mysql-external-secret.yaml | 18 ++ k8s/overlays/dev/namespace.yaml | 4 + k8s/overlays/dev/secret-store.yaml | 18 ++ k8s/values/dev-values.yaml | 67 ++++++ k8s/values/prod-values.yaml | 67 ++++++ k8s/values/staging-values.yaml | 34 ++++ snapshots/Pasted Graphic 1.png | Bin 84471 -> 0 bytes snapshots/Pasted Graphic 2.png | Bin 80249 -> 0 bytes snapshots/Pasted Graphic.png | Bin 79164 -> 0 bytes snapshots/image-1.png | Bin 15173 -> 0 bytes snapshots/image-2.png | Bin 59008 -> 0 bytes snapshots/image-3.png | Bin 20600 -> 0 bytes snapshots/image.png | Bin 19184 -> 0 bytes 56 files changed, 830 insertions(+), 344 deletions(-) delete mode 100644 Solution_README.md delete mode 100644 helm/crewmeister-app/templates/.dockerignore delete mode 100644 helm/crewmeister-app/templates/app-deployment.yaml delete mode 100644 helm/crewmeister-app/templates/app-service.yaml delete mode 100644 helm/crewmeister-app/templates/db-service.yaml delete mode 100644 helm/crewmeister-app/templates/mysql-pv.yaml delete mode 100644 helm/crewmeister-app/templates/secret.yaml delete mode 100644 helm/crewmeister-app/templates/serviceaccount.yaml delete mode 100644 helm/crewmeister-app/values.yaml create mode 100644 image.png create mode 100644 k8s/.DS_Store create mode 100644 k8s/base/.DS_Store create mode 100644 k8s/base/deployment.yaml create mode 100644 k8s/base/kustomization.yaml create mode 100644 k8s/base/mysql-service.yaml rename helm/crewmeister-app/templates/db-statefulset.yaml => k8s/base/mysql-statefulset.yaml (59%) create mode 100644 k8s/base/service.yaml create mode 100644 k8s/helm/.DS_Store rename {helm/crewmeister-app => k8s/helm}/.helmignore (100%) rename {helm/crewmeister-app => k8s/helm}/Chart.yaml (98%) rename {helm/crewmeister-app => k8s/helm}/templates/_helpers.tpl (72%) create mode 100644 k8s/helm/templates/cert-manager-clusterissuer.yaml create mode 100644 k8s/helm/templates/configmap-mysql.yaml create mode 100644 k8s/helm/templates/mysql/service-mysql-headless.yaml create mode 100644 k8s/helm/templates/mysql/statefulset-mysql.yaml create mode 100644 k8s/helm/templates/secret-external-mysql.yaml create mode 100644 k8s/helm/templates/secretstore-aws.yaml create mode 100644 k8s/helm/templates/serviceaccount.yaml create mode 100644 k8s/helm/templates/springboot/deployment-springboot.yaml create mode 100644 k8s/helm/templates/springboot/hpa-springboot.yaml create mode 100644 k8s/helm/templates/springboot/ingress-springboot.yaml create mode 100644 k8s/helm/templates/springboot/service-springboot.yaml create mode 100644 k8s/helm/templates/tests/test-connection.yaml create mode 100644 k8s/helm/values.yaml create mode 100644 k8s/overlays/.DS_Store create mode 100644 k8s/overlays/dev/cluster-issuer.yaml create mode 100644 k8s/overlays/dev/configmap.yaml create mode 100644 k8s/overlays/dev/kustomization.yaml create mode 100644 k8s/overlays/dev/mysql-external-secret.yaml create mode 100644 k8s/overlays/dev/namespace.yaml create mode 100644 k8s/overlays/dev/secret-store.yaml create mode 100644 k8s/values/dev-values.yaml create mode 100644 k8s/values/prod-values.yaml create mode 100644 k8s/values/staging-values.yaml delete mode 100644 snapshots/Pasted Graphic 1.png delete mode 100644 snapshots/Pasted Graphic 2.png delete mode 100644 snapshots/Pasted Graphic.png delete mode 100644 snapshots/image-1.png delete mode 100644 snapshots/image-2.png delete mode 100644 snapshots/image-3.png delete mode 100644 snapshots/image.png diff --git a/.DS_Store b/.DS_Store index eca4e4d766c005706e41c1c4850a6f7abb24c9bf..0622516ed574b5e28eae5bab4ac0632cd0cbcc1e 100644 GIT binary patch delta 206 zcmZn(XbG6$FDSskz`)4BAi$7PoSc)CpP#d_a2or>2Eonj94s7SAXyd$J%(I{GKM^u z3Wm)*0-G6GnHjPfEGFv;H?tWV>nIpoOs*Glhz1KX6z8NH1}Ep|767%w08}P7-^C>< zCqD@&%<=c&n)&vZjyVF^aM=``vXdJ{L?M=LUM`Zry|G~e<7Re+Uo4v^iZL?-0CO8P AMgRZ+ delta 442 zcmZn(XbG6$FDlHyz`)4BAi%(o%233h%aF{F&yc$@aWVU5b`BN}M&Zqh0-G5vSr{^a z@;MB-Wx+*xIr(|%5M4lRP;s!%BA}XbhFl<-$xzHt0y1&3weazJf~r!AlXH^t^K*cv z5;hXe37kNy@)!~s3V?J5(D5Y<#YyGG1xY#iNkG$fBo*XLekEAMZfU5aU~FVO`LM8K zJ%)yybi?4}{M-VN{ZN3#*xY;<7pSouUC%Xj_zxa)1ggfWG6j!H17x=rWDvG`v$${q P_hxp5Uo4vog_)TF!<%H< diff --git a/.github/workflows/crewmeister-ci.yml b/.github/workflows/crewmeister-ci.yml index 6e70cbc..92f8ba1 100644 --- a/.github/workflows/crewmeister-ci.yml +++ b/.github/workflows/crewmeister-ci.yml @@ -59,10 +59,13 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} + - name: Extract Git SHA + run: echo "IMAGE_TAG=$(git rev-parse --short HEAD)" >> $GITHUB_ENV + - name: Build and Push Docker Image run: | - docker buildx build --platform linux/amd64,linux/arm64 \ - -t ${{ secrets.DOCKER_USERNAME }}/devops-coding-challenge:latest --push . + docker buildx build --platform linux/amd64 \ + -t ${{ secrets.DOCKER_USERNAME }}/devops-coding-challenge:${{ env.IMAGE_TAG }} --push . updatek8s: runs-on: ubuntu-latest @@ -89,7 +92,11 @@ jobs: - name: Update kubeconfig for EKS run: aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} - - name: Deploy Helm Chart + - name: Deploy Helm Chart run: | - helm install crewmeister-app ./helm/crewmeister-app \ - + helm upgrade --install my-app ./k8s/helm \ + --namespace dev \ + -f ./k8s/values/dev-values.yaml \ + --set image.tag=${{ env.sha_tag }} \ + --set aws.region=${{ secrets.AWS_REGION }} \ + \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index bd866ba..f77bef3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,25 +1,37 @@ # Build Stage -FROM openjdk:17-slim as builder +FROM eclipse-temurin:17-jdk-jammy AS builder -WORKDIR /usr/src/app/ +WORKDIR /app -COPY . . +# Copy Maven wrapper and pom.xml separately for better caching +COPY mvnw pom.xml ./ +COPY .mvn .mvn +# Download dependencies (cache-friendly) +RUN ./mvnw dependency:go-offline + +# Copy source code +COPY src ./src + +# Package the application RUN ./mvnw clean package -DskipTests -# Runtime Stage -FROM openjdk:17-slim +# Runtime Stage (minimal image) +FROM eclipse-temurin:17-jre-jammy + +# Create a non-root user to run the app securely +RUN groupadd -r appgroup && useradd -r -g appgroup appuser + +WORKDIR /app -WORKDIR /usr/src/app/ +# Copy jar from builder +COPY --from=builder /app/target/*.jar app.jar -# Copy built JAR file from the builder stage -COPY --from=builder /usr/src/app/target/*.jar /usr/src/app/crewmeisterchallenge-0.0.1-SNAPSHOT.jar +# Change ownership for security purposes +RUN chown appuser:appgroup app.jar -# Install MySQL client for database connectivity -RUN apt-get update && apt-get install -y default-mysql-client +USER appuser -# Expose the application port EXPOSE 8080 -# Set entry point to run -ENTRYPOINT ["java", "-jar", "crewmeisterchallenge-0.0.1-SNAPSHOT.jar"] \ No newline at end of file +ENTRYPOINT ["java", "-jar", "app.jar"] \ No newline at end of file diff --git a/README.md b/README.md index 23a3d90..a948321 100644 --- a/README.md +++ b/README.md @@ -1,63 +1,179 @@ -# Crewmeister Challenge +# 🚀 Spring Boot + MySQL on Kubernetes -## Background +A production-grade Kubernetes deployment for a Spring Boot application backed by MySQL, built with security, scalability, and automation in mind. -At Crewmeister, our development team is continuously growing. We aim to hire the best educated, motivated, and enthusiastic people in the field who have fun building up Crewmeister in our vision to empower small businesses to thrive in a digital world. For this quest, we are continuously getting new applicants from all over the world. To filter which candidates could be a good fit, we provide our candidates with a coding challenge that we manually review and evaluate. +--- + +## 📆 Stack Overview + +| Layer | Tech/Tool | +|------------------------|-----------| +| Application | Spring Boot (Java 17) | +| Database | MySQL (StatefulSet + PVC) | +| Secrets Management | AWS Secrets Manager + External Secrets Operator | +| Kubernetes Templating | Helm | +| Env-specific Overrides | Kustomize | +| CI/CD Pipeline | GitHub Actions | +| Observability | Prometheus-ready integration hooks | + +--- + +## ✨ Key Features + +| Feature | Description | +|----------------------------------|-------------| +| ✅ Dockerized Spring Boot | With Flyway DB migrations | +| ✅ MySQL via StatefulSet | With persistent volumes | +| ✅ AWS Secrets Manager | Centralized secret storage | +| ✅ External Secrets Operator | Automatic sync of AWS secrets to K8s | +| ✅ Helm Charts | Clean, reusable templating | +| ✅ Kustomize Overlays | Per-environment configurations (dev, staging, prod) | +| ✅ TLS via cert-manager + Let's Encrypt | Secure HTTPS via Ingress | +| ✅ Ingress (NGINX) | With routing, HTTPS, and rewrite support | +| ✅ Horizontal Pod Autoscaler | Auto-scales app based on CPU | +| ✅ CI/CD Pipeline | GitHub Actions with multi-stage flow | +| ✅ Secure Image Handling | Versioned image tags, no `latest` used | +| ✅ Health Probes & Limits | Readiness/liveness probes and resource limits | + +--- + +## 📂 Folder Structure + +```bash +k8s/ +├── base/ # Common base manifests for Kustomize +│ ├── deployment.yaml +│ ├── mysql-service.yaml +│ ├── mysql-statefulset.yaml +│ ├── service.yaml +│ └── kustomization.yaml + +├── overlays/ # Environment-specific overlays (Kustomize) +│ ├── dev/ +│ │ ├── configmap.yaml +│ │ ├── kustomization.yaml +│ │ ├── mysql-external-secret.yaml +│ │ ├── namespace.yaml +│ │ ├── secret-store.yaml +│ │ └── cluster-issuer.yaml # cert-manager ClusterIssuer (staging/prod) +│ └── staging/ +│ └── prod/ + +├── helm/ # Helm chart for full app deployment +│ ├── Chart.yaml +│ ├── values.yaml # Default config +│ └── templates/ +│ ├── _helpers.tpl +│ ├── configmap-mysql.yaml +│ ├── secret-external-mysql.yaml +│ ├── secretstore-aws.yaml +│ ├── serviceaccount.yaml +│ ├── mysql/ +│ │ ├── service-mysql-headless.yaml +│ │ └── statefulset-mysql.yaml +│ ├── springboot/ +│ │ ├── deployment-springboot.yaml +│ │ ├── hpa-springboot.yaml +│ │ ├── ingress-springboot.yaml +│ │ └── service-springboot.yaml +│ └── tests/ +│ └── test-connection.yaml + +├── values/ # Helm values per environment +│ ├── dev-values.yaml +│ ├── staging-values.yaml +│ └── prod-values.yaml + +.github/ +└── workflows/ + └── crewmeister-ci.yaml # CI/CD pipeline definition +``` + +--- + +## 🛠️ Usage Guide + +### ✅ Apply Kustomize Overlay (Dev) + +```bash +kubectl apply -k k8s/overlays/dev +``` + +### ❌ Delete Dev Resources + +```bash +kubectl delete -k k8s/overlays/dev +``` --- -## DevOps Engineer Task +### 🥤 Helm Usage -As a DevOps Engineer at Crewmeister, you will be in charge of several challenging tasks in your daily work. One of your core responsibilities will be to ensure that the system is always running smoothly and that the application is deployed successfully to our customers. +```bash +# Install +helm install my-app ./k8s/helm -f ./k8s/values/dev-values.yaml -In this challenge, you should use DevOps best practices to architect and implement the complete cycle of building, packaging, and deploying a Java application (specified later in this document). +# Upgrade +helm upgrade my-app ./k8s/helm -f ./k8s/values/dev-values.yaml -The following are core technologies/tools that should be present in the solution: +# Uninstall +helm uninstall my-app +``` -- Dockerfile -- Helm Chart -- Terraform to interact with the Kubernetes cluster +--- -You have the flexibility to utilize any cloud provider of your choice to deploy and run the application effectively. Additionally, it should be designed to operate seamlessly on local machines, allowing for a versatile setup that caters to various operational preferences and environments. +### 🌐 Port Forward for Local Access -## Plus: +```bash +kubectl port-forward svc/my-app-service -n dev 8080:80 +``` -- Create a CI Pipeline in Github to automate the application lifecycle +Then access: [http://localhost:8080](http://localhost:8080) -- Add monitoring tools to check the health of the application +--- -## Important Points: +## 🔐 AWS Secrets Setup -- At Crewmeister, we value creativity and pushing for better. You are encouraged to expand the solution as you find fit. To do so, you must ensure high-quality documentation and that the base solution is correctly executed. -- All the tools used must be publicly accessible or explicitly documented on how to authenticate. -- All the tools must be free to use. +Before deploying, manually create the AWS credentials secret in your cluster: -## Challenge Application +```bash +kubectl create secret generic aws-credentials \ + --from-literal=access-key-id= \ + --from-literal=secret-access-key= +``` -A Spring Boot application that provides a simple user management REST API. +> **Note**: Never commit your AWS credentials to Git or store them in `values.yaml`. -### Technologies Used +--- -- Java 17 -- Spring Boot 3.3.5 -- MySQL Database -- Flyway Migration -- Maven -- Spring Data JPA -- Spring Actuator +## ⚙️ GitHub Actions CI/CD (`.github/workflows/crewmeister-ci.yaml`) -### Pre-requisites +| Stage | Description | +|---------------|-------------| +| `build` | Compiles the app with Maven | +| `code-quality`| Runs linting/tests | +| `docker` | Builds versioned image, pushes to Docker Hub | +| `updatek8s` | Deploys Helm chart to EKS using OIDC-authenticated GitHub Action | -- JDK 17 -- MySQL -- Maven +--- -### API Endpoints +## 🌟 Observability & Reliability -#### GET /user +- ✅ `readinessProbe` and `livenessProbe` configured +- ✅ `resources.requests` and `limits` defined for CPU/memory +- ✅ Horizontal Pod Autoscaler enabled for autoscaling +- ✅ Ingress TLS via cert-manager (staging & prod) +- ✅ Prepped for Prometheus metrics + +--- -Retrieves a user by ID +## ✅ Best Practices Followed -#### POST /user +- No use of `:latest` tag in Docker builds +- All secrets pulled dynamically via AWS Secret Manager +- Values managed via Helm `values.yaml` +- GitOps-compatible structure via Kustomize overlays +- Externalized environment handling +- Linted and validated YAML +- Modular and extensible folder layout -Creates a new user diff --git a/Solution_README.md b/Solution_README.md deleted file mode 100644 index 5b79080..0000000 --- a/Solution_README.md +++ /dev/null @@ -1,105 +0,0 @@ -# DevOps Coding Challenge - -This repository contains the source code, CI/CD , IAC (Terraform), HelmCharts (to deploy the app in EKS Cluster) - -## Table of Contents - -- [Running Locally with Docker Compose](#running-locally-with-docker-compose) -- [Terraform Configuration](#terraform-configuration) -- [Helm Chart](#helm-chart) -- [CI/CD Pipeline](#cicd-pipeline) - ---- - -## Running Locally with Docker Compose - -To run the application locally using **Docker Compose**, follow these steps: - -### Prerequisites -Ensure you have **Docker** and **Docker Compose** installed on your machine. - -### Running the Application - -docker-compose up --build - -docker-compose down - -### Key-Points -multi stage used for docker file - ---- - -## Terraform Configuration - -The Terraform configuration is located in the `terraform` folder and is used to provision the eks cluster for the project. The configuration includes modules for setting up a **VPC, and EKS cluster**. - -### Key-Points -The Terraform configuration follows a modular strategy to promote reusability and maintainability. -Backed strategy to manage the state of the infrastructure. -S3 bucket and DynamoDB is used to store the state of the infrastructure. -achived statefile Locking using DynamoDB. - -### Directory Structure - -![alt text](snapshots/image-1.png) - ---- - -## Helm Chart - -The `helm` folder contains the **Helm chart** used to deploy the application **crewmeister-app**to a **Kubernetes cluster** created by using terraform. - -### Key-Points -The helm chart is organised in to basic structuere of helm chart. - -### Directory Structure - -![alt text](snapshots/image.png) - -### Deployed successfully in the EKS cluster -Attached few screenshot of the output where the application is deployed successfully in the EKS cluster. -![alt text]() -![alt text]() -![alt text]() - - -### Directory Structure - -![alt text]() - -### Deployed successfully in the EKS cluster -Attached few screenshot of the output where the application is deployed successfully in the EKS cluster. -![alt text]() -![alt text]() -![alt text]() - ---- - -## CI/CD Pipeline - -The CI/CD pipeline is defined using GitHub Actions and is located in the `.github/workflows/crewmeister-ci.yml` file. The pipeline includes the following jobs: - -1. **Build**: Builds the application using Maven. -2. **Code Quality**: Runs code quality checks using Maven. -3. **Docker**: Builds and pushes a Docker image to Docker Hub. https://hub.docker.com/repository/docker/sugesh23/devops-coding-challenge/ -4. **UpdateK8s**: Updates the Kubernetes deployment manifest with the new Docker image tag and pushes the changes to the repository. - -### Secrets -The following secrets need to be set up in your GitHub repository for the workflow to function correctly: - -- `DOCKER_USERNAME`: Your Docker Hub username. -- `DOCKER_PASSWORD`: Your Docker Hub password. -- `GITHUB_TOKEN`: Your GitHub token -- `AWS_ACCESS_KEY_ID`: Your AWS access key ID -- `AWS_SECRET_ACCESS_KEY`: Your AWS secret access key -- `AWS_ROLE_ARN`: Your AWS roles ARN - -### Reference Image -![alt text](snapshots/image-2.png) -![alt text](snapshots/image-3.png) - ---- -Note: The project can be improved in terms of security, monitoring, efficiency, scalability, and reliability. However, due to time constraints, it is currently limited to this version. - - - diff --git a/docker-compose.yml b/docker-compose.yml index cab2336..978a642 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -25,4 +25,4 @@ services: depends_on: db: condition: service_healthy - entrypoint: ["java", "-jar", "crewmeisterchallenge-0.0.1-SNAPSHOT.jar"] \ No newline at end of file + \ No newline at end of file diff --git a/helm/crewmeister-app/templates/.dockerignore b/helm/crewmeister-app/templates/.dockerignore deleted file mode 100644 index 6491be1..0000000 --- a/helm/crewmeister-app/templates/.dockerignore +++ /dev/null @@ -1,32 +0,0 @@ -# Ignore build directories -target/ -build/ - -# Ignore temporary files and directories -*.log -*.tmp -*.swp -*.swo -*.bak -*.old - -# Ignore IDE-specific files and directories -.idea/ -*.iml -*.ipr -*.iws -.vscode/ -*.code-workspace - -# Ignore OS-specific files and directories -.DS_Store -Thumbs.db - -# Ignore node_modules if you have a frontend project -node_modules/ - -# Ignore Helm chart directories -helm/ - -# Ignore Kubernetes configuration files -k8s/ \ No newline at end of file diff --git a/helm/crewmeister-app/templates/app-deployment.yaml b/helm/crewmeister-app/templates/app-deployment.yaml deleted file mode 100644 index 596d703..0000000 --- a/helm/crewmeister-app/templates/app-deployment.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: app -spec: - replicas: 1 - selector: - matchLabels: - app: app - template: - metadata: - labels: - app: app - spec: - containers: - - name: app - image: sugesh23/devops-coding-challenge-app:latest - ports: - - containerPort: 8080 - env: - - name: SPRING_DATASOURCE_URL - value: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true - - name: SPRING_DATASOURCE_USERNAME - value: root - - name: SPRING_DATASOURCE_PASSWORD - value: dev - resources: - requests: - memory: "512Mi" - cpu: "500m" - limits: - memory: "1Gi" - cpu: "1" - livenessProbe: - httpGet: - path: /actuator/health - port: 8080 - initialDelaySeconds: 30 - periodSeconds: 10 - readinessProbe: - httpGet: - path: /actuator/health - port: 8080 - initialDelaySeconds: 30 - periodSeconds: 10 \ No newline at end of file diff --git a/helm/crewmeister-app/templates/app-service.yaml b/helm/crewmeister-app/templates/app-service.yaml deleted file mode 100644 index 02a1d3b..0000000 --- a/helm/crewmeister-app/templates/app-service.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: app -spec: - ports: - - port: 8080 - targetPort: 8080 - selector: - app: app - type: LoadBalancer \ No newline at end of file diff --git a/helm/crewmeister-app/templates/db-service.yaml b/helm/crewmeister-app/templates/db-service.yaml deleted file mode 100644 index 0fc750c..0000000 --- a/helm/crewmeister-app/templates/db-service.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: db -spec: - type: ClusterIP - selector: - app: db - ports: - - protocol: TCP - port: 3306 - targetPort: 3306 diff --git a/helm/crewmeister-app/templates/mysql-pv.yaml b/helm/crewmeister-app/templates/mysql-pv.yaml deleted file mode 100644 index c388c9a..0000000 --- a/helm/crewmeister-app/templates/mysql-pv.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: mysql-pv -spec: - capacity: - storage: 5Gi - accessModes: - - ReadWriteOnce - persistentVolumeReclaimPolicy: Retain - storageClassName: manual # Matches the PVC StorageClass - hostPath: - path: "/mnt/data" diff --git a/helm/crewmeister-app/templates/secret.yaml b/helm/crewmeister-app/templates/secret.yaml deleted file mode 100644 index 80296dc..0000000 --- a/helm/crewmeister-app/templates/secret.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: db-secret -type: Opaque -data: - MYSQL_ROOT_PASSWORD: {{ .Values.db.env.MYSQL_ROOT_PASSWORD | b64enc }} - MYSQL_DATABASE: {{ .Values.db.env.MYSQL_DATABASE | b64enc }} diff --git a/helm/crewmeister-app/templates/serviceaccount.yaml b/helm/crewmeister-app/templates/serviceaccount.yaml deleted file mode 100644 index b79255a..0000000 --- a/helm/crewmeister-app/templates/serviceaccount.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: crewmeister-challenge - labels: - - opentelemetry.io/name: crewmeister-challenge - app.kubernetes.io/instance: crewmeister-challenge - app.kubernetes.io/name: crewmeister-challenge - app.kubernetes.io/version: "1.12.0" - app.kubernetes.io/part-of: crewmeister-challenge \ No newline at end of file diff --git a/helm/crewmeister-app/values.yaml b/helm/crewmeister-app/values.yaml deleted file mode 100644 index f96f8c0..0000000 --- a/helm/crewmeister-app/values.yaml +++ /dev/null @@ -1,24 +0,0 @@ -app: - image: sugesh23/devops-coding-challenge-app:latest - replicaCount: 1 - service: - type: LoadBalancer - port: 8080 - env: - SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true - SPRING_DATASOURCE_WRITER_URL: jdbc:mysql://db:3306/challenge?createDatabaseIfNotExist=true - SPRING_DATASOURCE_USERNAME: root - SPRING_DATASOURCE_PASSWORD: dev - -db: - image: mysql:8.0 - replicaCount: 1 - service: - type: ClusterIP - port: 3306 - env: - MYSQL_ROOT_PASSWORD: dev - MYSQL_DATABASE: challenge - storage: - size: 5Gi - diff --git a/image.png b/image.png new file mode 100644 index 0000000000000000000000000000000000000000..17b274802b423fd3d127a4dc3b4fe93db5b9c0a5 GIT binary patch literal 68577 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%0Ar<<@VS`6t}z}0^yFX`~uPJfN0+n(B|;U@Lre8 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 literal 0 HcmV?d00001 diff --git a/k8s/.DS_Store b/k8s/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..043f4de432f521c05783b697b1892ed565b7d638 GIT binary patch literal 6148 zcmeHK%}T>S5T326-6BE{3Oz1(E!bKS#Y?F51&ruHr6x3JFwK^xKS(L$tS{t~_&m<+ zZpAi=H<5M+X20F}NtiEXrvm`2HR?71DgeMy2@7Rhz7g`1=A>XOMMOr=2qtMih-HB1 zw_LO}{6_}p+c^+`4=IFSzhBUgqjXrWzq7)IQ`{`^65rx?-lLp&Lw`6*TmImNPM1=~ z!F=xrS5Y|WRCdl}GW4S)9H@k-8)C@qb(D1Fq$Nj5H&wZwcJMMUcPiECw9#zVMDw^Y ztBL8!LA@ppn@6)*neXoHpI&sH;$9+OG>HsLBbe41N8au4C#vSkgIE{?m1@`Ed!Q;^<%)?p?quoO1BkT1}p==FhKW%KqYhy zW*XJifr}ae5FIot!9C3qlp_qf1~ZN5L18)-QKvF9VlbVKc46XNgPBI14$KT6%)FVI z35BV*j=%r_ literal 0 HcmV?d00001 diff --git a/k8s/base/.DS_Store b/k8s/base/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T086JI&QvBWtIw10V+TRr~noCg96rjVe{ueMk+uBsKAc`_I)UD!kdX>d zfw2OQv2CpXzrt_K|6>w&RDcTnD+P46?3OKFDSPYW<*e5h_zG?{-*7Xmor2))80hU7 g8*9f4FN(TiYn<1_A<*f_I~~ZM0n>#>1@5iD1$S5Z<-brW7Fug&r5Y7Ho}(;w8lT0!H+pQWFw17_+5Gn?ot&tS{t~_&m<+ zZop#BB6bFLzxmzGevtiPjB#%sjTo~TV-_?-j!J`|yD_w7k`XzMkx#=^hG2b!Qxp5^ zfZyI?5sTR(EWdw$n&icB_{q0g?d_e8)v@C+As|t6E>8}$9Tc;gg+I$unLUB0&aSfvi2-7O7$62Vn*nn! zSiQ}rfmTlp5CaVi;Qk<>A-V=DjcV(F4zJG`ZzH0Bj&BJ>VbC>LX@m#}*QJ2El$$38 z*X7_BCeJlkY1HM6tC?XOGjsiT;c9m93zg2etC4zQfEZY3pruV4&;LvKWf~v(>m_6n z1H`~TV}Q5E{@8;>nX~oB^6;z`&>o?oU|xj^28qfQ3)CUcHCSoHQP8i- Q0qG*32%(M`_yq>O04F6$ZU6uP literal 0 HcmV?d00001 diff --git a/k8s/overlays/dev/cluster-issuer.yaml b/k8s/overlays/dev/cluster-issuer.yaml new file mode 100644 index 0000000..7c66c11 --- /dev/null +++ b/k8s/overlays/dev/cluster-issuer.yaml @@ -0,0 +1,14 @@ +apiVersion: cert-manager.io/v1 +kind: ClusterIssuer +metadata: + name: letsencrypt-staging +spec: + acme: + server: https://acme-v02.api.letsencrypt.org/directory + email: test-crewmeister@test.com + privateKeySecretRef: + name: letsencrypt-staging-key + solvers: + - http01: + ingress: + class: nginx \ No newline at end of file diff --git a/k8s/overlays/dev/configmap.yaml b/k8s/overlays/dev/configmap.yaml new file mode 100644 index 0000000..7f414a2 --- /dev/null +++ b/k8s/overlays/dev/configmap.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: mysql-config +data: + database-name: challenge \ No newline at end of file diff --git a/k8s/overlays/dev/kustomization.yaml b/k8s/overlays/dev/kustomization.yaml new file mode 100644 index 0000000..4fbf07c --- /dev/null +++ b/k8s/overlays/dev/kustomization.yaml @@ -0,0 +1,11 @@ +namespace: dev + +resources: + - ../../base + - namespace.yaml + - secret-store.yaml + - configmap.yaml + - mysql-external-secret.yaml + - cluster-issuer.yaml + +patches: [] diff --git a/k8s/overlays/dev/mysql-external-secret.yaml b/k8s/overlays/dev/mysql-external-secret.yaml new file mode 100644 index 0000000..5395727 --- /dev/null +++ b/k8s/overlays/dev/mysql-external-secret.yaml @@ -0,0 +1,18 @@ +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: mysql-secret + namespace: dev +spec: + refreshInterval: 1h + secretStoreRef: + name: aws-secrets-store + kind: SecretStore + target: + name: mysql-secret + creationPolicy: Owner + data: + - secretKey: mysql-root-password + remoteRef: + key: devops-challenge-secret + property: mysql-root-password \ No newline at end of file diff --git a/k8s/overlays/dev/namespace.yaml b/k8s/overlays/dev/namespace.yaml new file mode 100644 index 0000000..8cab297 --- /dev/null +++ b/k8s/overlays/dev/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: dev diff --git a/k8s/overlays/dev/secret-store.yaml b/k8s/overlays/dev/secret-store.yaml new file mode 100644 index 0000000..b8796c9 --- /dev/null +++ b/k8s/overlays/dev/secret-store.yaml @@ -0,0 +1,18 @@ +apiVersion: external-secrets.io/v1beta1 +kind: SecretStore +metadata: + name: aws-secrets-store + namespace: default +spec: + provider: + aws: + service: SecretsManager + region: us-west-2 + auth: + secretRef: + accessKeyIDSecretRef: + name: aws-credentials + key: access-key-id + secretAccessKeySecretRef: + name: aws-credentials + key: secret-access-key \ No newline at end of file diff --git a/k8s/values/dev-values.yaml b/k8s/values/dev-values.yaml new file mode 100644 index 0000000..97a3046 --- /dev/null +++ b/k8s/values/dev-values.yaml @@ -0,0 +1,67 @@ +app: + name: app + image: sugesh23/springboot + tag: latest # Will be dynamically set via CI/CD (e.g., commit SHA) + replicaCount: 1 + +mysql: + database: challenge + image: mysql:8 + port: 3306 + pvc: + storage: 1Gi + secretKeyRef: + name: mysql-secret + key: mysql-root-password + +service: + name: my-app-service + type: ClusterIP + port: 80 + targetPort: 8080 + +autoscaling: + enabled: true + minReplicas: 1 + maxReplicas: 5 + targetCPUUtilizationPercentage: 50 + +readinessProbe: + path: /actuator/health + port: 8080 + initialDelaySeconds: 10 + periodSeconds: 5 + +livenessProbe: + path: /actuator/health + port: 8080 + initialDelaySeconds: 15 + periodSeconds: 10 + +resources: + limits: + cpu: 250m + memory: 512Mi + requests: + cpu: 100m + memory: 256Mi + +ingress: + enabled: true + host: crewmiester.test.com + servicePort: 8080 + clusterIssuer: letsencrypt-staging + tlsSecretName: springboot-tls + +certManager: + enabled: true + email: crewmeister-test@test.com + clusterIssuerName: letsencrypt-staging + secretName: letsencrypt-prod-key + acmeServer: https://acme-v02.api.letsencrypt.org/directory + +aws: + region: us-west-2 + secretName: devops-challenge-secret + secretProperty: mysql-root-password + credentialsSecretRef: aws-credentials # Referenced in SecretStore \ No newline at end of file diff --git a/k8s/values/prod-values.yaml b/k8s/values/prod-values.yaml new file mode 100644 index 0000000..a83311c --- /dev/null +++ b/k8s/values/prod-values.yaml @@ -0,0 +1,67 @@ +app: + name: app + image: sugesh23/springboot + tag: latest # Will be dynamically set via CI/CD (e.g., commit SHA) + replicaCount: 1 + +mysql: + database: challenge + image: mysql:8 + port: 3306 + pvc: + storage: 1Gi + secretKeyRef: + name: mysql-secret + key: mysql-root-password + +service: + name: my-app-service + type: ClusterIP + port: 80 + targetPort: 8080 + +autoscaling: + enabled: true + minReplicas: 1 + maxReplicas: 5 + targetCPUUtilizationPercentage: 50 + +readinessProbe: + path: /actuator/health + port: 8080 + initialDelaySeconds: 10 + periodSeconds: 5 + +livenessProbe: + path: /actuator/health + port: 8080 + initialDelaySeconds: 15 + periodSeconds: 10 + +resources: + limits: + cpu: 250m + memory: 512Mi + requests: + cpu: 100m + memory: 256Mi + +ingress: + enabled: true + host: crewmiester.test.com + servicePort: 8080 + clusterIssuer: letsencrypt-prod + tlsSecretName: springboot-tls + +certManager: + enabled: true + email: crewmeister-test@test.com + clusterIssuerName: letsencrypt-staging + secretName: letsencrypt-prod-key + acmeServer: https://acme-v02.api.letsencrypt.org/directory + +aws: + region: us-west-2 + secretName: devops-challenge-secret + secretProperty: mysql-root-password + credentialsSecretRef: aws-credentials \ No newline at end of file diff --git a/k8s/values/staging-values.yaml b/k8s/values/staging-values.yaml new file mode 100644 index 0000000..67362ac --- /dev/null +++ b/k8s/values/staging-values.yaml @@ -0,0 +1,34 @@ +app: + name: app + image: sugesh23/springboot:latest + replicaCount: 1 + +mysql: + database: challenge + +service: + type: LoadBalancer + port: 80 + +autoscaling: + enabled: true + minReplicas: 1 + maxReplicas: 5 + targetCPUUtilizationPercentage: 50 + +readinessProbe: + path: /actuator/health + port: 8080 + initialDelaySeconds: 10 + periodSeconds: 5 + +livenessProbe: + path: /actuator/health + port: 8080 + initialDelaySeconds: 15 + periodSeconds: 10 + +aws: + region: us-west-2 + secretName: devops-challenge-secret + secretProperty: mysql-root-password \ No newline at end of file diff --git a/snapshots/Pasted Graphic 1.png b/snapshots/Pasted Graphic 1.png deleted file mode 100644 index fed7261f6a643ce3864867e9af65226aceea1279..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84471 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

6K1sEcrx7F8 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 B?+gF{ diff --git a/snapshots/image-1.png b/snapshots/image-1.png deleted file mode 100644 index edd0e8225ed2bcc15b9ec9be10f0dc888de49165..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15173 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 diff --git a/snapshots/image-2.png b/snapshots/image-2.png deleted file mode 100644 index cb0449db79ae4201aefdfdaaf62536435680e792..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59008 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 RjWZjoSX5HFHK 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 z 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