Skip to content

Commit 3e3a5f7

Browse files
author
Chanwit Kaewkasi
authored
Merge pull request #834 from weaveworks/fix-bp-helm-chart-and-bump-to-v0.16.0-rc.2
enable configmap creation and bump chart to v0.16.0-rc.2
2 parents 1b291be + f540896 commit 3e3a5f7

File tree

10 files changed

+62
-41
lines changed

10 files changed

+62
-41
lines changed

charts/tf-controller/Chart.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ apiVersion: v2
22
name: tf-controller
33
description: The Helm chart for Weave GitOps Terraform Controller
44
type: application
5-
version: 0.16.0-rc.1
6-
appVersion: "v0.16.0-rc.1"
5+
version: 0.16.0-rc.2
6+
appVersion: "v0.16.0-rc.2"

charts/tf-controller/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Weave GitOps Terraform Controller
22

3-
![Version: 0.16.0-rc.1](https://img.shields.io/badge/Version-0.16.0--rc.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.16.0-rc.1](https://img.shields.io/badge/AppVersion-v0.16.0--rc.1-informational?style=flat-square)
3+
![Version: 0.16.0-rc.2](https://img.shields.io/badge/Version-0.16.0--rc.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.16.0-rc.2](https://img.shields.io/badge/AppVersion-v0.16.0--rc.2-informational?style=flat-square)
44

55
The Helm chart for Weave GitOps Terraform Controller
66

@@ -72,7 +72,7 @@ __Note__: If you need to use the `imagePullSecrets` it would be best to set `ser
7272
| rbac.create | bool | `true` | If `true`, create and use RBAC resources |
7373
| replicaCount | int | `1` | Number of TF-Controller pods to deploy |
7474
| resources | object | `{"limits":{"cpu":"1000m","memory":"1Gi"},"requests":{"cpu":"200m","memory":"64Mi"}}` | Resource limits and requests |
75-
| runner | object | `{"creationTimeout":"5m0s","grpc":{"maxMessageSize":4},"image":{"repository":"ghcr.io/weaveworks/tf-runner","tag":"v0.16.0-rc.1"},"serviceAccount":{"allowedNamespaces":[],"annotations":{},"create":true,"name":""}}` | Runner-specific configurations |
75+
| runner | object | `{"creationTimeout":"5m0s","grpc":{"maxMessageSize":4},"image":{"repository":"ghcr.io/weaveworks/tf-runner","tag":"v0.16.0-rc.2"},"serviceAccount":{"allowedNamespaces":[],"annotations":{},"create":true,"name":""}}` | Runner-specific configurations |
7676
| runner.creationTimeout | string | `"5m0s"` | Timeout for runner-creation (Controller) |
7777
| runner.grpc.maxMessageSize | int | `4` | Maximum GRPC message size (Controller) |
7878
| runner.image.repository | string | `"ghcr.io/weaveworks/tf-runner"` | Runner image repository |

charts/tf-controller/templates/_helpers.tpl

+2-11
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ Create a unique list of runner allowed namespaces
8787
Expand the name of the chart.
8888
*/}}
8989
{{- define "planner.name" -}}
90-
{{- printf "%s-planner" (default .Chart.Name .Values.nameOverride) | trunc 63 | trimSuffix "-" }}
90+
{{ include "tf-controller.name" . }}-branch-planner
9191
{{- end }}
9292

9393
{{/*
@@ -96,16 +96,7 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this
9696
If release name contains chart name it will be used as a full name.
9797
*/}}
9898
{{- define "planner.fullname" -}}
99-
{{- if .Values.fullnameOverride }}
100-
{{- printf "%s-planner" .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
101-
{{- else }}
102-
{{- $name := printf "%s-planner" (default .Chart.Name .Values.nameOverride) }}
103-
{{- if contains $name .Release.Name }}
104-
{{- printf "%s-planner" .Release.Name | trunc 63 | trimSuffix "-" }}
105-
{{- else }}
106-
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
107-
{{- end }}
108-
{{- end }}
99+
{{ include "tf-controller.fullname" . }}-branch-planner
109100
{{- end }}
110101

111102
{{/*

charts/tf-controller/values.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ image:
2727
pullPolicy: IfNotPresent
2828
# -- Overrides the image tag whose default is the chart appVersion.
2929
# @default -- `.Chart.AppVersion`
30-
tag: "v0.16.0-rc.1"
30+
tag: "v0.16.0-rc.2"
3131
# -- Controller image pull secret
3232
imagePullSecrets: []
3333
# -- Resource limits and requests
@@ -114,7 +114,7 @@ runner:
114114
repository: ghcr.io/weaveworks/tf-runner
115115
# -- Runner image tag
116116
# @default -- `.Chart.AppVersion`
117-
tag: "v0.16.0-rc.1"
117+
tag: "v0.16.0-rc.2"
118118
grpc:
119119
# -- Maximum GRPC message size (Controller)
120120
maxMessageSize: 4

config/branch-planner/kustomization.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ generatorOptions:
88
images:
99
- name: weaveworks/branch-planner
1010
newName: ghcr.io/weaveworks/branch-planner
11-
newTag: v0.16.0-rc.1
11+
newTag: v0.16.0-rc.2

config/manager/kustomization.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ generatorOptions:
88
images:
99
- name: weaveworks/tf-controller
1010
newName: ghcr.io/weaveworks/tf-controller
11-
newTag: v0.16.0-rc.1
11+
newTag: v0.16.0-rc.2

docs/branch_planner/rc.yaml

+14-5
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,20 @@ spec:
2121
sourceRef:
2222
kind: HelmRepository
2323
name: tf-controller
24-
version: '>=0.15.0-rc.6'
24+
version: '>=0.16.0-rc.2'
2525
interval: 1h0s
2626
releaseName: tf-controller
2727
targetNamespace: flux-system
2828
install:
2929
crds: Create
30+
remediation:
31+
retries: -1
3032
upgrade:
3133
crds: CreateReplace
34+
remediation:
35+
retries: -1
3236
values:
33-
replicaCount: 1
37+
replicaCount: 3
3438
concurrency: 24
3539
resources:
3640
limits:
@@ -42,11 +46,16 @@ spec:
4246
caCertValidityDuration: 24h
4347
certRotationCheckFrequency: 30m
4448
image:
45-
tag: v0.15.0-rc.6
49+
tag: v0.16.0-rc.2
4650
runner:
4751
image:
48-
tag: v0.15.0-rc.6
52+
tag: v0.16.0-rc.2
53+
grpc:
54+
maxMessageSize: 30
4955
branchPlanner:
5056
enabled: true
5157
image:
52-
tag: v0.15.0-rc.6
58+
tag: v0.16.0-rc.2
59+
configMap:
60+
name: branch-planner
61+
create: true

docs/branch_planner/release.yaml

+7-4
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ spec:
2121
sourceRef:
2222
kind: HelmRepository
2323
name: tf-controller
24-
version: '>=0.16.0-rc.1'
24+
version: '>=0.16.0-rc.2'
2525
interval: 1h0s
2626
releaseName: tf-controller
2727
targetNamespace: flux-system
@@ -46,13 +46,16 @@ spec:
4646
caCertValidityDuration: 24h
4747
certRotationCheckFrequency: 30m
4848
image:
49-
tag: v0.16.0-rc.1
49+
tag: v0.16.0-rc.2
5050
runner:
5151
image:
52-
tag: v0.16.0-rc.1
52+
tag: v0.16.0-rc.2
5353
grpc:
5454
maxMessageSize: 30
5555
branchPlanner:
5656
enabled: true
5757
image:
58-
tag: v0.16.0-rc.1
58+
tag: v0.16.0-rc.2
59+
configMap:
60+
name: branch-planner
61+
create: true

docs/release.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ spec:
2121
sourceRef:
2222
kind: HelmRepository
2323
name: tf-controller
24-
version: '>=0.16.0-rc.1'
24+
version: '>=0.16.0-rc.2'
2525
interval: 1h0s
2626
releaseName: tf-controller
2727
targetNamespace: flux-system
@@ -46,9 +46,9 @@ spec:
4646
caCertValidityDuration: 24h
4747
certRotationCheckFrequency: 30m
4848
image:
49-
tag: v0.16.0-rc.1
49+
tag: v0.16.0-rc.2
5050
runner:
5151
image:
52-
tag: v0.16.0-rc.1
52+
tag: v0.16.0-rc.2
5353
grpc:
5454
maxMessageSize: 30

internal/config/config.go

+28-10
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88

99
"gopkg.in/yaml.v2"
1010
corev1 "k8s.io/api/core/v1"
11+
"k8s.io/apimachinery/pkg/api/errors"
1112
"k8s.io/apimachinery/pkg/types"
1213
"sigs.k8s.io/controller-runtime/pkg/client"
1314
)
@@ -21,7 +22,8 @@ const (
2122
AnnotationErrorRevision = "infra.weave.works/error-revision"
2223

2324
// DefaultNamespace will be used if RUNTIME_NAMESPACE is not defined.
24-
DefaultNamespace = "flux-system"
25+
DefaultNamespace = "flux-system"
26+
DefaultTokenSecretName = "branch-planner-token"
2527
)
2628

2729
// Example ConfigMap
@@ -34,7 +36,7 @@ const (
3436
// metadata:
3537
// name: branch-based-planner
3638
// data:
37-
// # Secret to use to use GitHub API.
39+
// # Secret to use GitHub API.
3840
// # Key in the secret: token
3941
// secretNamespace: flux-system
4042
// secretName: bbp-token
@@ -56,23 +58,39 @@ type Config struct {
5658
Labels map[string]string
5759
}
5860

59-
func ReadConfig(ctx context.Context, clusterClient client.Client, ref types.NamespacedName) (Config, error) {
60-
config := Config{}
61-
62-
if ref.Namespace == "" {
63-
ref.Namespace = RuntimeNamespace()
61+
func ReadConfig(ctx context.Context, clusterClient client.Client, configMapObjectKey types.NamespacedName) (Config, error) {
62+
if configMapObjectKey.Namespace == "" {
63+
configMapObjectKey.Namespace = RuntimeNamespace()
6464
}
65-
6665
configMap := &corev1.ConfigMap{}
67-
err := clusterClient.Get(ctx, ref, configMap)
66+
err := clusterClient.Get(ctx, configMapObjectKey, configMap)
6867
if err != nil {
68+
defaultConfig := Config{
69+
SecretName: DefaultTokenSecretName,
70+
SecretNamespace: RuntimeNamespace(),
71+
Resources: []client.ObjectKey{
72+
{Namespace: RuntimeNamespace()},
73+
},
74+
}
75+
76+
// Check for not found error, it's ok to not have a ConfigMap
77+
if errors.IsNotFound(err) {
78+
return defaultConfig, nil
79+
}
80+
81+
// Check for permission error, it's ok to not have access to the ConfigMap
82+
if errors.IsForbidden(err) {
83+
return defaultConfig, nil
84+
}
85+
86+
// Return a generic error for other cases
6987
return Config{}, fmt.Errorf("unable to get ConfigMap: %w", err)
7088
}
7189

90+
config := Config{}
7291
config.SecretNamespace = configMap.Data["secretNamespace"]
7392
config.SecretName = configMap.Data["secretName"]
7493
resourceData := configMap.Data["resources"]
75-
7694
if config.SecretNamespace == "" {
7795
config.SecretNamespace = RuntimeNamespace()
7896
}

0 commit comments

Comments
 (0)