A better Git synchronization sidecar container. Forked from appertly/docker-git-sync
We use a lot of the same environment variables that the Kubernetes git-sync container does
GIT_SYNC_REPO– The URL for the Git repository.GIT_SYNC_BRANCH– The branch to clone.masterby default.GIT_SYNC_DEPTH– The history depth to pull (by default, unspecified).GIT_SYNC_ROOT– The directory into which the repository will be cloned (/gitby default).GIT_SYNC_PERMISSIONS– Any cloned files will bechmoded to thisGIT_SYNC_SSH– Whether we should use SSH (false by default).GIT_SYNC_WAIT– The number of seconds to wait between pulls (30by default).GIT_SYNC_ONE_TIME– Whether we should clone once and never pull again.GIT_SYNC_USERNAME– The auth username to use.GIT_SYNC_PASSWORD– The auth password to use.GIT_SYNC_KNOWN_HOSTS- The known_hosts file content
Plus we add a couple more.
GIT_SYNC_CHOWN– Any cloned files will bechowned to thisGIT_SYNC_CHGRP– Any cloned files will bechgrped to thisGIT_SYNC_POST_PULL– This is a command that will be run after anygit cloneorgit pull.
You can provide SSH keys to the container in one of two ways.
- You can mount it at
/root/.ssh/id_rsawith a mode of 400. - You can provide it in the environment variable
GIT_SYNC_PRIVATE_KEYand it will be written to the proper location.