This commit is contained in:
parent
9ada870433
commit
2090378554
63
README.md
63
README.md
@ -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`
|
Loading…
Reference in New Issue
Block a user