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:
@@ -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
|
||||
@@ -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
|
||||
@@ -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: {}
|
||||
|
||||
@@ -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 $@
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user