deploy: include ServiceAccount in the NFS provisioner RBAC artifact

It seems that the ServiceAccount was not created anymore, this causes
problems with provisioning volumes.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
This commit is contained in:
Niels de Vos
2024-03-14 20:19:00 +01:00
committed by mergify[bot]
parent a469a66f9d
commit 6f0d9a5d59
8 changed files with 177 additions and 2 deletions

View File

@ -0,0 +1,6 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: "{{ .ServiceAccount }}"
namespace: "{{ .Namespace }}"

View File

@ -30,6 +30,9 @@ import (
"github.com/ceph/ceph-csi/api/deploy/kubernetes"
)
//go:embed csi-provisioner-rbac-sa.yaml
var csiProvisionerServiceAccount string
//go:embed csi-provisioner-rbac-cr.yaml
var csiProvisionerClusterRole string
@ -88,7 +91,13 @@ func NewCSIProvisionerRBAC(values kubernetes.CSIProvisionerRBACValues) (kubernet
func NewCSIProvisionerRBACYAML(values kubernetes.CSIProvisionerRBACValues) (string, error) {
docs := []string{}
data, err := newYAML("csiProvisionerClusterRole", csiProvisionerClusterRole, values)
data, err := newYAML("csiProvisionerServiceAccount", csiProvisionerServiceAccount, values)
if err != nil {
return "", err
}
docs = append(docs, data)
data, err = newYAML("csiProvisionerClusterRole", csiProvisionerClusterRole, values)
if err != nil {
return "", err
}
@ -131,6 +140,21 @@ func newYAML(name, data string, values kubernetes.CSIProvisionerRBACValues) (str
return buf.String(), nil
}
func newServiceAccount(values kubernetes.CSIProvisionerRBACValues) (*corev1.ServiceAccount, error) {
data, err := newYAML("csiProvisionerServiceAccount", csiProvisionerServiceAccount, values)
if err != nil {
return nil, err
}
sa := &corev1.ServiceAccount{}
err = yaml.Unmarshal([]byte(data), sa)
if err != nil {
return nil, fmt.Errorf("failed convert YAML to %T: %w", sa, err)
}
return sa, nil
}
func newClusterRole(values kubernetes.CSIProvisionerRBACValues) (*rbacv1.ClusterRole, error) {
data, err := newYAML("csiProvisionerClusterRole", csiProvisionerClusterRole, values)
if err != nil {