// Copyright (c) 2023 Volvo Car Corporation
// SPDX-License-Identifier: Apache-2.0

// Code generated by lingon. EDIT AS MUCH AS YOU LIKE.

package certmanager

import (
	ku "github.com/golingon/lingon/pkg/kubeutil"
)

var ControllerApproveIoCRB = ku.BindClusterRole(
	ControllerApproveIoCR.Name,
	CM.ControllerSA,
	ControllerApproveIoCR,
	CM.Controller.Labels(),
)

// var ControllerApproveIoCRB = &rbacv1.ClusterRoleBinding{
// 	ObjectMeta: metav1.ObjectMeta{
// 		Labels: map[string]string{
// 			"app":                          "cert-manager",
// 			"app.kubernetes.io/component":  "cert-manager",
// 			"app.kubernetes.io/instance":   "cert-manager",
// 			"app.kubernetes.io/managed-by": "Helm",
// 			"app.kubernetes.io/name":       "cert-manager",
// 			"app.kubernetes.io/version":    "v1.12.2",
// 			"helm.sh/chart":                "cert-manager-v1.12.2",
// 		},
// 		Name: "cert-manager-controller-approve:cert-manager-io",
// 	},
// 	RoleRef: rbacv1.RoleRef{
// 		APIGroup: "rbac.authorization.k8s.io",
// 		Kind:     "ClusterRole",
// 		Name:     "cert-manager-controller-approve:cert-manager-io",
// 	},
// 	Subjects: []rbacv1.Subject{
// 		{
// 			Kind:      "ServiceAccount",
// 			Name:      "cert-manager",
// 			Namespace: "cert-manager",
// 		},
// 	},
// 	TypeMeta: metav1.TypeMeta{
// 		APIVersion: "rbac.authorization.k8s.io/v1",
// 		Kind:       "ClusterRoleBinding",
// 	},
// }

var ControllerCertificatesCRB = ku.BindClusterRole(
	ControllerCertificatesCR.Name,
	CM.ControllerSA,
	ControllerCertificatesCR,
	CM.Controller.Labels(),
)

// var ControllerCertificatesCRB = &rbacv1.ClusterRoleBinding{
// 	ObjectMeta: metav1.ObjectMeta{
// 		Labels: map[string]string{
// 			"app":                          "cert-manager",
// 			"app.kubernetes.io/component":  "controller",
// 			"app.kubernetes.io/instance":   "cert-manager",
// 			"app.kubernetes.io/managed-by": "Helm",
// 			"app.kubernetes.io/name":       "cert-manager",
// 			"app.kubernetes.io/version":    "v1.12.2",
// 			"helm.sh/chart":                "cert-manager-v1.12.2",
// 		},
// 		Name: "cert-manager-controller-certificates",
// 	},
// 	RoleRef: rbacv1.RoleRef{
// 		APIGroup: "rbac.authorization.k8s.io",
// 		Kind:     "ClusterRole",
// 		Name:     "cert-manager-controller-certificates",
// 	},
// 	Subjects: []rbacv1.Subject{
// 		{
// 			Kind:      "ServiceAccount",
// 			Name:      "cert-manager",
// 			Namespace: "cert-manager",
// 		},
// 	},
// 	TypeMeta: metav1.TypeMeta{
// 		APIVersion: "rbac.authorization.k8s.io/v1",
// 		Kind:       "ClusterRoleBinding",
// 	},
// }

var ControllerCertificateSigningRequestsCRB = ku.BindClusterRole(
	ControllerCertificateSigningRequestsCR.Name,
	CM.ControllerSA,
	ControllerCertificateSigningRequestsCR,
	CM.Controller.Labels(),
)

// var ControllerCertificateSigningRequestsCRB = &rbacv1.ClusterRoleBinding{
// 	ObjectMeta: metav1.ObjectMeta{
// 		Labels: map[string]string{
// 			"app":                          "cert-manager",
// 			"app.kubernetes.io/component":  "cert-manager",
// 			"app.kubernetes.io/instance":   "cert-manager",
// 			"app.kubernetes.io/managed-by": "Helm",
// 			"app.kubernetes.io/name":       "cert-manager",
// 			"app.kubernetes.io/version":    "v1.12.2",
// 			"helm.sh/chart":                "cert-manager-v1.12.2",
// 		},
// 		Name: "cert-manager-controller-certificatesigningrequests",
// 	},
// 	RoleRef: rbacv1.RoleRef{
// 		APIGroup: "rbac.authorization.k8s.io",
// 		Kind:     "ClusterRole",
// 		Name:     "cert-manager-controller-certificatesigningrequests",
// 	},
// 	Subjects: []rbacv1.Subject{
// 		{
// 			Kind:      "ServiceAccount",
// 			Name:      "cert-manager",
// 			Namespace: "cert-manager",
// 		},
// 	},
// 	TypeMeta: metav1.TypeMeta{
// 		APIVersion: "rbac.authorization.k8s.io/v1",
// 		Kind:       "ClusterRoleBinding",
// 	},
// }

var ControllerChallengesCRB = ku.BindClusterRole(
	ControllerChallengesCR.Name,
	CM.ControllerSA,
	ControllerChallengesCR,
	CM.Controller.Labels(),
)

// var ControllerChallengesCRB = &rbacv1.ClusterRoleBinding{
// 	ObjectMeta: metav1.ObjectMeta{
// 		Labels: map[string]string{
// 			"app":                          "cert-manager",
// 			"app.kubernetes.io/component":  "controller",
// 			"app.kubernetes.io/instance":   "cert-manager",
// 			"app.kubernetes.io/managed-by": "Helm",
// 			"app.kubernetes.io/name":       "cert-manager",
// 			"app.kubernetes.io/version":    "v1.12.2",
// 			"helm.sh/chart":                "cert-manager-v1.12.2",
// 		},
// 		Name: "cert-manager-controller-challenges",
// 	},
// 	RoleRef: rbacv1.RoleRef{
// 		APIGroup: "rbac.authorization.k8s.io",
// 		Kind:     "ClusterRole",
// 		Name:     "cert-manager-controller-challenges",
// 	},
// 	Subjects: []rbacv1.Subject{
// 		{
// 			Kind:      "ServiceAccount",
// 			Name:      "cert-manager",
// 			Namespace: "cert-manager",
// 		},
// 	},
// 	TypeMeta: metav1.TypeMeta{
// 		APIVersion: "rbac.authorization.k8s.io/v1",
// 		Kind:       "ClusterRoleBinding",
// 	},
// }

var ControllerClusterIssuersCRB = ku.BindClusterRole(
	ControllerClusterIssuersCR.Name,
	CM.ControllerSA,
	ControllerClusterIssuersCR,
	CM.Controller.Labels(),
)

// var ControllerClusterIssuersCRB = &rbacv1.ClusterRoleBinding{
// 	ObjectMeta: metav1.ObjectMeta{
// 		Labels: map[string]string{
// 			"app":                          "cert-manager",
// 			"app.kubernetes.io/component":  "controller",
// 			"app.kubernetes.io/instance":   "cert-manager",
// 			"app.kubernetes.io/managed-by": "Helm",
// 			"app.kubernetes.io/name":       "cert-manager",
// 			"app.kubernetes.io/version":    "v1.12.2",
// 			"helm.sh/chart":                "cert-manager-v1.12.2",
// 		},
// 		Name: "cert-manager-controller-clusterissuers",
// 	},
// 	RoleRef: rbacv1.RoleRef{
// 		APIGroup: "rbac.authorization.k8s.io",
// 		Kind:     "ClusterRole",
// 		Name:     "cert-manager-controller-clusterissuers",
// 	},
// 	Subjects: []rbacv1.Subject{
// 		{
// 			Kind:      "ServiceAccount",
// 			Name:      "cert-manager",
// 			Namespace: "cert-manager",
// 		},
// 	},
// 	TypeMeta: metav1.TypeMeta{
// 		APIVersion: "rbac.authorization.k8s.io/v1",
// 		Kind:       "ClusterRoleBinding",
// 	},
// }

var ControllerIngressShimCRB = ku.BindClusterRole(
	ControllerIngressShimCR.Name,
	CM.ControllerSA,
	ControllerIngressShimCR,
	CM.Controller.Labels(),
)

// var ControllerIngressShimCRB = &rbacv1.ClusterRoleBinding{
// 	ObjectMeta: metav1.ObjectMeta{
// 		Labels: map[string]string{
// 			"app":                          "cert-manager",
// 			"app.kubernetes.io/component":  "controller",
// 			"app.kubernetes.io/instance":   "cert-manager",
// 			"app.kubernetes.io/managed-by": "Helm",
// 			"app.kubernetes.io/name":       "cert-manager",
// 			"app.kubernetes.io/version":    "v1.12.2",
// 			"helm.sh/chart":                "cert-manager-v1.12.2",
// 		},
// 		Name: "cert-manager-controller-ingress-shim",
// 	},
// 	RoleRef: rbacv1.RoleRef{
// 		APIGroup: "rbac.authorization.k8s.io",
// 		Kind:     "ClusterRole",
// 		Name:     "cert-manager-controller-ingress-shim",
// 	},
// 	Subjects: []rbacv1.Subject{
// 		{
// 			Kind:      "ServiceAccount",
// 			Name:      "cert-manager",
// 			Namespace: "cert-manager",
// 		},
// 	},
// 	TypeMeta: metav1.TypeMeta{
// 		APIVersion: "rbac.authorization.k8s.io/v1",
// 		Kind:       "ClusterRoleBinding",
// 	},
// }

var ControllerIssuersCRB = ku.BindClusterRole(
	ControllerIssuersCR.Name,
	CM.ControllerSA,
	ControllerIssuersCR,
	CM.Controller.Labels(),
)

// var ControllerIssuersCRB = &rbacv1.ClusterRoleBinding{
// 	ObjectMeta: metav1.ObjectMeta{
// 		Labels: map[string]string{
// 			"app":                          "cert-manager",
// 			"app.kubernetes.io/component":  "controller",
// 			"app.kubernetes.io/instance":   "cert-manager",
// 			"app.kubernetes.io/managed-by": "Helm",
// 			"app.kubernetes.io/name":       "cert-manager",
// 			"app.kubernetes.io/version":    "v1.12.2",
// 			"helm.sh/chart":                "cert-manager-v1.12.2",
// 		},
// 		Name: "cert-manager-controller-issuers",
// 	},
// 	RoleRef: rbacv1.RoleRef{
// 		APIGroup: "rbac.authorization.k8s.io",
// 		Kind:     "ClusterRole",
// 		Name:     "cert-manager-controller-issuers",
// 	},
// 	Subjects: []rbacv1.Subject{
// 		{
// 			Kind:      "ServiceAccount",
// 			Name:      "cert-manager",
// 			Namespace: "cert-manager",
// 		},
// 	},
// 	TypeMeta: metav1.TypeMeta{
// 		APIVersion: "rbac.authorization.k8s.io/v1",
// 		Kind:       "ClusterRoleBinding",
// 	},
// }

var ControllerOrdersCRB = ku.BindClusterRole(
	ControllerOrdersCR.Name,
	CM.ControllerSA,
	ControllerOrdersCR,
	CM.Controller.Labels(),
)

// var ControllerOrdersCRB = &rbacv1.ClusterRoleBinding{
// 	ObjectMeta: metav1.ObjectMeta{
// 		Labels: map[string]string{
// 			"app":                          "cert-manager",
// 			"app.kubernetes.io/component":  "controller",
// 			"app.kubernetes.io/instance":   "cert-manager",
// 			"app.kubernetes.io/managed-by": "Helm",
// 			"app.kubernetes.io/name":       "cert-manager",
// 			"app.kubernetes.io/version":    "v1.12.2",
// 			"helm.sh/chart":                "cert-manager-v1.12.2",
// 		},
// 		Name: "cert-manager-controller-orders",
// 	},
// 	RoleRef: rbacv1.RoleRef{
// 		APIGroup: "rbac.authorization.k8s.io",
// 		Kind:     "ClusterRole",
// 		Name:     "cert-manager-controller-orders",
// 	},
// 	Subjects: []rbacv1.Subject{
// 		{
// 			Kind:      "ServiceAccount",
// 			Name:      "cert-manager",
// 			Namespace: "cert-manager",
// 		},
// 	},
// 	TypeMeta: metav1.TypeMeta{
// 		APIVersion: "rbac.authorization.k8s.io/v1",
// 		Kind:       "ClusterRoleBinding",
// 	},
// }
