mirror of
https://github.com/ilmanzo/containertools
synced 2026-01-15 13:31:49 +00:00
No description
| .github/workflows | ||
| examples | ||
| src | ||
| tests | ||
| .gitignore | ||
| containertools.nimble | ||
| LICENSE | ||
| README.md | ||
| TODO.md | ||
containertools
a work-in-progress library and a DSL to handle container spec files
starting develoment as a HackWeek project : https://hackweek.opensuse.org/22/projects/containerfile-slash-dockerfile-generator-library
basic usage examples:
import containertools
let image = container:
FROM "opensuse/leap"
CMD "echo Hello"
image.save "Containerfile"
image.build
import containertools
let image = container:
FROM "node:16"
COPY ". ."
RUN "npm install"
EXPOSE 3000
CMD @["node", "index.js"]
image.save "Containerfile"
image.build
a dynamic example:
for i in countup(0, 3):
images[i] = container:
FROM "opensuse/leap"
if i mod 2 == 0:
ENV &"buildno={i}.0"
LABEL "Environment=PROD"
RUN "zypper install nginx-stable"
else:
ENV &"buildno={i}.1"
LABEL "Environment=DEV"
RUN "zypper install nginx-testing"
#images.mapIt(push(it,MY_REGISTRY)) # pushes all to remote registry