summaryrefslogtreecommitdiff
path: root/docker/helm-repository/Dockerfile.j2
blob: 1e209da4e0309b9be07c32d0e636ef8819c536e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"

{% block helm_repository_version %}
ENV helm_version=2.3.0 \
    helm_port=8879 \
    helm_address=0.0.0.0
{% endblock %}

{% block helm_repository_header %}{% endblock %}

{% import "macros.j2" as macros with context %}

{% if base_package_type == 'rpm' %}
    {% set helm_repo_packages = [
        'git',
        'jq',
        'python2-pip'
     ] %}

{% elif base_package_type == 'deb' %}
    {% set helm_repo_packages = [
        'git',
        'jq',
        'python3-pip'
     ] %}

{% endif %}
{{ macros.install_packages(helm_repo_packages | customizable("packages")) }}

{% set helm_repository_pip_packages = [
    'pyyaml'
] %}

RUN {{ macros.install_pip(helm_repository_pip_packages | customizable("pip_packages"), constraints = false) }}

{% block helm_repository_install_kubernetes_helm %}
# TODO(mandre) check for file integrity instead of downloading from an HTTPS source
RUN curl -Lo /tmp/helm-v${helm_version}-linux-{{debian_arch}}.tar.gz  https://storage.googleapis.com/kubernetes-helm/helm-v${helm_version}-linux-{{debian_arch}}.tar.gz \
    && sudo tar --strip-components 1 -C /usr/bin linux-{{debian_arch}}/helm -zxvf /tmp/helm-v${helm_version}-linux-{{debian_arch}}.tar.gz \
    && sudo chmod 755 /usr/bin/helm \
    && rm /tmp/helm-v${helm_version}-linux-{{debian_arch}}.tar.gz
{% endblock %}

RUN useradd --user-group --create-home --home-dir /home/helm helm \
    && sudo mkdir /helm-repo \
    && sudo chmod 755 /helm-repo \
    && sudo chown -R helm: /helm-repo/

USER helm

RUN helm init --client-only

CMD helm serve --address $helm_address:$helm_port --repo-path /helm-repo

{% block helm_repository_footer %}{% endblock %}
{% block footer %}{% endblock %}