Skip to content

Commit d0eb55f

Browse files
committed
Merge branch 'gitlab-https-auth' of https://github.com/fluxcd/toolkit into gitlab-https-auth
2 parents 16f0ed5 + b041dbd commit d0eb55f

30 files changed

+348
-561
lines changed

.github/workflows/docs.yaml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,14 @@ jobs:
1515
- name: Copy assets
1616
env:
1717
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
18-
SOURCE_VER: ${{ 'v0.1.1' }}
19-
KUSTOMIZE_VER: ${{ 'v0.1.1' }}
20-
HELM_VER: ${{ 'v0.1.2' }}
21-
NOTIFICATION_VER: ${{ 'v0.1.1' }}
2218
run: |
2319
controller_version() {
24-
sed -n "s/\(.*$1\/.*?ref=\)//p;n" "manifests/bases/$1/kustomization.yaml"
20+
sed -n "s/.*$1\/archive\/\(.*\).zip.*/\1/p;n" manifests/bases/$1/kustomization.yaml
2521
}
2622
2723
{
2824
# source-controller CRDs
29-
# SOURCE_VER=$(controller_version source-controller)
25+
SOURCE_VER=$(controller_version source-controller)
3026
curl -# -Lf "https://raw.githubusercontent.com/fluxcd/source-controller/$SOURCE_VER/docs/api/source.md" > docs/components/source/api.md
3127
curl -# -Lf "https://raw.githubusercontent.com/fluxcd/source-controller/$SOURCE_VER/docs/spec/v1beta1/gitrepositories.md" > docs/components/source/gitrepositories.md
3228
curl -# -Lf "https://raw.githubusercontent.com/fluxcd/source-controller/$SOURCE_VER/docs/spec/v1beta1/helmrepositories.md" > docs/components/source/helmrepositories.md
@@ -36,21 +32,21 @@ jobs:
3632
3733
{
3834
# kustomize-controller CRDs
39-
# KUSTOMIZE_VER=$(controller_version kustomize-controller)
35+
KUSTOMIZE_VER=$(controller_version kustomize-controller)
4036
curl -# -Lf "https://raw.githubusercontent.com/fluxcd/kustomize-controller/$KUSTOMIZE_VER/docs/api/kustomize.md" > docs/components/kustomize/api.md
4137
curl -# -Lf "https://raw.githubusercontent.com/fluxcd/kustomize-controller/$KUSTOMIZE_VER/docs/spec/v1beta1/kustomization.md" > docs/components/kustomize/kustomization.md
4238
}
4339
4440
{
4541
# helm-controller CRDs
46-
# HELM_VER=$(controller_version helm-controller)
42+
HELM_VER=$(controller_version helm-controller)
4743
curl -# -Lf "https://raw.githubusercontent.com/fluxcd/helm-controller/$HELM_VER/docs/api/helmrelease.md" > docs/components/helm/api.md
4844
curl -# -Lf "https://raw.githubusercontent.com/fluxcd/helm-controller/$HELM_VER/docs/spec/v2beta1/helmreleases.md" > docs/components/helm/helmreleases.md
4945
}
5046
5147
{
5248
# notification-controller CRDs
53-
# NOTIFICATION_VER=$(controller_version notification-controller)
49+
NOTIFICATION_VER=$(controller_version notification-controller)
5450
curl -# -Lf "https://raw.githubusercontent.com/fluxcd/notification-controller/$NOTIFICATION_VER/docs/api/notification.md" > docs/components/notification/api.md
5551
curl -# -Lf "https://raw.githubusercontent.com/fluxcd/notification-controller/$NOTIFICATION_VER/docs/spec/v1beta1/event.md" > docs/components/notification/event.md
5652
curl -# -Lf "https://raw.githubusercontent.com/fluxcd/notification-controller/$NOTIFICATION_VER/docs/spec/v1beta1/alert.md" > docs/components/notification/alert.md

.github/workflows/update.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
2020
bump_version() {
2121
local RELEASE_VERSION=$(curl -s https://api.github.com/repos/fluxcd/$1/releases | jq -r 'sort_by(.published_at) | .[-1] | .tag_name')
22-
local CURRENT_VERSION=$(sed -n "s/\(.*$1\/.*?ref=\)//p;n" "manifests/bases/$1/kustomization.yaml")
22+
local CURRENT_VERSION=$(sed -n "s/.*$1\/archive\/\(.*\).zip.*/\1/p;n" manifests/bases/$1/kustomization.yaml)
2323
2424
if [[ "${RELEASE_VERSION}" != "${CURRENT_VERSION}" ]]; then
2525
# bump kustomize

cmd/gotk/bootstrap.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -246,13 +246,15 @@ func applySyncManifests(ctx context.Context, kubeClient client.Client, name, nam
246246

247247
logger.Waitingf("waiting for cluster sync")
248248

249+
var gitRepository sourcev1.GitRepository
249250
if err := wait.PollImmediate(pollInterval, timeout,
250-
isGitRepositoryReady(ctx, kubeClient, name, namespace)); err != nil {
251+
isGitRepositoryReady(ctx, kubeClient, types.NamespacedName{Name: name, Namespace: namespace}, &gitRepository)); err != nil {
251252
return err
252253
}
253254

255+
var kustomization kustomizev1.Kustomization
254256
if err := wait.PollImmediate(pollInterval, timeout,
255-
isKustomizationReady(ctx, kubeClient, name, namespace)); err != nil {
257+
isKustomizationReady(ctx, kubeClient, types.NamespacedName{Name: name, Namespace: namespace}, &kustomization)); err != nil {
256258
return err
257259
}
258260

cmd/gotk/create_alert.go

Lines changed: 22 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func init() {
6161

6262
func createAlertCmdRun(cmd *cobra.Command, args []string) error {
6363
if len(args) < 1 {
64-
return fmt.Errorf("alert name is required")
64+
return fmt.Errorf("Alert name is required")
6565
}
6666
name := args[0]
6767

@@ -92,7 +92,7 @@ func createAlertCmdRun(cmd *cobra.Command, args []string) error {
9292
}
9393

9494
if !export {
95-
logger.Generatef("generating alert")
95+
logger.Generatef("generating Alert")
9696
}
9797

9898
alert := notificationv1.Alert{
@@ -123,23 +123,23 @@ func createAlertCmdRun(cmd *cobra.Command, args []string) error {
123123
return err
124124
}
125125

126-
logger.Actionf("applying alert")
127-
if err := upsertAlert(ctx, kubeClient, alert); err != nil {
126+
logger.Actionf("applying Alert")
127+
namespacedName, err := upsertAlert(ctx, kubeClient, &alert)
128+
if err != nil {
128129
return err
129130
}
130131

131-
logger.Waitingf("waiting for reconciliation")
132+
logger.Waitingf("waiting for Alert reconciliation")
132133
if err := wait.PollImmediate(pollInterval, timeout,
133-
isAlertReady(ctx, kubeClient, name, namespace)); err != nil {
134+
isAlertReady(ctx, kubeClient, namespacedName, &alert)); err != nil {
134135
return err
135136
}
136-
137-
logger.Successf("alert %s is ready", name)
138-
137+
logger.Successf("Alert %s is ready", name)
139138
return nil
140139
}
141140

142-
func upsertAlert(ctx context.Context, kubeClient client.Client, alert notificationv1.Alert) error {
141+
func upsertAlert(ctx context.Context, kubeClient client.Client,
142+
alert *notificationv1.Alert) (types.NamespacedName, error) {
143143
namespacedName := types.NamespacedName{
144144
Namespace: alert.GetNamespace(),
145145
Name: alert.GetName(),
@@ -149,35 +149,30 @@ func upsertAlert(ctx context.Context, kubeClient client.Client, alert notificati
149149
err := kubeClient.Get(ctx, namespacedName, &existing)
150150
if err != nil {
151151
if errors.IsNotFound(err) {
152-
if err := kubeClient.Create(ctx, &alert); err != nil {
153-
return err
152+
if err := kubeClient.Create(ctx, alert); err != nil {
153+
return namespacedName, err
154154
} else {
155-
logger.Successf("alert created")
156-
return nil
155+
logger.Successf("Alert created")
156+
return namespacedName, nil
157157
}
158158
}
159-
return err
159+
return namespacedName, err
160160
}
161161

162162
existing.Labels = alert.Labels
163163
existing.Spec = alert.Spec
164164
if err := kubeClient.Update(ctx, &existing); err != nil {
165-
return err
165+
return namespacedName, err
166166
}
167-
168-
logger.Successf("alert updated")
169-
return nil
167+
alert = &existing
168+
logger.Successf("Alert updated")
169+
return namespacedName, nil
170170
}
171171

172-
func isAlertReady(ctx context.Context, kubeClient client.Client, name, namespace string) wait.ConditionFunc {
172+
func isAlertReady(ctx context.Context, kubeClient client.Client,
173+
namespacedName types.NamespacedName, alert *notificationv1.Alert) wait.ConditionFunc {
173174
return func() (bool, error) {
174-
var alert notificationv1.Alert
175-
namespacedName := types.NamespacedName{
176-
Namespace: namespace,
177-
Name: name,
178-
}
179-
180-
err := kubeClient.Get(ctx, namespacedName, &alert)
175+
err := kubeClient.Get(ctx, namespacedName, alert)
181176
if err != nil {
182177
return false, err
183178
}

cmd/gotk/create_alertprovider.go

Lines changed: 31 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,12 @@ func init() {
7171

7272
func createAlertProviderCmdRun(cmd *cobra.Command, args []string) error {
7373
if len(args) < 1 {
74-
return fmt.Errorf("provider name is required")
74+
return fmt.Errorf("Provider name is required")
7575
}
7676
name := args[0]
7777

7878
if apType == "" {
79-
return fmt.Errorf("type is required")
79+
return fmt.Errorf("Provider type is required")
8080
}
8181

8282
sourceLabels, err := parseLabels()
@@ -85,10 +85,10 @@ func createAlertProviderCmdRun(cmd *cobra.Command, args []string) error {
8585
}
8686

8787
if !export {
88-
logger.Generatef("generating provider")
88+
logger.Generatef("generating Provider")
8989
}
9090

91-
alertProvider := notificationv1.Provider{
91+
provider := notificationv1.Provider{
9292
ObjectMeta: metav1.ObjectMeta{
9393
Name: name,
9494
Namespace: namespace,
@@ -103,13 +103,13 @@ func createAlertProviderCmdRun(cmd *cobra.Command, args []string) error {
103103
}
104104

105105
if apSecretRef != "" {
106-
alertProvider.Spec.SecretRef = &corev1.LocalObjectReference{
106+
provider.Spec.SecretRef = &corev1.LocalObjectReference{
107107
Name: apSecretRef,
108108
}
109109
}
110110

111111
if export {
112-
return exportAlertProvider(alertProvider)
112+
return exportAlertProvider(provider)
113113
}
114114

115115
ctx, cancel := context.WithTimeout(context.Background(), timeout)
@@ -120,66 +120,63 @@ func createAlertProviderCmdRun(cmd *cobra.Command, args []string) error {
120120
return err
121121
}
122122

123-
logger.Actionf("applying provider")
124-
if err := upsertAlertProvider(ctx, kubeClient, alertProvider); err != nil {
123+
logger.Actionf("applying Provider")
124+
namespacedName, err := upsertAlertProvider(ctx, kubeClient, &provider)
125+
if err != nil {
125126
return err
126127
}
127128

128-
logger.Waitingf("waiting for reconciliation")
129+
logger.Waitingf("waiting for Provider reconciliation")
129130
if err := wait.PollImmediate(pollInterval, timeout,
130-
isAlertProviderReady(ctx, kubeClient, name, namespace)); err != nil {
131+
isAlertProviderReady(ctx, kubeClient, namespacedName, &provider)); err != nil {
131132
return err
132133
}
133134

134-
logger.Successf("provider %s is ready", name)
135+
logger.Successf("Provider %s is ready", name)
135136

136137
return nil
137138
}
138139

139-
func upsertAlertProvider(ctx context.Context, kubeClient client.Client, alertProvider notificationv1.Provider) error {
140+
func upsertAlertProvider(ctx context.Context, kubeClient client.Client,
141+
provider *notificationv1.Provider) (types.NamespacedName, error) {
140142
namespacedName := types.NamespacedName{
141-
Namespace: alertProvider.GetNamespace(),
142-
Name: alertProvider.GetName(),
143+
Namespace: provider.GetNamespace(),
144+
Name: provider.GetName(),
143145
}
144146

145147
var existing notificationv1.Provider
146148
err := kubeClient.Get(ctx, namespacedName, &existing)
147149
if err != nil {
148150
if errors.IsNotFound(err) {
149-
if err := kubeClient.Create(ctx, &alertProvider); err != nil {
150-
return err
151+
if err := kubeClient.Create(ctx, provider); err != nil {
152+
return namespacedName, err
151153
} else {
152-
logger.Successf("provider created")
153-
return nil
154+
logger.Successf("Provider created")
155+
return namespacedName, nil
154156
}
155157
}
156-
return err
158+
return namespacedName, err
157159
}
158160

159-
existing.Labels = alertProvider.Labels
160-
existing.Spec = alertProvider.Spec
161+
existing.Labels = provider.Labels
162+
existing.Spec = provider.Spec
161163
if err := kubeClient.Update(ctx, &existing); err != nil {
162-
return err
164+
return namespacedName, err
163165
}
164-
165-
logger.Successf("provider updated")
166-
return nil
166+
provider = &existing
167+
logger.Successf("Provider updated")
168+
return namespacedName, nil
167169
}
168170

169-
func isAlertProviderReady(ctx context.Context, kubeClient client.Client, name, namespace string) wait.ConditionFunc {
171+
func isAlertProviderReady(ctx context.Context, kubeClient client.Client,
172+
namespacedName types.NamespacedName, provider *notificationv1.Provider) wait.ConditionFunc {
170173
return func() (bool, error) {
171-
var alertProvider notificationv1.Provider
172-
namespacedName := types.NamespacedName{
173-
Namespace: namespace,
174-
Name: name,
175-
}
176-
177-
err := kubeClient.Get(ctx, namespacedName, &alertProvider)
174+
err := kubeClient.Get(ctx, namespacedName, provider)
178175
if err != nil {
179176
return false, err
180177
}
181178

182-
if c := meta.GetCondition(alertProvider.Status.Conditions, meta.ReadyCondition); c != nil {
179+
if c := meta.GetCondition(provider.Status.Conditions, meta.ReadyCondition); c != nil {
183180
switch c.Status {
184181
case corev1.ConditionTrue:
185182
return true, nil

0 commit comments

Comments
 (0)