aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile84
-rw-r--r--src/base/Dockerfile19
-rw-r--r--src/base/VERSION2
-rw-r--r--src/base/targets/buster-builder0
-rw-r--r--src/base/targets/buster-slim0
-rw-r--r--src/base/targets/sid-slim0
-rw-r--r--src/git-snapshot/Dockerfile2
-rw-r--r--src/gitolite/Dockerfile2
-rw-r--r--src/helm-tools/Dockerfile2
-rw-r--r--src/pelican/Dockerfile2
-rw-r--r--src/znc/Dockerfile2
11 files changed, 60 insertions, 55 deletions
diff --git a/Makefile b/Makefile
index fa01d35..c535abd 100644
--- a/Makefile
+++ b/Makefile
@@ -1,56 +1,46 @@
#!/usr/bin/env make
override CONTAINERS = $(patsubst src/%,%,$(wildcard src/*))
+override TARGETS = $(patsubst src/%,%,$(subst targets/,,$(wildcard src/**/targets/*)))
+
+override PUSH_TARGETS = $(addprefix push/,$(TARGETS))
+override BUILD_TARGETS = $(addprefix build/,$(TARGETS))
+
+override BUILD_CONTAINERS = $(addprefix build/,$(CONTAINERS))
+override PUSH_CONTAINERS = $(addprefix push/,$(CONTAINERS))
+
override REGISTRY_URL = registry.gitlab.com/grumps/grumpy-containers
TAG = $(shell cat src/$(@F)/VERSION)
+BASE_NAME = $(notdir $(@D))
-.PHONY: all clean
-
-all: $(CONTAINERS)
- echo "$(CONTAINERS) "
- @echo "completed"
-
-clean:
- rm -rf build tag release
-
-build/base:
- docker build -t $(@F):$(TAG) -f src/$(@F)/Dockerfile src/$(@F)
- docker build -t $(@F):$(TAG)-sid-slim --build-arg VERSION=sid-slim -f src/$(@F)/Dockerfile src/$(@F)
- mkdir -p build
- echo $(TAG) >> build/$(@F)
- @echo "$(@F) has been built"
-
-build/%:
- docker build -t $(@F):$(TAG) -f src/$(@F)/Dockerfile src/$(@F)
- mkdir -p build
- echo $(TAG) >> build/$(@F)
- @echo "$(@F) has been built"
-
-tag/base:
- docker tag $(@F):$(TAG) $(REGISTRY_URL)/$(@F):$(TAG)
- docker tag $(@F):$(TAG)-sid-slim $(REGISTRY_URL)/$(@F):$(TAG)-sid-slim
- mkdir -p tag
- echo $(TAG) >> tag/$(@F)
- @echo "$(@F) has been tagged"
-
-tag/%:
- docker tag $(@F):$(TAG) $(REGISTRY_URL)/$(@F):$(TAG)
- mkdir -p tag
- echo $(TAG) >> tag/$(@F)
- @echo "$(@F) has been tagged"
-
-release/base:
- docker push $(REGISTRY_URL)/$(@F):$(TAG)
- docker push $(REGISTRY_URL)/$(@F):$(TAG)-sid-slim
- mkdir -p release
- echo $(TAG) >> release/$(@F)
- @echo "$(@F) has been pushed"
+all: $(BUILD_CONTAINERS) $(BUILD_TARGETS) $(PUSH_CONTAINERS) $(PUSH_TARGETS)
+
+$(BUILD_CONTAINERS): TAG = $(shell cat src/$(@F)/VERSION)
+$(BUILD_CONTAINERS):
+ docker build -t $(REGISTRY_URL)/$(@F):$(TAG) -f src/$(@F)/Dockerfile src/$(@F)
+ @echo "$(@F)/$(TAG) has been built"
-release/%:
+$(PUSH_CONTAINERS): TAG = $(shell cat src/$(@F)/VERSION)
+$(PUSH_CONTAINERS):
docker push $(REGISTRY_URL)/$(@F):$(TAG)
- mkdir -p release
- echo $(TAG) >> release/$(@F)
- @echo "$(@F) has been pushed"
+ @echo "$(@F)/$(TAG) has been pushed"
+
+$(BUILD_TARGETS): TAG = $(shell cat src/$(BASE_NAME)/VERSION)
+$(BUILD_TARGETS):
+ docker build --target $(@F) -t $(REGISTRY_URL)/$(BASE_NAME):$(TAG)-$(@F) -f src/$(BASE_NAME)/Dockerfile src/$(BASE_NAME)
+ @echo "$(BASE_NAME)/$(@F)/$(TAG) has been built"
+
+$(PUSH_TARGETS): TAG = $(shell cat src/$(BASE_NAME)/VERSION)
+$(PUSH_TARGETS):
+ docker push $(REGISTRY_URL)/$(BASE_NAME):$(TAG)-$(@F)
+ @echo "$(BASE_NAME)/$(@F)/$(TAG) has been pushed"
+
+
+build: $(BUILD_CONTAINERS) $(BUILD_TARGETS)
+ @echo "completed builds"
+
+push: $(PUSH_CONTAINERS) $(PUSH_TARGETS)
+ @echo "pushed all containers"
-%: build/% tag/% release/%
- @echo "$(@F) has been completed"
+%: build/% push/%
+ echo "completed $%"
diff --git a/src/base/Dockerfile b/src/base/Dockerfile
index 30366a7..5a5b365 100644
--- a/src/base/Dockerfile
+++ b/src/base/Dockerfile
@@ -1,5 +1,4 @@
-ARG VERSION=buster-slim
-FROM debian:${VERSION}
+FROM debian:buster-slim as buster-slim
ENV DEBIAN_FRONTEND=noninteractive
RUN useradd -s /usr/sbin/nologin \
--create-home \
@@ -7,3 +6,19 @@ RUN useradd -s /usr/sbin/nologin \
app
COPY bin/install_deb /usr/local/bin/install_deb
WORKDIR /opt/app
+FROM debian:sid-slim as sid-slim
+ENV DEBIAN_FRONTEND=noninteractive
+RUN useradd -s /usr/sbin/nologin \
+ --create-home \
+ --home-dir /opt/app \
+ app
+COPY bin/install_deb /usr/local/bin/install_deb
+WORKDIR /opt/app
+FROM buster-slim as buster-builder
+ENV DEBIAN_FRONTEND=noninteractive
+COPY bin/install_deb /usr/local/bin/install_deb
+RUN install_deb curl
+WORKDIR /opt/app
+FROM debian:buster-slim as finale
+ENV DEBIAN_FRONTEND=noninteractive
+COPY bin/install_deb /usr/local/bin/install_deb
diff --git a/src/base/VERSION b/src/base/VERSION
index a3dce6c..f9cece5 100644
--- a/src/base/VERSION
+++ b/src/base/VERSION
@@ -1 +1 @@
-v0.0.2
+v0.0.3
diff --git a/src/base/targets/buster-builder b/src/base/targets/buster-builder
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/base/targets/buster-builder
diff --git a/src/base/targets/buster-slim b/src/base/targets/buster-slim
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/base/targets/buster-slim
diff --git a/src/base/targets/sid-slim b/src/base/targets/sid-slim
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/base/targets/sid-slim
diff --git a/src/git-snapshot/Dockerfile b/src/git-snapshot/Dockerfile
index 3c78a99..87e08a6 100644
--- a/src/git-snapshot/Dockerfile
+++ b/src/git-snapshot/Dockerfile
@@ -1,5 +1,5 @@
ARG GIT_SNAPSHOT=0.0.1
-FROM registry.gitlab.com/grumps/grumpy-containers/base:v0.0.2
+FROM registry.gitlab.com/grumps/grumpy-containers/base:v0.0.3
ARG GIT_SNAPSHOT
SHELL ["/bin/bash", "-c"]
RUN install_deb python3-minimal python3-pip python3-setuptools python3-wheel git \
diff --git a/src/gitolite/Dockerfile b/src/gitolite/Dockerfile
index 0127e22..e08e76b 100644
--- a/src/gitolite/Dockerfile
+++ b/src/gitolite/Dockerfile
@@ -1,4 +1,4 @@
-FROM registry.gitlab.com/grumps/grumpy-containers/base:v0.0.2
+FROM registry.gitlab.com/grumps/grumpy-containers/base:v0.0.3
SHELL ["/bin/bash", "-c"]
RUN install_deb gitolite3
diff --git a/src/helm-tools/Dockerfile b/src/helm-tools/Dockerfile
index 348cd6a..d3aba41 100644
--- a/src/helm-tools/Dockerfile
+++ b/src/helm-tools/Dockerfile
@@ -1,4 +1,4 @@
-FROM registry.gitlab.com/grumps/grumpy-containers/base:v0.0.1
+FROM registry.gitlab.com/grumps/grumpy-containers/base:v0.0.3
RUN apt-get update -y \
&& apt-get install -y curl make git \
&& curl -L -o /tmp/hm.tar.gz https://get.helm.sh/helm-v2.14.3-linux-amd64.tar.gz \
diff --git a/src/pelican/Dockerfile b/src/pelican/Dockerfile
index 8a902f4..3834138 100644
--- a/src/pelican/Dockerfile
+++ b/src/pelican/Dockerfile
@@ -1,4 +1,4 @@
-FROM registry.gitlab.com/grumps/grumpy-containers/base:v0.0.1
+FROM registry.gitlab.com/grumps/grumpy-containers/base:v0.0.3
RUN apt-get update -y && apt-get install -y python3-pip libsass-dev ruby-sass
RUN pip3 install pelican webassets Pillow markdown cssmin libsass
USER app
diff --git a/src/znc/Dockerfile b/src/znc/Dockerfile
index c819b60..241761c 100644
--- a/src/znc/Dockerfile
+++ b/src/znc/Dockerfile
@@ -1,5 +1,5 @@
FROM gcr.io/google-containers/pause:latest
-FROM registry.gitlab.com/grumps/grumpy-containers/base:v0.0.2-sid-slim
+FROM registry.gitlab.com/grumps/grumpy-containers/base:v0.0.3-sid-slim
SHELL ["/bin/bash", "-c"]
RUN install_deb znc znc-perl znc-push znc-python znc-backlog
USER app