Git sink — third-party attribution¶
kollect's git sink (internal/sink/git/) incorporates patterns adapted from
Argo CD Image Updater,
Copyright The Argo Project Authors, licensed under the
Apache License 2.0.
Adapted areas include:
- SSH host key verification and configurable known_hosts handling
- HTTPS token username convention for GitHub-style personal access tokens
- Exponential backoff retry for transient git transport failures
- Heuristics for classifying transient vs terminal push errors
Source references in the local-only references/argocd-image-updater/ tree (not
shipped with kollect):
| kollect file | Reference path |
|---|---|
internal/sink/git/ssh_auth.go |
ext/git/ssh.go, ext/git/client.go |
internal/sink/git/retry.go |
ext/git/client.go (LsRemote retry loop) |
internal/sink/git/errors.go |
ext/git/client.go (transient error signals) |
internal/sink/git/auth.go |
ext/git/client.go, ext/git/creds.go |
internal/sink/git/cli_env.go |
CLI GIT_SSH_COMMAND, http.extraHeader via --config-env |
internal/sink/git/sync_remote.go |
Non-fast-forward fetch/merge before push retry |
internal/sink/git/ref_cache.go |
Connection probe ls-remote result cache |
Apache 2.0 requires retaining copyright and license notices in derivative works. Adapted Go source files include an inline attribution comment pointing to the upstream path.
No Argo CD Image Updater code is copied verbatim; implementations are rewritten to fit kollect's go-git export path and CRD model.