Update 'README.md'
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Danny Bessems 2020-02-18 10:51:49 +00:00
parent 9ada870433
commit 2090378554

View File

@ -1,14 +1,61 @@
# Docker.Containers.GitSparseClone [![Build Status](https://ci.spamasaurus.com/api/badges/djpbessems/Docker.Containers.GitSparseClone/status.svg)](https://ci.spamasaurus.com/djpbessems/Docker.Containers.GitSparseClone) # Docker.Containers.GitSparseClone [![Build Status](https://ci.spamasaurus.com/api/badges/djpbessems/Docker.Containers.GitSparseClone/status.svg)](https://ci.spamasaurus.com/djpbessems/Docker.Containers.GitSparseClone)
Useful as a Kubernetes-sidecar container that downloads files from a git-repository to a Kubernetes-volumeMount, which other containers can then also mount and use. Useful as a Kubernetes sidecar Container that downloads specific files from a git-repository (sparse clone) to a Kubernetes volumeMount, which other containers in the same Pod can then also mount and use.
### Build:
`docker build -t gitsparseclone .`
### Usage: ### Usage:
Create a `deployment-with-sidecar.yml` with the following contents:
``` ```
docker run -it \ apiVersion: apps/v1
-e SPARSE_CHECKOUT=<filter> \ kind: Deployment
-e REMOTE_REPO=<url> \ metadata:
-e REMOTE_BRANCH=<branch> \ name: deployment-with-sidecar
-e TARGET_DIR=<path> \ labels:
app: deployment-with-sidecar
spec:
replicas: 1
selector:
matchLabels:
app: deployment-with-sidecar
template:
metadata:
labels:
app: deployment-with-sidecar
spec:
containers:
- name: main
image: <<name of your main-container image>>
volumeMounts:
- name: files
readOnly: true
mountPath: "/mnt/files"
- name: sidecar
image: djpbessems/gitsparseclone
env:
- name: SPARSE_CHECKOUT
value: |-
specific/folder/in/repository/*
another/folder/in/repository/*
- name: REMOTE_REPO
value: <<fqdn of your git repository>
- name: REMOTE_BRANCH
value: <<branch of your git repository>>
- name: TARGET_DIR
value: /mnt/files
# Optional # Optional
-e FLATTEN_FOLDER=true \ - name: http_proxy
-d djpbessems/git-sidecar value: <<fqdn of your proxy>>
# Optional
- name: https_proxy
value: <<fqdn of your proxy>>
volumeMounts:
- name: files
mountPath: "/mnt/files"
volumes:
- name: scripts
emptyDir: {}
``` ```
Then deploy to Kubernetes:
`kubectl apply -f deployment-with-sidecar.yml`