From 7adf792192bba73fdddd96e5344fc6e887cf8e4f Mon Sep 17 00:00:00 2001
From: Mikhail Nacharov <1246847+mnacharov@users.noreply.github.com>
Date: Thu, 16 Jan 2025 17:55:17 +0100
Subject: [PATCH] add new kcl argocd-rbac-operator module from CRDs
---
argocd-rbac-operator/README.md | 142 +++++++++
.../crds/argocd-rbac-operator.yaml | 270 ++++++++++++++++++
argocd-rbac-operator/kcl.mod | 7 +
argocd-rbac-operator/kcl.mod.lock | 9 +
..._argoproj_labs_io_v1alpha1_argo_c_d_role.k | 130 +++++++++
...j_labs_io_v1alpha1_argo_c_d_role_binding.k | 140 +++++++++
6 files changed, 698 insertions(+)
create mode 100644 argocd-rbac-operator/README.md
create mode 100644 argocd-rbac-operator/crds/argocd-rbac-operator.yaml
create mode 100644 argocd-rbac-operator/kcl.mod
create mode 100644 argocd-rbac-operator/kcl.mod.lock
create mode 100644 argocd-rbac-operator/v1alpha1/rbac_operator_argoproj_labs_io_v1alpha1_argo_c_d_role.k
create mode 100644 argocd-rbac-operator/v1alpha1/rbac_operator_argoproj_labs_io_v1alpha1_argo_c_d_role_binding.k
diff --git a/argocd-rbac-operator/README.md b/argocd-rbac-operator/README.md
new file mode 100644
index 00000000..c7490bd1
--- /dev/null
+++ b/argocd-rbac-operator/README.md
@@ -0,0 +1,142 @@
+# argocd-rbac-operator
+
+## Index
+
+- v1alpha1
+ - [ArgoCDRole](#argocdrole)
+ - [ArgoCDRoleBinding](#argocdrolebinding)
+ - [RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingSpec](#rbacoperatorargoprojlabsiov1alpha1argocdrolebindingspec)
+ - [RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingSpecArgocdRoleRef](#rbacoperatorargoprojlabsiov1alpha1argocdrolebindingspecargocdroleref)
+ - [RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingSpecSubjectsItems0](#rbacoperatorargoprojlabsiov1alpha1argocdrolebindingspecsubjectsitems0)
+ - [RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingStatus](#rbacoperatorargoprojlabsiov1alpha1argocdrolebindingstatus)
+ - [RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingStatusConditionsItems0](#rbacoperatorargoprojlabsiov1alpha1argocdrolebindingstatusconditionsitems0)
+ - [RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleSpec](#rbacoperatorargoprojlabsiov1alpha1argocdrolespec)
+ - [RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleSpecRulesItems0](#rbacoperatorargoprojlabsiov1alpha1argocdrolespecrulesitems0)
+ - [RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleStatus](#rbacoperatorargoprojlabsiov1alpha1argocdrolestatus)
+ - [RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleStatusConditionsItems0](#rbacoperatorargoprojlabsiov1alpha1argocdrolestatusconditionsitems0)
+
+## Schemas
+
+### ArgoCDRole
+
+ArgoCDRole is the Schema for the roles API
+
+#### Attributes
+
+| name | type | description | default value |
+| --- | --- | --- | --- |
+|**apiVersion** `required` `readOnly`|"rbac-operator.argoproj-labs.io/v1alpha1"|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|"rbac-operator.argoproj-labs.io/v1alpha1"|
+|**kind** `required` `readOnly`|"ArgoCDRole"|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|"ArgoCDRole"|
+|**metadata**|[ObjectMeta](#objectmeta)|metadata||
+|**spec**|[RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleSpec](#rbacoperatorargoprojlabsiov1alpha1argocdrolespec)|spec||
+|**status**|[RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleStatus](#rbacoperatorargoprojlabsiov1alpha1argocdrolestatus)|status||
+### ArgoCDRoleBinding
+
+ArgoCDRoleBinding is the Schema for the argocdrolebindings API
+
+#### Attributes
+
+| name | type | description | default value |
+| --- | --- | --- | --- |
+|**apiVersion** `required` `readOnly`|"rbac-operator.argoproj-labs.io/v1alpha1"|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|"rbac-operator.argoproj-labs.io/v1alpha1"|
+|**kind** `required` `readOnly`|"ArgoCDRoleBinding"|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|"ArgoCDRoleBinding"|
+|**metadata**|[ObjectMeta](#objectmeta)|metadata||
+|**spec**|[RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingSpec](#rbacoperatorargoprojlabsiov1alpha1argocdrolebindingspec)|spec||
+|**status**|[RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingStatus](#rbacoperatorargoprojlabsiov1alpha1argocdrolebindingstatus)|status||
+### RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingSpec
+
+ArgoCDRoleBindingSpec defines the desired state of ArgoCDRoleBinding
+
+#### Attributes
+
+| name | type | description | default value |
+| --- | --- | --- | --- |
+|**argocdRoleRef** `required`|[RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingSpecArgocdRoleRef](#rbacoperatorargoprojlabsiov1alpha1argocdrolebindingspecargocdroleref)|argocd role ref||
+|**subjects** `required`|[[RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingSpecSubjectsItems0](#rbacoperatorargoprojlabsiov1alpha1argocdrolebindingspecsubjectsitems0)]|subjects||
+### RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingSpecArgocdRoleRef
+
+rbac operator argoproj labs io v1alpha1 argo c d role binding spec argocd role ref
+
+#### Attributes
+
+| name | type | description | default value |
+| --- | --- | --- | --- |
+|**name** `required`|str|Name of the ArgoCDRole. Should not start with "role:"||
+### RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingSpecSubjectsItems0
+
+rbac operator argoproj labs io v1alpha1 argo c d role binding spec subjects items0
+
+#### Attributes
+
+| name | type | description | default value |
+| --- | --- | --- | --- |
+|**kind** `required`|"sso" | "local" | "role"|kind||
+|**name** `required`|str|Name of the subject. If Kind is "role", it shouldn't start with "role:"||
+### RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingStatus
+
+ArgoCDRoleBindingStatus defines the observed state of ArgoCDRoleBinding
+
+#### Attributes
+
+| name | type | description | default value |
+| --- | --- | --- | --- |
+|**conditions**|[[RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingStatusConditionsItems0](#rbacoperatorargoprojlabsiov1alpha1argocdrolebindingstatusconditionsitems0)]|conditions||
+### RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingStatusConditionsItems0
+
+A Condition that may apply to a resource.
+
+#### Attributes
+
+| name | type | description | default value |
+| --- | --- | --- | --- |
+|**lastTransitionTime** `required`|str|LastTransitionTime is the last time this condition transitioned from one
status to another.||
+|**message**|str|A Message containing details about this condition's last transition from
one status to another, if any.||
+|**observedGeneration**|int|ObservedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.||
+|**reason** `required`|str|A Reason for this condition's last transition from one status to another.||
+|**status** `required`|str|Status of this condition; is it currently True, False, or Unknown?||
+|**type** `required`|str|||
+### RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleSpec
+
+ArgoCDRoleSpec defines the desired state of Role
+
+#### Attributes
+
+| name | type | description | default value |
+| --- | --- | --- | --- |
+|**rules** `required`|[[RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleSpecRulesItems0](#rbacoperatorargoprojlabsiov1alpha1argocdrolespecrulesitems0)]|rules||
+### RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleSpecRulesItems0
+
+rbac operator argoproj labs io v1alpha1 argo c d role spec rules items0
+
+#### Attributes
+
+| name | type | description | default value |
+| --- | --- | --- | --- |
+|**objects** `required`|[str]|objects||
+|**resource** `required`|"clusters" | "projects" | "applications" | "applicationsets" | "repositories" | "certificates" | "accounts" | "gpgkeys" | "logs" | "exec" | "extensions"|resource||
+|**verbs** `required`|[str]|verbs||
+### RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleStatus
+
+ArgoCDRoleStatus defines the observed state of Role
+
+#### Attributes
+
+| name | type | description | default value |
+| --- | --- | --- | --- |
+|**argocdRoleBindingRef**|str|argocd role binding ref||
+|**conditions**|[[RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleStatusConditionsItems0](#rbacoperatorargoprojlabsiov1alpha1argocdrolestatusconditionsitems0)]|conditions||
+### RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleStatusConditionsItems0
+
+A Condition that may apply to a resource.
+
+#### Attributes
+
+| name | type | description | default value |
+| --- | --- | --- | --- |
+|**lastTransitionTime** `required`|str|LastTransitionTime is the last time this condition transitioned from one
status to another.||
+|**message**|str|A Message containing details about this condition's last transition from
one status to another, if any.||
+|**observedGeneration**|int|ObservedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.||
+|**reason** `required`|str|A Reason for this condition's last transition from one status to another.||
+|**status** `required`|str|Status of this condition; is it currently True, False, or Unknown?||
+|**type** `required`|str|||
+
diff --git a/argocd-rbac-operator/crds/argocd-rbac-operator.yaml b/argocd-rbac-operator/crds/argocd-rbac-operator.yaml
new file mode 100644
index 00000000..3aa8ecce
--- /dev/null
+++ b/argocd-rbac-operator/crds/argocd-rbac-operator.yaml
@@ -0,0 +1,270 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ creationTimestamp: null
+ name: argocdroles.rbac-operator.argoproj-labs.io
+spec:
+ group: rbac-operator.argoproj-labs.io
+ names:
+ kind: ArgoCDRole
+ listKind: ArgoCDRoleList
+ plural: argocdroles
+ singular: argocdrole
+ scope: Namespaced
+ versions:
+ - name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ArgoCDRole is the Schema for the roles API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ArgoCDRoleSpec defines the desired state of Role
+ properties:
+ rules:
+ items:
+ properties:
+ objects:
+ items:
+ type: string
+ type: array
+ resource:
+ enum:
+ - clusters
+ - projects
+ - applications
+ - applicationsets
+ - repositories
+ - certificates
+ - accounts
+ - gpgkeys
+ - logs
+ - exec
+ - extensions
+ type: string
+ verbs:
+ items:
+ type: string
+ type: array
+ required:
+ - objects
+ - resource
+ - verbs
+ type: object
+ type: array
+ required:
+ - rules
+ type: object
+ status:
+ description: ArgoCDRoleStatus defines the observed state of Role
+ properties:
+ argocdRoleBindingRef:
+ type: string
+ conditions:
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: |-
+ LastTransitionTime is the last time this condition transitioned from one
+ status to another.
+ format: date-time
+ type: string
+ message:
+ description: |-
+ A Message containing details about this condition's last transition from
+ one status to another, if any.
+ type: string
+ observedGeneration:
+ description: |-
+ ObservedGeneration represents the .metadata.generation that the condition was set based upon.
+ For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
+ with respect to the current state of the instance.
+ format: int64
+ type: integer
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: |-
+ Type of this condition. At most one of each condition type may apply to
+ a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - type
+ x-kubernetes-list-type: map
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: null
+ storedVersions:
+ - v1alpha1
+
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ creationTimestamp: null
+ name: argocdrolebindings.rbac-operator.argoproj-labs.io
+spec:
+ group: rbac-operator.argoproj-labs.io
+ names:
+ kind: ArgoCDRoleBinding
+ listKind: ArgoCDRoleBindingList
+ plural: argocdrolebindings
+ singular: argocdrolebinding
+ scope: Namespaced
+ versions:
+ - name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ArgoCDRoleBinding is the Schema for the argocdrolebindings API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ArgoCDRoleBindingSpec defines the desired state of ArgoCDRoleBinding
+ properties:
+ argocdRoleRef:
+ properties:
+ name:
+ description: Name of the ArgoCDRole. Should not start with "role:"
+ type: string
+ required:
+ - name
+ type: object
+ subjects:
+ items:
+ properties:
+ kind:
+ enum:
+ - sso
+ - local
+ - role
+ type: string
+ name:
+ description: Name of the subject. If Kind is "role", it shouldn't
+ start with "role:"
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ type: array
+ required:
+ - argocdRoleRef
+ - subjects
+ type: object
+ status:
+ description: ArgoCDRoleBindingStatus defines the observed state of ArgoCDRoleBinding
+ properties:
+ conditions:
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: |-
+ LastTransitionTime is the last time this condition transitioned from one
+ status to another.
+ format: date-time
+ type: string
+ message:
+ description: |-
+ A Message containing details about this condition's last transition from
+ one status to another, if any.
+ type: string
+ observedGeneration:
+ description: |-
+ ObservedGeneration represents the .metadata.generation that the condition was set based upon.
+ For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
+ with respect to the current state of the instance.
+ format: int64
+ type: integer
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: |-
+ Type of this condition. At most one of each condition type may apply to
+ a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - type
+ x-kubernetes-list-type: map
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: null
+ storedVersions:
+ - v1alpha1
+
+---
diff --git a/argocd-rbac-operator/kcl.mod b/argocd-rbac-operator/kcl.mod
new file mode 100644
index 00000000..0d1df176
--- /dev/null
+++ b/argocd-rbac-operator/kcl.mod
@@ -0,0 +1,7 @@
+[package]
+name = "argocd-rbac-operator"
+edition = "v0.11.0"
+version = "v0.1.0"
+
+[dependencies]
+k8s = "1.31.2"
diff --git a/argocd-rbac-operator/kcl.mod.lock b/argocd-rbac-operator/kcl.mod.lock
new file mode 100644
index 00000000..3221be89
--- /dev/null
+++ b/argocd-rbac-operator/kcl.mod.lock
@@ -0,0 +1,9 @@
+[dependencies]
+ [dependencies.k8s]
+ name = "k8s"
+ full_name = "k8s_1.31.2"
+ version = "1.31.2"
+ sum = "xBZgPsnpVVyWBpahuPQHReeRx28eUHGFoaPeqbct+vs="
+ reg = "ghcr.io"
+ repo = "kcl-lang/k8s"
+ oci_tag = "1.31.2"
diff --git a/argocd-rbac-operator/v1alpha1/rbac_operator_argoproj_labs_io_v1alpha1_argo_c_d_role.k b/argocd-rbac-operator/v1alpha1/rbac_operator_argoproj_labs_io_v1alpha1_argo_c_d_role.k
new file mode 100644
index 00000000..20c6ce5c
--- /dev/null
+++ b/argocd-rbac-operator/v1alpha1/rbac_operator_argoproj_labs_io_v1alpha1_argo_c_d_role.k
@@ -0,0 +1,130 @@
+"""
+This file was generated by the KCL auto-gen tool. DO NOT EDIT.
+Editing this file might prove futile when you re-run the KCL auto-gen generate command.
+"""
+import k8s.apimachinery.pkg.apis.meta.v1
+
+
+schema ArgoCDRole:
+ r"""
+ ArgoCDRole is the Schema for the roles API
+
+ Attributes
+ ----------
+ apiVersion : str, default is "rbac-operator.argoproj-labs.io/v1alpha1", required
+ APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ kind : str, default is "ArgoCDRole", required
+ Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ metadata : v1.ObjectMeta, default is Undefined, optional
+ metadata
+ spec : RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleSpec, default is Undefined, optional
+ spec
+ status : RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleStatus, default is Undefined, optional
+ status
+ """
+
+
+ apiVersion: "rbac-operator.argoproj-labs.io/v1alpha1" = "rbac-operator.argoproj-labs.io/v1alpha1"
+
+ kind: "ArgoCDRole" = "ArgoCDRole"
+
+ metadata?: v1.ObjectMeta
+
+ spec?: RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleSpec
+
+ status?: RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleStatus
+
+
+schema RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleSpec:
+ r"""
+ ArgoCDRoleSpec defines the desired state of Role
+
+ Attributes
+ ----------
+ rules : [RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleSpecRulesItems0], default is Undefined, required
+ rules
+ """
+
+
+ rules: [RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleSpecRulesItems0]
+
+
+schema RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleSpecRulesItems0:
+ r"""
+ rbac operator argoproj labs io v1alpha1 argo c d role spec rules items0
+
+ Attributes
+ ----------
+ objects : [str], default is Undefined, required
+ objects
+ resource : str, default is Undefined, required
+ resource
+ verbs : [str], default is Undefined, required
+ verbs
+ """
+
+
+ objects: [str]
+
+ resource: "clusters" | "projects" | "applications" | "applicationsets" | "repositories" | "certificates" | "accounts" | "gpgkeys" | "logs" | "exec" | "extensions"
+
+ verbs: [str]
+
+
+schema RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleStatus:
+ r"""
+ ArgoCDRoleStatus defines the observed state of Role
+
+ Attributes
+ ----------
+ argocdRoleBindingRef : str, default is Undefined, optional
+ argocd role binding ref
+ conditions : [RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleStatusConditionsItems0], default is Undefined, optional
+ conditions
+ """
+
+
+ argocdRoleBindingRef?: str
+
+ conditions?: [RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleStatusConditionsItems0]
+
+
+schema RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleStatusConditionsItems0:
+ r"""
+ A Condition that may apply to a resource.
+
+ Attributes
+ ----------
+ lastTransitionTime : str, default is Undefined, required
+ LastTransitionTime is the last time this condition transitioned from one
+ status to another.
+ message : str, default is Undefined, optional
+ A Message containing details about this condition's last transition from
+ one status to another, if any.
+ observedGeneration : int, default is Undefined, optional
+ ObservedGeneration represents the .metadata.generation that the condition was set based upon.
+ For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
+ with respect to the current state of the instance.
+ reason : str, default is Undefined, required
+ A Reason for this condition's last transition from one status to another.
+ status : str, default is Undefined, required
+ Status of this condition; is it currently True, False, or Unknown?
+ $type : str, default is Undefined, required
+ Type of this condition. At most one of each condition type may apply to
+ a resource at any point in time.
+ """
+
+
+ lastTransitionTime: str
+
+ message?: str
+
+ observedGeneration?: int
+
+ reason: str
+
+ status: str
+
+ $type: str
+
+
diff --git a/argocd-rbac-operator/v1alpha1/rbac_operator_argoproj_labs_io_v1alpha1_argo_c_d_role_binding.k b/argocd-rbac-operator/v1alpha1/rbac_operator_argoproj_labs_io_v1alpha1_argo_c_d_role_binding.k
new file mode 100644
index 00000000..07b72baa
--- /dev/null
+++ b/argocd-rbac-operator/v1alpha1/rbac_operator_argoproj_labs_io_v1alpha1_argo_c_d_role_binding.k
@@ -0,0 +1,140 @@
+"""
+This file was generated by the KCL auto-gen tool. DO NOT EDIT.
+Editing this file might prove futile when you re-run the KCL auto-gen generate command.
+"""
+import k8s.apimachinery.pkg.apis.meta.v1
+
+
+schema ArgoCDRoleBinding:
+ r"""
+ ArgoCDRoleBinding is the Schema for the argocdrolebindings API
+
+ Attributes
+ ----------
+ apiVersion : str, default is "rbac-operator.argoproj-labs.io/v1alpha1", required
+ APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ kind : str, default is "ArgoCDRoleBinding", required
+ Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ metadata : v1.ObjectMeta, default is Undefined, optional
+ metadata
+ spec : RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingSpec, default is Undefined, optional
+ spec
+ status : RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingStatus, default is Undefined, optional
+ status
+ """
+
+
+ apiVersion: "rbac-operator.argoproj-labs.io/v1alpha1" = "rbac-operator.argoproj-labs.io/v1alpha1"
+
+ kind: "ArgoCDRoleBinding" = "ArgoCDRoleBinding"
+
+ metadata?: v1.ObjectMeta
+
+ spec?: RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingSpec
+
+ status?: RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingStatus
+
+
+schema RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingSpec:
+ r"""
+ ArgoCDRoleBindingSpec defines the desired state of ArgoCDRoleBinding
+
+ Attributes
+ ----------
+ argocdRoleRef : RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingSpecArgocdRoleRef, default is Undefined, required
+ argocd role ref
+ subjects : [RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingSpecSubjectsItems0], default is Undefined, required
+ subjects
+ """
+
+
+ argocdRoleRef: RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingSpecArgocdRoleRef
+
+ subjects: [RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingSpecSubjectsItems0]
+
+
+schema RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingSpecArgocdRoleRef:
+ r"""
+ rbac operator argoproj labs io v1alpha1 argo c d role binding spec argocd role ref
+
+ Attributes
+ ----------
+ name : str, default is Undefined, required
+ Name of the ArgoCDRole. Should not start with "role:"
+ """
+
+
+ name: str
+
+
+schema RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingSpecSubjectsItems0:
+ r"""
+ rbac operator argoproj labs io v1alpha1 argo c d role binding spec subjects items0
+
+ Attributes
+ ----------
+ kind : str, default is Undefined, required
+ kind
+ name : str, default is Undefined, required
+ Name of the subject. If Kind is "role", it shouldn't start with "role:"
+ """
+
+
+ kind: "sso" | "local" | "role"
+
+ name: str
+
+
+schema RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingStatus:
+ r"""
+ ArgoCDRoleBindingStatus defines the observed state of ArgoCDRoleBinding
+
+ Attributes
+ ----------
+ conditions : [RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingStatusConditionsItems0], default is Undefined, optional
+ conditions
+ """
+
+
+ conditions?: [RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingStatusConditionsItems0]
+
+
+schema RbacOperatorArgoprojLabsIoV1alpha1ArgoCDRoleBindingStatusConditionsItems0:
+ r"""
+ A Condition that may apply to a resource.
+
+ Attributes
+ ----------
+ lastTransitionTime : str, default is Undefined, required
+ LastTransitionTime is the last time this condition transitioned from one
+ status to another.
+ message : str, default is Undefined, optional
+ A Message containing details about this condition's last transition from
+ one status to another, if any.
+ observedGeneration : int, default is Undefined, optional
+ ObservedGeneration represents the .metadata.generation that the condition was set based upon.
+ For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
+ with respect to the current state of the instance.
+ reason : str, default is Undefined, required
+ A Reason for this condition's last transition from one status to another.
+ status : str, default is Undefined, required
+ Status of this condition; is it currently True, False, or Unknown?
+ $type : str, default is Undefined, required
+ Type of this condition. At most one of each condition type may apply to
+ a resource at any point in time.
+ """
+
+
+ lastTransitionTime: str
+
+ message?: str
+
+ observedGeneration?: int
+
+ reason: str
+
+ status: str
+
+ $type: str
+
+