Dockerfile.code.j2 1.41 KiB
FROM {{ coder_server_image }}:{{ coder_server_version }}
{% for repo in code_git_workspaces %}
RUN mkdir -p /home/coder/projects && \
cd "/home/coder/projects" && \
git clone "{{ repo.git }}" "{{ repo.name }}" && \
cd "{{ repo.name }}" && \
git config credential.helper store && \
git config --global user.email "{{ coder_git_email }}" && \
git config --global user.name "{{ coder_git_email }}" && \
git pull 2>/dev/null || :
{% endfor %}
RUN mkdir -p /home/coder/.ssh && \
chmod -R 700 /home/coder/.ssh
{% for key in ssh_private_keys_b64 %}
RUN echo "{{ key.value }}" | base64 -d > "/home/coder/.ssh/{{ key.name }}" && \
chmod 600 "/home/coder/.ssh/{{ key.name }}"
{% endfor %}
{% for key in gpg_keys_b64 %}
RUN echo "{{ key.value }}" | base64 -d > "{{ key.user }}.key" && \
gpg --import "{{ key.user }}.key" && \
rm -rf "{{ key.user }}.key"
{% endfor %}
RUN mkdir -p "{{ kube_config_dir }}"
{% for kubeconfig in kube_configs_b64 %}
RUN echo "{{ kubeconfig.value }}" | base64 -d > "{{ kube_config_dir }}/{{ kubeconfig.filename }}"
{% if kubeconfig.current_ctx is defined and kubeconfig.current_ctx %}
RUN ln -s "{{ kube_config_dir }}/{{ kubeconfig.filename }}" "{{ kube_config_dir }}/config"
{% endif %}
{% endfor %}
{% for registry in oci_registries %}
RUN echo "{{ registry.password }}" | docker login -u "{{ registry.login }}" "{{ registry.url }}" --password-stdin
{% endfor %}