π¦ Bundler & Unbundler (Knowledge Base)
The Bundler and Unbundler Jenkins workflows exist to solve a critical problem: securely and easily transferring built artifacts across network boundaries into our internal deployments. π

ποΈ The Bundler Pipelineβ
The Bundler pipeline is an automated packing tool. It scoops up Docker tarballs, Helm packages, and full Git repositories and compresses them into a single, clean ZIP file! π€
It requires just one parameter to run: an artifacts.json file.
Example artifacts.json:
{
"docker": {
"acrarolibotnonprod.azurecr.io": {
"3d-gateway": "v2.4.2",
"store-trigger": "v1.5.2"
},
"docker.io": {
"bitnami/redis": "7.2.3",
"timonwong/uwsgi-exporter": "latest"
}
},
"helm": {
"acrarolibotnonprod.azurecr.io": {
"gateway": "2.4.2",
"store-trigger": "1.5.2"
},
"https://charts.bitnami.com/bitnami": {
"redis": "18.5.0"
}
},
"git": [
"MapColonies/helm-charts",
"MapColonies/jenkins-integration@multifiles"
]
}
Watch out! To save space, your generated bundle ZIP will be automatically deleted after exactly 1 week!
π‘οΈ The .bundlerrc Whitelist Featureβ
When the bundler processes a Git repository, it looks for a .bundlerrc file in the root directory.
- If it exists: It acts as a strict whitelist! Only the files and directories explicitly declared in
.bundlerrcare saved into the ZIP. - If it is missing: The bundler grabs the entire repository contents.
helm/
README.md
scripts/
π© Slack Notificationsβ
Once the bundler finishes its heavy lifting, it instantly pings your team's Slack <team>-notifications channel with a download link!

π€ The Unbundler Pipelineβ
The Unbundler pipeline lives on the other side of the fence, inside our destination networks.
After you manually copy your bundle ZIP over to the secure network, the Unbundler pipeline takes over to unpack and distribute everything automatically:
- π³ Docker: It extracts every Docker tarball and pushes the images (with their original tags) to all available Docker registries in the local site.
- βΈοΈ Helm: It extracts every Helm package and pushes them (with exact versions and names) to all available Helm registries in the local site.