Skip to content

Commit a67086a

Browse files
authored
Helm: RBAC generation fixes (#1461)
* internal/pkg/scaffold/helm/role.go: return on role generation error * internal/pkg/scaffold/helm/role.go: handle OCP k8s versions * hack/tests/e2e-helm.sh: fail on failed RBAC generation * CHANGELOG.md: added lines for fixes from #1456 and #1461
1 parent e9a6ee2 commit a67086a

File tree

3 files changed

+12
-2
lines changed

3 files changed

+12
-2
lines changed

CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010

1111
### Bug Fixes
1212

13+
- Fixes a regression that causes Helm RBAC generation to contain an empty custom ruleset when the chart's default manifest contains only namespaced resources. ([#1456](https://github.com/operator-framework/operator-sdk/pull/1456))
14+
- Fixes an issue that causes Helm RBAC generation to fail when creating new operators with a Kubernetes context configured to connect to an OpenShift cluster. ([#1461](https://github.com/operator-framework/operator-sdk/pull/1461))
15+
1316
## v0.8.0
1417

1518
### Added

hack/tests/e2e-helm.sh

+6-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,12 @@ fi
9494

9595
# create and build the operator
9696
pushd "$GOTMP"
97-
operator-sdk new nginx-operator --api-version=helm.example.com/v1alpha1 --kind=Nginx --type=helm
97+
log=$(operator-sdk new nginx-operator --api-version=helm.example.com/v1alpha1 --kind=Nginx --type=helm 2>&1)
98+
echo $log
99+
if echo $log | grep -q "failed to generate RBAC rules"; then
100+
echo FAIL expected successful generation of RBAC rules
101+
exit 1
102+
fi
98103

99104
pushd nginx-operator
100105
sed -i 's|\(FROM quay.io/operator-framework/helm-operator\)\(:.*\)\?|\1:dev|g' build/Dockerfile

internal/pkg/scaffold/helm/role.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ func CreateRoleScaffold(cfg *rest.Config, chart *chart.Chart) (*scaffold.Role, e
7070
if err != nil {
7171
log.Warnf("Using default RBAC rules: failed to generate RBAC rules: %s", err)
7272
roleScaffold.SkipDefaultRules = false
73+
return roleScaffold, nil
7374
}
7475

7576
// Use a ClusterRole if cluster scoped resources are listed in the chart
@@ -183,12 +184,13 @@ func getServerVersionAndResources(cfg *rest.Config) (*version.Info, []*metav1.AP
183184
}
184185

185186
func getDefaultManifests(c *chart.Chart, kubeVersion *version.Info) ([]tiller.Manifest, error) {
187+
v := strings.TrimSuffix(fmt.Sprintf("%s.%s", kubeVersion.Major, kubeVersion.Minor), "+")
186188
renderOpts := renderutil.Options{
187189
ReleaseOptions: chartutil.ReleaseOptions{
188190
IsInstall: true,
189191
IsUpgrade: false,
190192
},
191-
KubeVersion: fmt.Sprintf("%s.%s", kubeVersion.Major, kubeVersion.Minor),
193+
KubeVersion: v,
192194
}
193195

194196
renderedTemplates, err := renderutil.Render(c, &chart.Config{}, renderOpts)

0 commit comments

Comments
 (0)