Skip to content

Commit 96274c6

Browse files
🐛 fix roles names for projects with multi-group layout
1 parent 4e206d8 commit 96274c6

38 files changed

+70
-38
lines changed

pkg/plugins/common/kustomize/v2/scaffolds/internal/templates/config/rbac/crd_editor_role.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,13 @@ See the License for the specific language governing permissions and
1414
limitations under the License.
1515
*/
1616

17+
//nolint:dupl
1718
package rbac
1819

1920
import (
21+
"fmt"
2022
"path/filepath"
23+
"strings"
2124

2225
"sigs.k8s.io/kubebuilder/v3/pkg/machinery"
2326
)
@@ -30,6 +33,8 @@ type CRDEditorRole struct {
3033
machinery.MultiGroupMixin
3134
machinery.ResourceMixin
3235
machinery.ProjectNameMixin
36+
37+
RoleName string
3338
}
3439

3540
// SetTemplateDefaults implements file.Template
@@ -44,6 +49,17 @@ func (f *CRDEditorRole) SetTemplateDefaults() error {
4449
}
4550
f.Path = f.Resource.Replacer().Replace(f.Path)
4651

52+
if f.RoleName == "" {
53+
if f.MultiGroup && f.Resource.Group != "" {
54+
f.RoleName = fmt.Sprintf("%s-%s-editor-role",
55+
strings.ToLower(f.Resource.Group),
56+
strings.ToLower(f.Resource.Kind))
57+
} else {
58+
f.RoleName = fmt.Sprintf("%s-editor-role",
59+
strings.ToLower(f.Resource.Kind))
60+
}
61+
}
62+
4763
f.TemplateBody = crdRoleEditorTemplate
4864

4965
return nil
@@ -60,7 +76,7 @@ metadata:
6076
app.kubernetes.io/created-by: {{ .ProjectName }}
6177
app.kubernetes.io/part-of: {{ .ProjectName }}
6278
app.kubernetes.io/managed-by: kustomize
63-
name: {{ lower .Resource.Kind }}-editor-role
79+
name: {{ .RoleName }}
6480
rules:
6581
- apiGroups:
6682
- {{ .Resource.QualifiedGroup }}

pkg/plugins/common/kustomize/v2/scaffolds/internal/templates/config/rbac/crd_viewer_role.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,13 @@ See the License for the specific language governing permissions and
1414
limitations under the License.
1515
*/
1616

17+
//nolint:dupl
1718
package rbac
1819

1920
import (
21+
"fmt"
2022
"path/filepath"
23+
"strings"
2124

2225
"sigs.k8s.io/kubebuilder/v3/pkg/machinery"
2326
)
@@ -30,6 +33,8 @@ type CRDViewerRole struct {
3033
machinery.MultiGroupMixin
3134
machinery.ResourceMixin
3235
machinery.ProjectNameMixin
36+
37+
RoleName string
3338
}
3439

3540
// SetTemplateDefaults implements file.Template
@@ -44,6 +49,17 @@ func (f *CRDViewerRole) SetTemplateDefaults() error {
4449
}
4550
f.Path = f.Resource.Replacer().Replace(f.Path)
4651

52+
if f.RoleName == "" {
53+
if f.MultiGroup && f.Resource.Group != "" {
54+
f.RoleName = fmt.Sprintf("%s-%s-viewer-role",
55+
strings.ToLower(f.Resource.Group),
56+
strings.ToLower(f.Resource.Kind))
57+
} else {
58+
f.RoleName = fmt.Sprintf("%s-viewer-role",
59+
strings.ToLower(f.Resource.Kind))
60+
}
61+
}
62+
4763
f.TemplateBody = crdRoleViewerTemplate
4864

4965
return nil
@@ -60,7 +76,7 @@ metadata:
6076
app.kubernetes.io/created-by: {{ .ProjectName }}
6177
app.kubernetes.io/part-of: {{ .ProjectName }}
6278
app.kubernetes.io/managed-by: kustomize
63-
name: {{ lower .Resource.Kind }}-viewer-role
79+
name: {{ .RoleName }}
6480
rules:
6581
- apiGroups:
6682
- {{ .Resource.QualifiedGroup }}

testdata/project-v4-multigroup-with-deploy-image/config/rbac/crew_captain_editor_role.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ metadata:
99
app.kubernetes.io/created-by: project-v4-multigroup-with-deploy-image
1010
app.kubernetes.io/part-of: project-v4-multigroup-with-deploy-image
1111
app.kubernetes.io/managed-by: kustomize
12-
name: captain-editor-role
12+
name: crew-captain-editor-role
1313
rules:
1414
- apiGroups:
1515
- crew.testproject.org

testdata/project-v4-multigroup-with-deploy-image/config/rbac/crew_captain_viewer_role.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ metadata:
99
app.kubernetes.io/created-by: project-v4-multigroup-with-deploy-image
1010
app.kubernetes.io/part-of: project-v4-multigroup-with-deploy-image
1111
app.kubernetes.io/managed-by: kustomize
12-
name: captain-viewer-role
12+
name: crew-captain-viewer-role
1313
rules:
1414
- apiGroups:
1515
- crew.testproject.org

testdata/project-v4-multigroup-with-deploy-image/config/rbac/fiz_bar_editor_role.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ metadata:
99
app.kubernetes.io/created-by: project-v4-multigroup-with-deploy-image
1010
app.kubernetes.io/part-of: project-v4-multigroup-with-deploy-image
1111
app.kubernetes.io/managed-by: kustomize
12-
name: bar-editor-role
12+
name: fiz-bar-editor-role
1313
rules:
1414
- apiGroups:
1515
- fiz.testproject.org

testdata/project-v4-multigroup-with-deploy-image/config/rbac/fiz_bar_viewer_role.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ metadata:
99
app.kubernetes.io/created-by: project-v4-multigroup-with-deploy-image
1010
app.kubernetes.io/part-of: project-v4-multigroup-with-deploy-image
1111
app.kubernetes.io/managed-by: kustomize
12-
name: bar-viewer-role
12+
name: fiz-bar-viewer-role
1313
rules:
1414
- apiGroups:
1515
- fiz.testproject.org

testdata/project-v4-multigroup-with-deploy-image/config/rbac/foo.policy_healthcheckpolicy_editor_role.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ metadata:
99
app.kubernetes.io/created-by: project-v4-multigroup-with-deploy-image
1010
app.kubernetes.io/part-of: project-v4-multigroup-with-deploy-image
1111
app.kubernetes.io/managed-by: kustomize
12-
name: healthcheckpolicy-editor-role
12+
name: foo.policy-healthcheckpolicy-editor-role
1313
rules:
1414
- apiGroups:
1515
- foo.policy.testproject.org

testdata/project-v4-multigroup-with-deploy-image/config/rbac/foo.policy_healthcheckpolicy_viewer_role.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ metadata:
99
app.kubernetes.io/created-by: project-v4-multigroup-with-deploy-image
1010
app.kubernetes.io/part-of: project-v4-multigroup-with-deploy-image
1111
app.kubernetes.io/managed-by: kustomize
12-
name: healthcheckpolicy-viewer-role
12+
name: foo.policy-healthcheckpolicy-viewer-role
1313
rules:
1414
- apiGroups:
1515
- foo.policy.testproject.org

testdata/project-v4-multigroup-with-deploy-image/config/rbac/foo_bar_editor_role.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ metadata:
99
app.kubernetes.io/created-by: project-v4-multigroup-with-deploy-image
1010
app.kubernetes.io/part-of: project-v4-multigroup-with-deploy-image
1111
app.kubernetes.io/managed-by: kustomize
12-
name: bar-editor-role
12+
name: foo-bar-editor-role
1313
rules:
1414
- apiGroups:
1515
- foo.testproject.org

testdata/project-v4-multigroup-with-deploy-image/config/rbac/foo_bar_viewer_role.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ metadata:
99
app.kubernetes.io/created-by: project-v4-multigroup-with-deploy-image
1010
app.kubernetes.io/part-of: project-v4-multigroup-with-deploy-image
1111
app.kubernetes.io/managed-by: kustomize
12-
name: bar-viewer-role
12+
name: foo-bar-viewer-role
1313
rules:
1414
- apiGroups:
1515
- foo.testproject.org

0 commit comments

Comments
 (0)