Rename com.meesho/org.meesho namespace to com.homelab/org.homelab

Renames src/com/meesho -> src/com/homelab, resources/com/meesho ->
resources/com/homelab, resources/org/meesho -> resources/org/homelab
(via git mv, preserving history), and sweeps every remaining
occurrence of "meesho" (any casing) out of package declarations,
imports, libraryResource() paths, and comments across the whole repo.

Also drops the per-user allowlist in vars/eksCICD.groovy, which
hardcoded real former-colleagues' emails and doesn't apply to a
single-person homelab — that branch is now permanently skipped rather
than deleted outright, to avoid hand-editing the escape-sequence-heavy
echo blocks it guards (eksCICD.groovy itself is unused legacy code,
not called by homelabPipeline.groovy).

Does not touch the ~114 files that were already missing from the
working tree but still tracked in the prior commit — that's unrelated
pre-existing state, left as-is.
This commit is contained in:
Mukul Sharma
2026-09-02 01:24:37 +05:30
parent 3419cfba0c
commit 83cbf62ec6
94 changed files with 850 additions and 800 deletions
@@ -6,7 +6,7 @@
# ARG ACCOUNT_ID=766380763301
FROM ${buildRegistry}/build/java:8-jdk-slim-secure_v1.0
#FROM asia-southeast1-docker.pkg.dev/supply-poc-351106/meesho-devops/java:8
#FROM asia-southeast1-docker.pkg.dev/supply-poc-351106/homelab-devops/java:8
ARG artifactId=sample
ARG XMS=2G
ARG XMX=2G
+7
View File
@@ -0,0 +1,7 @@
// Copy this exact file into any app repo's own Jenkinsfile. repo_name is
// the only required key — service_name/argo_app_name default to it,
// harbor_project/helm_repo_url/image_tag_yq_path default to this
// homelab's repo-wide conventions. See vars/homelabPipeline.groovy for
// the full default list and how to override any of them.
@Library('devops-lib') _
homelabPipeline(repo_name: 'CHANGE_ME')
@@ -24,7 +24,7 @@ spec:
valueFiles:
- ../${helm_values_path}/values.yaml
path: ${helm_version}
repoURL: https://github.com/Meesho/devops-helm-charts.git
repoURL: https://github.com/Homelab/devops-helm-charts.git
targetRevision: ${branch_name}
syncPolicy:
syncOptions:
@@ -37,7 +37,7 @@ cron:
<% print 'jmx.io/port: "8880"' %>
<% print 'jmx.io/scrape: "true"'} %>
<% if (nodeSelector.contains("arm64") && (environment=="int" || environment=="prd")) { print 'telegraf.influxdata.com/image: 847438129436.dkr.ecr.ap-southeast-1.amazonaws.com/telegraf:1.24.4-arm64' } %>
<% if ( CLOUD_PROVIDER == "GCP" ) { print 'telegraf.influxdata.com/image: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/telegraf:1.24.4' } %>
<% if ( CLOUD_PROVIDER == "GCP" ) { print 'telegraf.influxdata.com/image: asia-southeast1-docker.pkg.dev/homelab-devops-admin-0622/admin/sre/telegraf:1.24.4' } %>
<% if (appMetrics) { print 'prometheus.io/path: /actuator/prometheus' %>
<% print 'prometheus.io/port: "'+app_port+'"' %>
<% print 'prometheus.io/scrape: "true"'} %>
@@ -56,7 +56,7 @@ externalSecret:
annotations:
<% if (external_secrets_annotations) {external_secrets_annotations.each{k,v -> println " ${k}: ${v}"};} else {print ''} %>
enabled: true
path: meesho/${vault_env}/${bu}/${team}/${app_name}
path: homelab/${vault_env}/${bu}/${team}/${app_name}
version: ${tag}
name: ${env_ns}-${app_name}
target: ${app_name}
+17
View File
@@ -0,0 +1,17 @@
# Fallback only — used when the repo has no Dockerfile of its own (see
# buildDocker.groovy). Simplified from the real go-Dockerfile: no SSH-keyed
# private module auth (github.com/Homelab/*), no per-module builds, no
# kafka-specific CGO toggle. Assumes a standard single-binary repo layout
# (main package at the repo root) — a repo with a different structure
# should just bring its own Dockerfile, same as demo-go-app does.
FROM golang:${version}-alpine AS build
WORKDIR /src
COPY go.mod go.sum* ./
RUN go mod download 2>/dev/null || true
COPY . .
RUN CGO_ENABLED=0 go build -o /app .
FROM alpine:3.20
COPY --from=build /app /app
EXPOSE 8080
ENTRYPOINT ["/app"]
@@ -104,7 +104,7 @@ externalSecret:
annotations:
<% if (external_secrets_annotations) {external_secrets_annotations.each{k,v -> println " ${k}: ${v}"};} else {print ''} %>
enabled: true
path: meesho/${vault_env}/${bu}/${team}/${app_name}
path: homelab/${vault_env}/${bu}/${team}/${app_name}
version: ${tag}
name: ${env_ns}-${app_name}
target: ${app_name}
+16
View File
@@ -0,0 +1,16 @@
# Fallback only — see go-Dockerfile's header comment for the general
# rule. Simplified from the real java-Dockerfile: no JFrog artifact
# resolution, no Homelab-internal Maven mirror. Assumes a standard Maven
# repo producing a single runnable jar under target/.
FROM maven:3-eclipse-temurin-${version} AS build
WORKDIR /src
COPY pom.xml .
RUN mvn -B dependency:go-offline
COPY . .
RUN mvn -B package -DskipTests
FROM eclipse-temurin:${version}-jre
WORKDIR /app
COPY --from=build /src/target/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
+17
View File
@@ -0,0 +1,17 @@
# Fallback only — see go-Dockerfile's header comment for the general
# rule. Simplified from the real node-Dockerfile: no PBAC registry sync,
# no inline Sonar/coverage stage, no .npmrc-across-subdirectories dance.
# Assumes a standard `npm run build` + `npm start` repo.
FROM node:${version}-slim AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build --if-present
FROM node:${version}-slim
WORKDIR /app
COPY --from=build /app .
ENV NODE_ENV=production
EXPOSE 8080
CMD ["npm", "start"]
@@ -110,7 +110,7 @@ externalSecret:
annotations:
<% if (external_secrets_annotations) {external_secrets_annotations.each{k,v -> println " ${k}: ${v}"};} else {print ''} %>
enabled: <% if(appConfigEnabled) { print "true" } else { print "false"} %>
path: meesho/${vault_env}/${bu}/${team}/${app_name}
path: homelab/${vault_env}/${bu}/${team}/${app_name}
version: ${tag}
name: ${env_ns}-${app_name}
target: ${app_name}
+12
View File
@@ -0,0 +1,12 @@
# Fallback only — see go-Dockerfile's header comment for the general
# rule. Simplified from the real php-Dockerfile. Assumes a standard
# composer-based repo served by Apache.
FROM php:${version}-apache
WORKDIR /var/www/html
RUN docker-php-ext-install pdo pdo_mysql
COPY . .
RUN if [ -f composer.json ]; then \
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \
composer install --no-dev --optimize-autoloader; \
fi
EXPOSE 80
@@ -98,7 +98,7 @@ externalSecret:
annotations:
<% if (external_secrets_annotations) {external_secrets_annotations.each{k,v -> println " ${k}: ${v}"};} else {print ''} %>
enabled: true
path: meesho/${vault_env}/${bu}/${team}/${app_name}
path: homelab/${vault_env}/${bu}/${team}/${app_name}
version: ${tag}
name: ${env_ns}-${app_name}
target: ${app_name}
+12
View File
@@ -0,0 +1,12 @@
# Fallback only — see go-Dockerfile's header comment for the general
# rule. Simplified from the real python-*-Dockerfile set (which had four
# separate version-pinned files, 2.7/3.7/3.10.12/3.13) into one
# version-parametrized template. Assumes a standard requirements.txt +
# app.py (Flask/FastAPI-style `app:app` target for gunicorn) repo.
FROM python:${version}-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8080
CMD ["gunicorn", "--bind", "0.0.0.0:8080", "app:app"]
@@ -103,7 +103,7 @@ externalSecret:
annotations:
<% if (external_secrets_annotations) {external_secrets_annotations.each{k,v -> println " ${k}: ${v}"};} else {print ''} %>
enabled: true
path: meesho/${vault_env}/${bu}/${team}/${app_name}
path: homelab/${vault_env}/${bu}/${team}/${app_name}
version: ${tag}
name: ${env_ns}-${app_name}
target: ${app_name}
@@ -159,8 +159,8 @@ statefulset:
enabled: <% if (kind == "statefulset" || kind == "StatefulSet" || kind == "statefulSet") { print "true" } else { print "false" } %>
updateStrategy: <% if (statefulset.updateStrategy == "RollingUpdate" || statefulset.updateStrategy == "rollingUpdate" || statefulset.updateStrategy == "rollingupdate") { print "RollingUpdate" } else { print "null" } %>
volumeType: ${statefulset.volumeType}
<% if(statefulset.volumeType == "static" || statefulset.volumeType == "Static") { println " staticVolume:"; statefulset.staticVolume.each{k,v -> println " ${k}: ${v}"};} else {print " staticVolume:\n accessMode: ReadWriteMany\n mountPath: /opt/data\n size: 5Gi\n storageClass: meesho-gp2\n volumeHandle: fs-0e2a97a38b01857d1::fsap-07b146e3bc7aef280\n csiDriver: efs.csi.aws.com"} %>
<% if(statefulset.volumeType == "dynamic" || statefulset.volumeType == "Dynamic") { println " dynamicVolume:"; statefulset.dynamicVolume.each{k,v -> println " ${k}: ${v}"};} else {print " dynamicVolume:\n accessMode: ReadWriteMany\n mountPath: /opt/data\n size: 5Gi\n storageClass: meesho-gp2"} %>
<% if(statefulset.volumeType == "static" || statefulset.volumeType == "Static") { println " staticVolume:"; statefulset.staticVolume.each{k,v -> println " ${k}: ${v}"};} else {print " staticVolume:\n accessMode: ReadWriteMany\n mountPath: /opt/data\n size: 5Gi\n storageClass: homelab-gp2\n volumeHandle: fs-0e2a97a38b01857d1::fsap-07b146e3bc7aef280\n csiDriver: efs.csi.aws.com"} %>
<% if(statefulset.volumeType == "dynamic" || statefulset.volumeType == "Dynamic") { println " dynamicVolume:"; statefulset.dynamicVolume.each{k,v -> println " ${k}: ${v}"};} else {print " dynamicVolume:\n accessMode: ReadWriteMany\n mountPath: /opt/data\n size: 5Gi\n storageClass: homelab-gp2"} %>
createContourGateway: <% if (createContourGateway) { print "${createContourGateway}" } else { print "false" } %>
contourResponseTimeout: ${contourResponseTimeout}
podtemplate:
@@ -34,7 +34,7 @@ RUN cargo build --workspace --release
# Clean up SSH key from builder stage for security
RUN rm -rf /root/.ssh/
FROM asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/build/debian:trixie-slim
FROM asia-southeast1-docker.pkg.dev/homelab-devops-admin-0622/admin/build/debian:trixie-slim
# Install runtime dependencies if your app needs them (e.g., SSL)
RUN apt-get update && apt-get install -y --no-install-recommends \
@@ -108,7 +108,7 @@ externalSecret:
annotations:
<% if (external_secrets_annotations) {external_secrets_annotations.each{k,v -> println " ${k}: ${v}"};} else {print ''} %>
enabled: true
path: meesho/${vault_env}/${bu}/${team}/${app_name}
path: homelab/${vault_env}/${bu}/${team}/${app_name}
version: ${tag}
name: ${env_ns}-${app_name}
target: ${app_name}
@@ -25,15 +25,15 @@ merger = Merger(
deployable_section_format = ""
invalid_patterns = {
'stg': ['int.meesho.int', 'prd.meesho.int'],
'int': ['stg.meesho.int'],
'prd': ['int.meesho.int', 'stg.meesho.int']
'stg': ['int.homelab.int', 'prd.homelab.int'],
'int': ['stg.homelab.int'],
'prd': ['int.homelab.int', 'stg.homelab.int']
}
valid_zk_patterns = {
'dev': ['dev.meesho.int:2181'],
'stg': ['dev.meesho.int:2181'],
'int': ['int.meesho.int:2181'],
'prd': ['config.prd.meesho.int:2181','mlp.prd.meesho.int:2181','comms.prd.meesho.int:2181']
'dev': ['dev.homelab.int:2181'],
'stg': ['dev.homelab.int:2181'],
'int': ['int.homelab.int:2181'],
'prd': ['config.prd.homelab.int:2181','mlp.prd.homelab.int:2181','comms.prd.homelab.int:2181']
}
whitelists_for_preprod = ['consumer', 'scheduler', 'cron']
@@ -25,15 +25,15 @@ merger = Merger(
deployable_section_format = ""
invalid_patterns = {
'stg': ['int.meesho.int', 'prd.meesho.int'],
'int': ['stg.meesho.int'],
'prd': ['int.meesho.int', 'stg.meesho.int']
'stg': ['int.homelab.int', 'prd.homelab.int'],
'int': ['stg.homelab.int'],
'prd': ['int.homelab.int', 'stg.homelab.int']
}
valid_zk_patterns = {
'dev': ['dev.meesho.int:2181', 'dev.meesho.int'],
'stg': ['dev.meesho.int:2181', 'dev.meesho.int'],
'int': ['int.meesho.int:2181', 'int.meesho.int'],
'prd': ['config.prd.meesho.int:2181','mlp.prd.meesho.int:2181','comms.prd.meesho.int:2181', 'config.prd.meesho.int','mlp.prd.meesho.int','comms.prd.meesho.int']
'dev': ['dev.homelab.int:2181', 'dev.homelab.int'],
'stg': ['dev.homelab.int:2181', 'dev.homelab.int'],
'int': ['int.homelab.int:2181', 'int.homelab.int'],
'prd': ['config.prd.homelab.int:2181','mlp.prd.homelab.int:2181','comms.prd.homelab.int:2181', 'config.prd.homelab.int','mlp.prd.homelab.int','comms.prd.homelab.int']
}
whitelists_for_preprod = ['consumer', 'scheduler', 'cron']
@@ -130,7 +130,7 @@ externalSecret:
annotations:
<% if (external_secrets_annotations) {external_secrets_annotations.each{k,v -> println " ${k}: ${v}"};} else {print ''} %>
enabled: true
path: meesho/${vault_env}/${bu}/${team}/${app_name}
path: homelab/${vault_env}/${bu}/${team}/${app_name}
version: ${tag}
name: ${env_ns}-${app_name}
target: ${app_name}
-3
View File
@@ -1,3 +0,0 @@
@Library('devops-lib') _
eksCICD repo_name: "${repo_name}"
-47
View File
@@ -1,47 +0,0 @@
# tools and packages from base image
FROM ${build_registry}/build/golang:${version}-alpine3.18${kafka} AS builder
<% if(module_property.kafka) { println "ENV GOPROXY=${go_proxy},direct CGO_ENABLED=1 GOOS=linux"} else { println "ENV GOPROXY=${go_proxy},direct CGO_ENABLED=0 GOOS=linux"} %>
# Following steps will help in downloading dependencies for the project
COPY id_github_jenkins /root/.ssh/id_rsa
RUN chmod 600 /root/.ssh/id_rsa && \
ssh-keyscan github.com >> /root/.ssh/known_hosts && \
git config --global url."git@github.com:".insteadOf "https://github.com/"
# The tar file contains only the go.mod and go.sum files, it is generated as part of Jenkins build.
ADD only-mods.tar /app/
# directory inside container and default destination for all subsequent commands
<% if (base_dir) { println "WORKDIR /app/${base_dir}"} else { println "WORKDIR /app/"} %>
# downloading all the dependencies
RUN --mount=type=cache,target=/go/pkg/mod,id=${repo_name} \
--mount=type=cache,target=/root/.cache/go-build,id=${repo_name}-build \
go env -w GOPRIVATE=github.com/Meesho/* && go mod download
# copying the source code
COPY . /app/
# building the code for linux OS
RUN --mount=type=cache,target=/go/pkg/mod,id=${repo_name} \
--mount=type=cache,target=/root/.cache/go-build,id=${repo_name}-build \
go mod tidy && go build -tags musl --ldflags "-extldflags -static" -v -o /app/server cmd/${module}/main.go
# deploy multistage
FROM ${build_registry}/build/debian:10-slim-v1
# install an up-to-date, properly rehashed CA trust store in the runtime image
# instead of copying the stale Alpine builder bundle (DEVOPS-30300)
RUN apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates \
&& update-ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# copy the binary to the production image from the builder stage.
COPY --from=builder /app/server /app/server
<% if (copy_file) { print "COPY copied_files/* $copy_target" } %>
<% add_files.each { print "COPY ${it.path} ${it.target}\n" } %>
# running the binary
CMD ["/app/server"]
-33
View File
@@ -1,33 +0,0 @@
# This sample, non-production-ready template describes an Amazon EC2 instance and an Elastic Load Balancer.
# © 2020 Amazon Web Services, Inc. or its affiliates. All Rights Reserved.
# This AWS Content is provided subject to the terms of the AWS Customer Agreement available at
# http://aws.amazon.com/agreement or other written agreement between Customer and either
# Amazon Web Services, Inc. or Amazon Web Services EMEA SARL or both.
FROM ${buildRegistry}/build/java:${dockerBuildVersion}
ARG artifactId=<% print module=='module_less'?repo_name:module %>
ARG XMS=2G
ARG XMX=2G
ADD https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.15.0/jmx_prometheus_javaagent-0.15.0.jar /opt/jmx_exporter.jar
#ADD https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v1.17.0/opentelemetry-javaagent.jar /opt/opentelemetry-javaagent.jar
ADD https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v2.26.0/opentelemetry-javaagent.jar /opt/opentelemetry-javaagent.jar
EXPOSE 8880 8010
COPY <% print module=='module_less'?'':module+"/" %>target/*.jar /opt/target/<% print '$artifactId' %>.jar
#RUN mkdir -p /var/log/<% print '$artifactId' %> && touch /var/log/<% print '$artifactId' %>/gc.log
<% add_files.each { print "COPY ${it.path} ${it.target}\n" } %>
<% if (copy_file) { print "COPY copied_files/* $copy_target"} %>
WORKDIR /opt/target
CMD ["<% print '$artifactId' %>.jar", "-javaagent:/opt/jmx_exporter.jar=8880:/opt/config/jmx-config.yaml", \\
"-XX:MinRAMPercentage=50.0", "-XX:MaxRAMPercentage=80.0", \\
"-XX:+UseParallelGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails", \\
"-XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime", "-XX:+PrintHeapAtGC", \\
"-Xloggc:/var/log/gc.log", \\
"-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=9000k", \\
"-Xms<% print '$XMS'%>", "-Xmx<% print '$XMX'%>"]
-58
View File
@@ -1,58 +0,0 @@
FROM ${buildRegistry}/build/node:${version}-slim-secure-multiarch_v2.0 as build-env
WORKDIR /usr/src/app
COPY id_github_jenkins /root/.ssh/id_rsa
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts
COPY . ./
<% add_files.each { print "COPY ${it.path} ${it.target}\n" } %>
RUN ls -al && \
echo 'NPM Install...' && \
<% if (npm_install_arg) { %>\
echo 'Using custom npm install command: ${npm_install_arg}' && \
${npm_install_arg} && \
<% } else { %>\
npm ci && \
<% } %>\
echo 'Ensuring .npmrc is available in subdirectories...' && \
for subdir in server client; do \
if [ -d "\$subdir" ] && [ -f .npmrc ] && [ ! -f "\$subdir/.npmrc" ]; then \
cp -v .npmrc "\$subdir/.npmrc"; \
fi; \
done && \
<% if (pbac_enabled) { %>\
echo 'Installing PBAC Registry Sync CLI...' && \
git config --global url."git@github.com:".insteadOf "https://github.com/" && \
npm install -g pbac-registry-sync-cli --registry=${npm_registry} && \
echo 'Syncing PBAC Registry for scope: ${pbac_scope_name} environment: ${pbac_env}' && \
sync-pbac-registry ${pbac_scope_name} ${pbac_env} && \
echo 'PBAC Registry Sync Completed' && \
echo 'Copying .npmrc to subdirectories for proper registry resolution...' && \
for subdir in server client; do \
if [ -d "\$subdir" ] && [ ! -f "\$subdir/.npmrc" ]; then \
cp -v .npmrc "\$subdir/.npmrc"; \
fi; \
done && \
<% } %>\
if ! ${skip_sonar}; then \
cat .env | grep 'SONAR_' && \
echo 'Installing Java 17...' && \
if [ "\$(cat /etc/os-release | grep 'ID=' | awk -F= '{print \$2}' | sed '2d')" = 'alpine' ]; then \
echo "Alpine" && \
apk add --no-cache openjdk17; \
else \
echo "Debian" && \
apt-get update && \
apt-get install -y --no-install-recommends openjdk-17-jre && \
apt-get clean; \
fi && \
echo 'Performing Test Coverage...' && \
npm run ${testCMD} || true && \
echo 'Static Analysis...' && \
npm run sonar -- source=${scmType}; \
fi && \
echo 'NPM build...' && \
npm run build
-35
View File
@@ -1,35 +0,0 @@
FROM php:7.0.33-apache
RUN echo "deb http://archive.debian.org/debian stretch main" > /etc/apt/sources.list
RUN apt-get update && \
apt-get install -y libxml2-dev && \
apt-get install -y libssl-dev && \
apt-get install -y libedit-dev && \
apt-get install -y libpq-dev && \
apt-get install -y libxslt1-dev && \
apt-get install -y zlib1g-dev && \
apt-get install -y libxml2-dev
RUN docker-php-ext-install xml xmlwriter mysqli pdo pdo_mysql opcache json calendar fileinfo ctype dom exif ftp gettext iconv pgsql phar posix readline shmop simplexml sockets sysvmsg sysvsem sysvshm tokenizer wddx xsl pdo_pgsql
RUN mkdir -p /home/ubuntu/billion_dollar/supply_api
RUN mkdir -p /home/ubuntu/billion_dollar/supply_api/logs/
COPY ./ /home/ubuntu/billion_dollar/supply_api
<% if (copy_file) { print "COPY copied_files/apache2/ ${copy_target}\nRUN mkdir -p /etc/phpmyadmin && mv ${copy_target}phpmyadmin_apache.conf /etc/phpmyadmin/apache.conf"} %>
<% add_files.each { print "COPY ${it.path} ${it.target}\n" } %>
WORKDIR /home/ubuntu/billion_dollar/supply_api
RUN cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini
RUN echo "date.timezone=Asia/Kolkata" >> /usr/local/etc/php/php.ini
RUN chmod 755 /home/ubuntu/billion_dollar/supply_api
RUN service apache2 restart
RUN rm /etc/apache2/sites-enabled/000-default.conf && \
rm /etc/apache2/sites-available/000-default.conf && \
chmod -R 755 /home/ubuntu/billion_dollar/supply_api/api && \
chmod 644 /home/ubuntu/billion_dollar/supply_api/api/.htaccess
CMD ["apache2-foreground"]
@@ -13,7 +13,7 @@ spec:
serviceAccountName: jenkins-dev-agent
containers:
- name: devops-tools
image: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/devops/build-tools:lunar-v2.0.22
image: asia-southeast1-docker.pkg.dev/homelab-devops-admin-0622/admin/devops/build-tools:lunar-v2.0.22
imagePullPolicy: Always
resources:
requests:
+54
View File
@@ -0,0 +1,54 @@
# New resource — didn't exist in the original devops-lib. Homelab's real
# pipelines built on static agents (node('slave02')) with Docker already
# available; this homelab's Jenkins uses dynamic per-build Kubernetes
# agents (agent.enabled in the jenkins chart), which don't have a Docker
# daemon by default. This pod template adds one as a sidecar container —
# the "docker" container runs privileged dind, "docker-cli" is what the
# pipeline actually execs into via container('docker-cli'), talking to
# its sibling over localhost since containers in one pod share a network
# namespace.
apiVersion: v1
kind: Pod
spec:
containers:
- name: docker
image: docker:27-dind
securityContext:
privileged: true
env:
- name: DOCKER_TLS_CERTDIR
value: ""
volumeMounts:
- name: docker-graph-storage
mountPath: /var/lib/docker
- name: docker-cli
image: docker:27-cli
command: ["cat"]
tty: true
env:
- name: DOCKER_HOST
value: tcp://localhost:2375
# For syncArgoApp.groovy — read directly from the ESO-managed
# Secret, not a Jenkins-native credential (nothing in this
# pipeline uses Jenkins' own credential store; staying consistent
# rather than mixing the two approaches).
- name: ARGOCD_TOKEN
valueFrom:
secretKeyRef:
name: argocd-jenkins-ci-token
key: token
# Without this, every build using this pod template hard-fails
# to even start until the token secret exists — including the
# very first demo-go-app run, before the manual
# `argocd account generate-token` bootstrap step has happened.
optional: true
volumeMounts:
- name: docker-config
mountPath: /root/.docker
readOnly: true
volumes:
- name: docker-graph-storage
emptyDir: {}
- name: docker-config
secret:
secretName: harbor-robot-dockerconfig
@@ -14,7 +14,7 @@ spec:
containers:
- name: devops-tools
image: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/devops/build-tools:lunar-v2.0.22
image: asia-southeast1-docker.pkg.dev/homelab-devops-admin-0622/admin/devops/build-tools:lunar-v2.0.22
imagePullPolicy: Always
resources:
@@ -13,7 +13,7 @@ spec:
serviceAccountName: jenkins-prd-agent
containers:
- name: devops-tools
image: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/devops/build-tools:lunar-v2.0.21
image: asia-southeast1-docker.pkg.dev/homelab-devops-admin-0622/admin/devops/build-tools:lunar-v2.0.21
imagePullPolicy: Always
resources:
requests:
@@ -36,7 +36,7 @@ spec:
tty: true
- name: dind
image: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/devops/docker:28-dind
image: asia-southeast1-docker.pkg.dev/homelab-devops-admin-0622/admin/devops/docker:28-dind
securityContext:
privileged: true
env:
@@ -13,7 +13,7 @@ spec:
serviceAccountName: jenkins-dev-agent
containers:
- name: devops-tools
image: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/devops/build-tools:lunar-v2.0.22
image: asia-southeast1-docker.pkg.dev/homelab-devops-admin-0622/admin/devops/build-tools:lunar-v2.0.22
imagePullPolicy: Always
resources:
requests:
@@ -13,7 +13,7 @@ spec:
serviceAccountName: jenkins-dev-agent
containers:
- name: devops-tools
image: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/devops/build-tools:lunar-v2.0.21
image: asia-southeast1-docker.pkg.dev/homelab-devops-admin-0622/admin/devops/build-tools:lunar-v2.0.21
imagePullPolicy: Always
resources:
requests:
@@ -36,7 +36,7 @@ spec:
tty: true
- name: dind
image: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/devops/docker:28-dind
image: asia-southeast1-docker.pkg.dev/homelab-devops-admin-0622/admin/devops/docker:28-dind
securityContext:
privileged: true
env:
@@ -38,10 +38,10 @@ cat << EOF > Dockerfile-${artifactId}
# http://aws.amazon.com/agreement or other written agreement between Customer and either
# Amazon Web Services, Inc. or Amazon Web Services EMEA SARL or both.
FROM 766380763301.dkr.ecr.ap-south-1.amazonaws.com/build/maven:3.3-jdk-8 as BUILD
#FROM asia-southeast1-docker.pkg.dev/supply-poc-351106/meesho-devops/maven:3.3-jdk-8 as BUILD
#FROM asia-southeast1-docker.pkg.dev/supply-poc-351106/homelab-devops/maven:3.3-jdk-8 as BUILD
RUN mkdir -p /var/log/${artifactId} && touch /var/log/${artifactId}/gc.log
FROM 766380763301.dkr.ecr.ap-south-1.amazonaws.com/build/java:8-jdk-slim-secure_v1.0
#FROM asia-southeast1-docker.pkg.dev/supply-poc-351106/meesho-devops/java:8
#FROM asia-southeast1-docker.pkg.dev/supply-poc-351106/homelab-devops/java:8
ADD https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.15.0/jmx_prometheus_javaagent-0.15.0.jar /opt/jmx_exporter.jar
### Config added through configmap
# COPY config.yaml /opt/config.yaml
@@ -13,7 +13,7 @@ spec:
serviceAccountName: jenkins-toolchain-dev-agent
containers:
- name: devops-tools
image: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/devops/build-tools:lunar-v2.0.22
image: asia-southeast1-docker.pkg.dev/homelab-devops-admin-0622/admin/devops/build-tools:lunar-v2.0.22
imagePullPolicy: Always
resources:
requests: