aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Bourke <paul.bourke@oracle.com>2017-02-22 12:04:11 +0000
committerPaul Bourke <paul.bourke@oracle.com>2017-02-22 12:23:39 +0000
commitd0f84b491cc4eb3950d04c077ae9f0aafb623918 (patch)
tree65d56b0089e1254dd00daecceea00eb8f695d262
parent1fbe35815cf83b48d5ffda246ee7aff39931bce6 (diff)
downloadkolla-d0f84b491cc4eb3950d04c077ae9f0aafb623918.tar.gz
kolla-d0f84b491cc4eb3950d04c077ae9f0aafb623918.zip
Allow full customisation of kube image binaries
The location of the binaries in these images can be overridden by setting ENV in the header blocks, but if an operator wants to use a different install method all together (e.g. rpm), these blocks will allow that. Also import the macros in kube-base to allow their use in overrides. Change-Id: I3e52e315f0103d8a1c95d4489fa3841900fdff75
-rw-r--r--docker/kube/kube-apiserver-amd64/Dockerfile.j22
-rw-r--r--docker/kube/kube-base/Dockerfile.j22
-rw-r--r--docker/kube/kube-controller-manager-amd64/Dockerfile.j22
-rw-r--r--docker/kube/kube-discovery-amd64/Dockerfile.j22
-rw-r--r--docker/kube/kube-proxy-amd64/Dockerfile.j22
-rw-r--r--docker/kube/kube-scheduler-amd64/Dockerfile.j22
6 files changed, 12 insertions, 0 deletions
diff --git a/docker/kube/kube-apiserver-amd64/Dockerfile.j2 b/docker/kube/kube-apiserver-amd64/Dockerfile.j2
index ab23dcfa2..28e61aea6 100644
--- a/docker/kube/kube-apiserver-amd64/Dockerfile.j2
+++ b/docker/kube/kube-apiserver-amd64/Dockerfile.j2
@@ -5,9 +5,11 @@ ENV KUBERNETES_COMPONENT=kube-apiserver
{% block kube_apiserver_amd64_header %}{% endblock %}
+{% block kube_apiserver_amd64_install %}
RUN true \
&& curl -L ${KUBERNETES_DOWNLOAD_ROOT}/${KUBERNETES_COMPONENT} -o /usr/bin/${KUBERNETES_COMPONENT} \
&& chmod +x /usr/bin/${KUBERNETES_COMPONENT}
+{% endblock %}
# Clear any customisation by Kolla to entrypoint & command
ENTRYPOINT []
diff --git a/docker/kube/kube-base/Dockerfile.j2 b/docker/kube/kube-base/Dockerfile.j2
index be5a40c0c..21adfecdc 100644
--- a/docker/kube/kube-base/Dockerfile.j2
+++ b/docker/kube/kube-base/Dockerfile.j2
@@ -7,4 +7,6 @@ ENV KUBERNETES_DOWNLOAD_ROOT=https://storage.googleapis.com/kubernetes-release/r
{% block kube_base_header %}{% endblock %}
+{% import "macros.j2" as macros with context %}
+
{% block kube_base_footer %}{% endblock %}
diff --git a/docker/kube/kube-controller-manager-amd64/Dockerfile.j2 b/docker/kube/kube-controller-manager-amd64/Dockerfile.j2
index 252324426..22792b1e3 100644
--- a/docker/kube/kube-controller-manager-amd64/Dockerfile.j2
+++ b/docker/kube/kube-controller-manager-amd64/Dockerfile.j2
@@ -18,9 +18,11 @@ ENV KUBERNETES_COMPONENT=kube-controller-manager
{% endif %}
{{ macros.install_packages(ceph_support_packages | customizable("packages")) }}
+{% block kube_controller_manager_amd64_install %}
RUN true \
&& curl -L ${KUBERNETES_DOWNLOAD_ROOT}/${KUBERNETES_COMPONENT} -o /usr/bin/${KUBERNETES_COMPONENT} \
&& chmod +x /usr/bin/${KUBERNETES_COMPONENT}
+{% endblock %}
# Clear any customisation by Kolla to entrypoint & command
ENTRYPOINT []
diff --git a/docker/kube/kube-discovery-amd64/Dockerfile.j2 b/docker/kube/kube-discovery-amd64/Dockerfile.j2
index 6816891dc..ca62cefef 100644
--- a/docker/kube/kube-discovery-amd64/Dockerfile.j2
+++ b/docker/kube/kube-discovery-amd64/Dockerfile.j2
@@ -5,10 +5,12 @@ ENV KUBERNETES_COMPONENT=kube-discovery
{% block kube_discovery_amd64_header %}{% endblock %}
+{% block kube_discovery_amd64_install %}
# To match upstream we load the binary to /usr/local/bin
RUN true \
&& curl -L ${KUBERNETES_DOWNLOAD_ROOT}/${KUBERNETES_COMPONENT} -o /usr/local/bin/${KUBERNETES_COMPONENT} \
&& chmod +x /usr/local/bin/${KUBERNETES_COMPONENT}
+{% endblock %}
# Clear any customisation by Kolla to entrypoint & command
ENTRYPOINT []
diff --git a/docker/kube/kube-proxy-amd64/Dockerfile.j2 b/docker/kube/kube-proxy-amd64/Dockerfile.j2
index 898d6705a..0bfde90fa 100644
--- a/docker/kube/kube-proxy-amd64/Dockerfile.j2
+++ b/docker/kube/kube-proxy-amd64/Dockerfile.j2
@@ -5,9 +5,11 @@ ENV KUBERNETES_COMPONENT=kube-proxy
{% block kube_proxy_amd64_header %}{% endblock %}
+{% block kube_proxy_amd64_install %}
RUN true \
&& curl -L ${KUBERNETES_DOWNLOAD_ROOT}/${KUBERNETES_COMPONENT} -o /usr/bin/${KUBERNETES_COMPONENT} \
&& chmod +x /usr/bin/${KUBERNETES_COMPONENT}
+{% endblock %}
# Clear any customisation by Kolla to entrypoint & command
ENTRYPOINT []
diff --git a/docker/kube/kube-scheduler-amd64/Dockerfile.j2 b/docker/kube/kube-scheduler-amd64/Dockerfile.j2
index 8a6043a50..7c32865be 100644
--- a/docker/kube/kube-scheduler-amd64/Dockerfile.j2
+++ b/docker/kube/kube-scheduler-amd64/Dockerfile.j2
@@ -5,9 +5,11 @@ ENV KUBERNETES_COMPONENT=kube-scheduler
{% block kube_scheduler_amd64_header %}{% endblock %}
+{% block kube_scheduler_amd64_install %}
RUN true \
&& curl -L ${KUBERNETES_DOWNLOAD_ROOT}/${KUBERNETES_COMPONENT} -o /usr/bin/${KUBERNETES_COMPONENT} \
&& chmod +x /usr/bin/${KUBERNETES_COMPONENT}
+{% endblock %}
# Clear any customisation by Kolla to entrypoint & command
ENTRYPOINT []