in pkg/install/cluster.go [69:142]
func installClusterRoles(
ctx context.Context, c client.Client, collection *kubernetes.Collection, clusterType string,
) error {
// ClusterRole: camel-k-edit
ok, err := isClusterRoleInstalled(ctx, c, "camel-k-edit")
if err != nil {
return err
}
if !ok || collection != nil {
err := installResource(ctx, c, collection, "/rbac/user-cluster-role.yaml")
if err != nil {
return err
}
}
// ClusterRole: camel-k-operator-custom-resource-definitions
ok, err = isClusterRoleInstalled(ctx, c, "camel-k-operator-custom-resource-definitions")
if err != nil {
return err
}
if !ok {
if err := installResource(ctx, c, collection,
"/rbac/operator-cluster-role-custom-resource-definitions.yaml"); err != nil {
return err
}
}
// ClusterRole: camel-k-operator-local-registry
ok, err = isClusterRoleInstalled(ctx, c, "camel-k-operator-local-registry")
if err == nil && !ok {
// ignore errors
_ = installResource(ctx, c, collection, "/rbac/operator-cluster-role-local-registry.yaml")
}
// === For OpenShift ===
// ClusterRole: camel-k-operator-console-openshift
isOpenShift, err := isOpenShift(c, clusterType)
if err != nil {
return err
}
if isOpenShift {
ok, err := isClusterRoleInstalled(ctx, c, "camel-k-operator-console-openshift")
if err != nil {
return err
}
if !ok || collection != nil {
err := installResource(ctx, c, collection, "/rbac/openshift/operator-cluster-role-console-openshift.yaml")
if err != nil {
return err
}
}
}
// === For Knative ===
// ClusterRole: camel-k-operator-bind-addressable-resolver
isKnative, err := knative.IsInstalled(c)
if err != nil {
return err
}
if isKnative {
ok, err := isClusterRoleInstalled(ctx, c, "camel-k-operator-bind-addressable-resolver")
if err != nil {
return err
}
if !ok || collection != nil {
err := installResource(ctx, c, collection, "/rbac/operator-cluster-role-addressable-resolver.yaml")
if err != nil {
return err
}
}
}
return nil
}