This commit is contained in:
		
							
								
								
									
										63
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										63
									
								
								README.md
									
									
									
									
									
								
							@@ -1,14 +1,61 @@
 | 
				
			|||||||
# Docker.Containers.GitSparseClone [](https://ci.spamasaurus.com/djpbessems/Docker.Containers.GitSparseClone)
 | 
					# Docker.Containers.GitSparseClone [](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`
 | 
				
			||||||
		Reference in New Issue
	
	Block a user