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
+47
View File
@@ -0,0 +1,47 @@
apiVersion: v1
kind: Pod
metadata:
labels:
bu: "infra"
team: "devops"
service: "jenkins-dev"
env: "dev"
priority: "p0"
type: "jenkins"
component: "jenkins-agent"
spec:
serviceAccountName: jenkins-dev-agent
containers:
- name: devops-tools
image: asia-southeast1-docker.pkg.dev/homelab-devops-admin-0622/admin/devops/build-tools:lunar-v2.0.22
imagePullPolicy: Always
resources:
requests:
memory: "6G"
cpu: "2"
limits:
memory: "1000G"
cpu: "100"
volumeMounts:
- mountPath: "/root"
name: "cache"
readOnly: false
env:
- name: TZ
value: Asia/Kolkata
- name: DOCKER_HOST
value: dind-dev-svc
command:
- cat
tty: true
nodeSelector:
dedicated: jenkins
tolerations:
- key: "dedicated"
operator: "Equal"
value: "jenkins"
effect: "NoSchedule"
volumes:
- name: cache
persistentVolumeClaim:
claimName: pvc-jenkins-agents-cache-dev
+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
+49
View File
@@ -0,0 +1,49 @@
apiVersion: v1
kind: Pod
metadata:
labels:
bu: "infra"
team: "devops"
service: "jenkins-prd"
env: "prd"
priority: "p0"
type: "jenkins"
component: "jenkins-agent"
spec:
serviceAccountName: jenkins-prd-agent
containers:
- name: devops-tools
image: asia-southeast1-docker.pkg.dev/homelab-devops-admin-0622/admin/devops/build-tools:lunar-v2.0.22
imagePullPolicy: Always
resources:
requests:
memory: "6G"
cpu: "2"
limits:
memory: "1000G"
cpu: "100"
volumeMounts:
- mountPath: "/root"
name: "cache"
readOnly: false
env:
- name: TZ
value: Asia/Kolkata
- name: DOCKER_HOST
value: dind-prd-svc
command:
- cat
tty: true
nodeSelector:
dedicated: jenkins
tolerations:
- key: "dedicated"
operator: "Equal"
value: "jenkins"
effect: "NoSchedule"
volumes:
- name: cache
persistentVolumeClaim:
claimName: pvc-jenkins-agents-cache-prd-new
@@ -0,0 +1,68 @@
apiVersion: v1
kind: Pod
metadata:
labels:
bu: "infra"
team: "devops"
service: "jenkins-prd"
env: "prd"
priority: "p0"
type: "jenkins"
component: "jenkins-agent"
spec:
serviceAccountName: jenkins-prd-agent
containers:
- name: devops-tools
image: asia-southeast1-docker.pkg.dev/homelab-devops-admin-0622/admin/devops/build-tools:lunar-v2.0.21
imagePullPolicy: Always
resources:
requests:
memory: "6G"
cpu: "2"
limits:
memory: "1000G"
cpu: "100"
volumeMounts:
- mountPath: "/root"
name: "cache"
readOnly: false
env:
- name: TZ
value: Asia/Kolkata
- name: DOCKER_HOST
value: dind-prd-svc
command:
- cat
tty: true
- name: dind
image: asia-southeast1-docker.pkg.dev/homelab-devops-admin-0622/admin/devops/docker:28-dind
securityContext:
privileged: true
env:
- name: DOCKER_TLS_CERTDIR
value: ""
resources:
requests:
cpu: "1"
memory: "2Gi"
limits:
cpu: "1"
memory: "2Gi"
volumeMounts:
- name: dind-storage
mountPath: /var/lib/docker
nodeSelector:
dedicated: jenkins
tolerations:
- key: "dedicated"
operator: "Equal"
value: "jenkins"
effect: "NoSchedule"
volumes:
- name: cache
persistentVolumeClaim:
claimName: pvc-jenkins-agents-cache-prd-new
- name: dind-storage
emptyDir: {}
+48
View File
@@ -0,0 +1,48 @@
apiVersion: v1
kind: Pod
metadata:
labels:
bu: "infra"
team: "devops"
service: "jenkins-stg"
env: "stg"
priority: "p0"
type: "jenkins"
component: "jenkins-agent"
spec:
serviceAccountName: jenkins-dev-agent
containers:
- name: devops-tools
image: asia-southeast1-docker.pkg.dev/homelab-devops-admin-0622/admin/devops/build-tools:lunar-v2.0.22
imagePullPolicy: Always
resources:
requests:
memory: "6G"
cpu: "2"
limits:
memory: "1000G"
cpu: "100"
volumeMounts:
- mountPath: "/root"
name: "cache"
readOnly: false
env:
- name: TZ
value: Asia/Kolkata
- name: DOCKER_HOST
value: dind-dev-new-svc.jenkins-new.svc.cluster.local
command:
- cat
tty: true
nodeSelector:
dedicated: jenkins
tolerations:
- key: "dedicated"
operator: "Equal"
value: "jenkins"
effect: "NoSchedule"
volumes:
- name: cache
persistentVolumeClaim:
claimName: pvc-jenkins-agents-cache-dev
@@ -0,0 +1,67 @@
apiVersion: v1
kind: Pod
metadata:
labels:
bu: "infra"
team: "devops"
service: "jenkins-stg"
env: "stg"
priority: "p0"
type: "jenkins"
component: "jenkins-agent"
spec:
serviceAccountName: jenkins-dev-agent
containers:
- name: devops-tools
image: asia-southeast1-docker.pkg.dev/homelab-devops-admin-0622/admin/devops/build-tools:lunar-v2.0.21
imagePullPolicy: Always
resources:
requests:
memory: "6G"
cpu: "2"
limits:
memory: "1000G"
cpu: "100"
volumeMounts:
- mountPath: "/root"
name: "cache"
readOnly: false
env:
- name: TZ
value: Asia/Kolkata
- name: DOCKER_HOST
value: dind-dev-new-svc.jenkins-new.svc.cluster.local
command:
- cat
tty: true
- name: dind
image: asia-southeast1-docker.pkg.dev/homelab-devops-admin-0622/admin/devops/docker:28-dind
securityContext:
privileged: true
env:
- name: DOCKER_TLS_CERTDIR
value: "" # Disable TLS so we can connect via HTTP on port 2375
resources:
requests:
cpu: "1"
memory: "2Gi"
limits:
cpu: "1"
memory: "2Gi"
volumeMounts:
- name: dind-storage
mountPath: /var/lib/docker
nodeSelector:
dedicated: jenkins
tolerations:
- key: "dedicated"
operator: "Equal"
value: "jenkins"
effect: "NoSchedule"
volumes:
- name: cache
persistentVolumeClaim:
claimName: pvc-jenkins-agents-cache-dev
- name: dind-storage
emptyDir: {}
@@ -0,0 +1,84 @@
#!/bin/bash
prepareDockerfileWithBuild(){
cat << EOF > Dockerfile-${artifactId}
# 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 766380763301.dkr.ecr.ap-south-1.amazonaws.com/build/maven:3.3-jdk-8 as BUILD
WORKDIR /usr/src/app
COPY . /usr/src/app
RUN mvn -s sandbox-settings.xml clean install -DskipTests
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
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
EXPOSE 8880 8010
COPY --from=BUILD /usr/src/app/target/${artifactId}-${version}.jar /opt/target/${artifactId}.jar
COPY --from=BUILD /var/log/${artifactId} /var/log/${artifactId}
WORKDIR /opt/target
CMD ["${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/${artifactId}/gc.log", \
"-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=9000k", \
"-Xms2G", "-Xmx2G"]
EOF
}
prepareDockerfileNoBuild(){
cat << EOF > Dockerfile-${artifactId}
# 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 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/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/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
EXPOSE 8880 8010
COPY ${artifactId}/target/*.jar /opt/target/${artifactId}.jar
COPY --from=BUILD /var/log/${artifactId} /var/log/${artifactId}
WORKDIR /opt/target
CMD ["${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/${artifactId}/gc.log", \
"-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=9000k", \
"-Xms2G", "-Xmx2G"]
EOF
}
main(){
if [[ $# == 4 ]];then
export artifactId=$1
export version=$2
export doBuild=$3
export repoName=$4
if [[ $doBuild == "YES" ]];then
rm -f Dockerfile-${artifactId}
prepareDockerfileWithBuild
else
rm -f Dockerfile-${artifactId}
prepareDockerfileNoBuild
fi
ls -latr
cat Dockerfile-${artifactId}
else
echo "Please provide required parameters"
exit 1
fi
}
main $@
@@ -0,0 +1,50 @@
#!/bin/bash
prepareDockerfile(){
cat << EOF > Dockerfile-${artifactId}
ARG ACCOUNT_ID=766380763301
FROM \${ACCOUNT_ID}.dkr.ecr.ap-southeast-1.amazonaws.com/build/node:12.22.1-slim as build-env
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
FROM \${ACCOUNT_ID}.dkr.ecr.ap-southeast-1.amazonaws.com/build/node:12.22.1-alpine
# for health checks
# RUN apk add --update --no-cache curl=7.74.0-r1
USER node:1000
COPY --chown=node:1000 --from=build-env /usr/src/app /app
WORKDIR /app
EXPOSE 2020
COPY --chown=node:1000 . .
CMD ["npm", "start"]
EOF
}
main(){
if [[ $# == 1 ]];then
export artifactId=$1
rm -f Dockerfile-${artifactId}
prepareDockerfile
ls -latr
cat Dockerfile-${artifactId}
else
echo "Please provide required parameters"
exit 1
fi
}
main $@
+47
View File
@@ -0,0 +1,47 @@
apiVersion: v1
kind: Pod
metadata:
labels:
bu: "infra"
team: "toolchain"
service: "jenkins-toolchain"
env: "stg"
priority: "p0"
type: "jenkins"
component: "jenkins-agent"
spec:
serviceAccountName: jenkins-toolchain-dev-agent
containers:
- name: devops-tools
image: asia-southeast1-docker.pkg.dev/homelab-devops-admin-0622/admin/devops/build-tools:lunar-v2.0.22
imagePullPolicy: Always
resources:
requests:
memory: "6G"
cpu: "2"
limits:
memory: "1000G"
cpu: "100"
volumeMounts:
- mountPath: "/root"
name: "cache"
readOnly: false
env:
- name: TZ
value: Asia/Kolkata
- name: DOCKER_HOST
value: toolchain-dind-dev-svc.jenkins-toolchain.svc.cluster.local
command:
- cat
tty: true
nodeSelector:
dedicated: toolchain-jenkins
tolerations:
- key: "dedicated"
operator: "Equal"
value: "toolchain-jenkins"
effect: "NoSchedule"
volumes:
- name: cache
persistentVolumeClaim:
claimName: pvc-toolchain-jenkins-agents-cache-dev