A sidecar app which clones a git repo and keeps it in sync with the upstream.
Go to file
mattjmcnaughton 71ea5e8473 Fix README
The README instructs the user to overwrite the TAG variable to set the
tag on `make container`. However, the user should actually overwrite the
`VERSION` variable.
2018-06-01 08:11:24 -07:00
Godeps Clean up logging using glogr 2016-09-16 08:35:27 -07:00
build Use the go-build-template 2016-10-30 17:09:06 -07:00
cmd/git-sync Don't set GIT_SYNC_DEST in Dockerfile. 2018-02-05 19:21:13 -08:00
demo Convert registry to k8s.gcr.io 2017-12-22 09:55:17 -08:00
docs Update ssh.md 2018-03-10 15:31:55 +08:00
pkg/version Use the go-build-template 2016-10-30 17:09:06 -07:00
vendor/github.com Clean up logging using glogr 2016-09-16 08:35:27 -07:00
.gitignore Use the go-build-template 2016-10-30 17:09:06 -07:00
CONTRIBUTING.md Create CONTRIBUTING.md 2016-08-22 16:18:11 -07:00
Dockerfile.in Don't set GIT_SYNC_DEST in Dockerfile. 2018-02-05 19:21:13 -08:00
LICENSE Initial commit 2016-08-20 14:09:57 -07:00
Makefile Run Go build-image without TTY 2018-03-29 20:55:21 -07:00
OWNERS Update OWNERS to latest state 2017-03-22 03:52:17 +00:00
README.md Fix README 2018-06-01 08:11:24 -07:00
RELEASING.md Use k8s GCR vanity URL 2018-04-06 13:15:46 -04:00
SECURITY_CONTACTS Add security contacts 2018-05-24 08:57:57 -07:00
code-of-conduct.md Update code-of-conduct.md 2017-12-20 13:32:20 -05:00
test_e2e.sh Improve e2e tests 2017-09-21 22:02:13 +02:00

README.md

git-sync

git-sync is a simple command that pulls a git repository into a local directory. It is a perfect "sidecar" container in Kubernetes - it can periodically pull files down from a repository so that an application can consume them.

git-sync can pull one time, or on a regular interval. It can pull from the HEAD of a branch, or from a git tag, or from a specific git hash. It will only re-pull if the target of the run has changed in the upstream repository. When it re-pulls, it updates the destination directory atomically. In order to do this, it uses a git worktree in a subdirectory of the --root and flips a symlink.

Usage

# build the container
make container REGISTRY=registry VERSION=tag

# run the container
docker run -d \
    -v /tmp/git-data:/git \
    registry/git-sync:tag \
        --repo=https://github.com/kubernetes/git-sync
        --branch=master
        --wait=30

# run an nginx container to serve the content
docker run -d \
    -p 8080:80 \
    -v /tmp/git-data:/usr/share/nginx/html \
    nginx

Analytics