containertools

a library and a DSL to handle container spec files

Pure Nim score 15/100 · tests present · no docs generated

Summary

Latest Version Unknown
License GPL-3.0
CI Status Failing
Downloads 0
Last Indexed 2026-07-21 05:25

Tags

Installation

nimble install containertools
choosenim install containertools
git clone https://github.com/ilmanzo/containertools

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
containertools - - - - - - -

Source

Repository https://github.com/ilmanzo/containertools
Homepage https://github.com/ilmanzo/containertools
Registry Source nimble_official

README

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