This commit is contained in:
		
							
								
								
									
										67
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										67
									
								
								README.md
									
									
									
									
									
								
							@@ -1,14 +1,61 @@
 | 
			
		||||
# 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.  
 | 
			
		||||
 | 
			
		||||
### Usage:
 | 
			
		||||
### Build:
 | 
			
		||||
`docker build -t gitsparseclone .`  
 | 
			
		||||
 | 
			
		||||
### Usage:  
 | 
			
		||||
Create a `deployment-with-sidecar.yml` with the following contents:  
 | 
			
		||||
```  
 | 
			
		||||
docker run -it \
 | 
			
		||||
    -e SPARSE_CHECKOUT=<filter> \
 | 
			
		||||
    -e REMOTE_REPO=<url> \
 | 
			
		||||
    -e REMOTE_BRANCH=<branch> \
 | 
			
		||||
    -e TARGET_DIR=<path> \
 | 
			
		||||
apiVersion: apps/v1
 | 
			
		||||
kind: Deployment
 | 
			
		||||
metadata:
 | 
			
		||||
  name: deployment-with-sidecar
 | 
			
		||||
  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
 | 
			
		||||
    -e FLATTEN_FOLDER=true \
 | 
			
		||||
-d djpbessems/git-sidecar
 | 
			
		||||
```
 | 
			
		||||
            - name: http_proxy
 | 
			
		||||
              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