diff --git a/cmd/tk/bootstrap_gitlab.go b/cmd/tk/bootstrap_gitlab.go index b259e7bc..2b8a5aac 100644 --- a/cmd/tk/bootstrap_gitlab.go +++ b/cmd/tk/bootstrap_gitlab.go @@ -57,13 +57,14 @@ the bootstrap command will perform an upgrade if needed.`, } var ( - glOwner string - glRepository string - glInterval time.Duration - glPersonal bool - glPrivate bool - glHostname string - glPath string + glOwner string + glRepository string + glInterval time.Duration + glPersonal bool + glPrivate bool + glHostname string + glSSHHostname string + glPath string ) func init() { @@ -73,6 +74,7 @@ func init() { bootstrapGitLabCmd.Flags().BoolVar(&glPrivate, "private", true, "is private repository") bootstrapGitLabCmd.Flags().DurationVar(&glInterval, "interval", time.Minute, "sync interval") bootstrapGitLabCmd.Flags().StringVar(&glHostname, "hostname", git.GitLabDefaultHostname, "GitLab hostname") + bootstrapGitLabCmd.Flags().StringVar(&glSSHHostname, "ssh-hostname", "", "GitLab SSH hostname, defaults to hostname if not specified") bootstrapGitLabCmd.Flags().StringVar(&glPath, "path", "", "repository path, when specified the cluster sync will be scoped to this path") bootstrapCmd.AddCommand(bootstrapGitLabCmd) @@ -89,6 +91,10 @@ func bootstrapGitLabCmdRun(cmd *cobra.Command, args []string) error { return err } + if glSSHHostname != "" { + repository.SSHHost = glSSHHostname + } + provider := &git.GitLabProvider{ IsPrivate: glPrivate, IsPersonal: glPersonal, diff --git a/docs/cmd/tk_bootstrap_gitlab.md b/docs/cmd/tk_bootstrap_gitlab.md index 1a9fcf6c..9294349a 100644 --- a/docs/cmd/tk_bootstrap_gitlab.md +++ b/docs/cmd/tk_bootstrap_gitlab.md @@ -37,14 +37,15 @@ tk bootstrap gitlab [flags] ### Options ``` - -h, --help help for gitlab - --hostname string GitLab hostname (default "gitlab.com") - --interval duration sync interval (default 1m0s) - --owner string GitLab user or group name - --path string repository path, when specified the cluster sync will be scoped to this path - --personal is personal repository - --private is private repository (default true) - --repository string GitLab repository name + -h, --help help for gitlab + --hostname string GitLab hostname (default "gitlab.com") + --interval duration sync interval (default 1m0s) + --owner string GitLab user or group name + --path string repository path, when specified the cluster sync will be scoped to this path + --personal is personal repository + --private is private repository (default true) + --repository string GitLab repository name + --ssh-hostname string GitLab SSH hostname, defaults to hostname if not specified ``` ### Options inherited from parent commands diff --git a/docs/components/notification/controller.md b/docs/components/notification/controller.md index 672f89fa..6eccdbb9 100644 --- a/docs/components/notification/controller.md +++ b/docs/components/notification/controller.md @@ -4,7 +4,7 @@ The Notification Controller is a Kubernetes operator, specialized in handling in ![](../../_files/notification-controller.png) -The controller handles events coming from external systems (GitHub, GitLab, Bitbucket, Harbour, Jenkins, etc) +The controller handles events coming from external systems (GitHub, GitLab, Bitbucket, Harbor, Jenkins, etc) and notifies the GitOps toolkit controllers about source changes. The controller handles events emitted by the GitOps toolkit controllers (source, kustomize, helm) diff --git a/docs/guides/webhook-receivers.md b/docs/guides/webhook-receivers.md index 1a14f472..7a060de6 100644 --- a/docs/guides/webhook-receivers.md +++ b/docs/guides/webhook-receivers.md @@ -15,7 +15,7 @@ or the [installation guide](installation.md). The [notification controller](../components/notification/controller.md) can handle events coming from external systems -(GitHub, GitLab, Bitbucket, Harbour, Jenkins, etc) +(GitHub, GitLab, Bitbucket, Harbor, Jenkins, etc) and notify the GitOps toolkit controllers about source changes. The notification controller is part of the default toolkit installation. @@ -107,7 +107,7 @@ spec: ``` !!! hint "Note" - Besides GitHub, you can define receivers for **GitLab**, **Bitbucket**, **Harbour** + Besides GitHub, you can define receivers for **GitLab**, **Bitbucket**, **Harbor** and any other system that supports webhooks e.g. Jenkins, CircleCI, etc. See the [Receiver CRD docs](../components/notification/receiver.md) for more details. diff --git a/go.mod b/go.mod index 07806dd2..6d49f2dc 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/blang/semver v3.5.1+incompatible github.com/fluxcd/helm-controller/api v0.0.4 github.com/fluxcd/kustomize-controller/api v0.0.8 - github.com/fluxcd/pkg/git v0.0.5 + github.com/fluxcd/pkg/git v0.0.6 github.com/fluxcd/pkg/ssh v0.0.5 github.com/fluxcd/pkg/untar v0.0.5 github.com/fluxcd/source-controller/api v0.0.10 diff --git a/go.sum b/go.sum index 13af4bc6..f53e29d0 100644 --- a/go.sum +++ b/go.sum @@ -114,8 +114,8 @@ github.com/fluxcd/helm-controller/api v0.0.4 h1:ZV+VGQg8ch3icvIl/BJZDfGwV61a2jRl github.com/fluxcd/helm-controller/api v0.0.4/go.mod h1:YCQhNz7LkYyBGxDdMGSRK78nvhuHV2x/lrn2vuRlBNE= github.com/fluxcd/kustomize-controller/api v0.0.8 h1:Yi5/MZuS2jXiRV73fuUkBCyRTuG0yx2HJTpWZaM+WHA= github.com/fluxcd/kustomize-controller/api v0.0.8/go.mod h1:c4035rZrt2p3RExpLe64ASVEvePm7FjiY4PzHKpRJXI= -github.com/fluxcd/pkg/git v0.0.5 h1:6ahtjxZid8r94jmfOf1JUO42jX98FgdzBHrOaTGMCqY= -github.com/fluxcd/pkg/git v0.0.5/go.mod h1:9AI9yPkb2ruIcE70moVG3WhunA2/RAMJPc3rtoH8QFE= +github.com/fluxcd/pkg/git v0.0.6 h1:4qktw8M3zj98MAs4ny6qSi36sYvTiI1czif5FqlQl4o= +github.com/fluxcd/pkg/git v0.0.6/go.mod h1:9AI9yPkb2ruIcE70moVG3WhunA2/RAMJPc3rtoH8QFE= github.com/fluxcd/pkg/ssh v0.0.5 h1:rnbFZ7voy2JBlUfMbfyqArX2FYaLNpDhccGFC3qW83A= github.com/fluxcd/pkg/ssh v0.0.5/go.mod h1:7jXPdXZpc0ttMNz2kD9QuMi3RNn/e0DOFbj0Tij/+Hs= github.com/fluxcd/pkg/untar v0.0.5 h1:UGI3Ch1UIEIaqQvMicmImL1s9npQa64DJ/ozqHKB7gk=