--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.16.4 name: grafanaorganizations.observability.giantswarm.io spec: group: observability.giantswarm.io names: kind: GrafanaOrganization listKind: GrafanaOrganizationList plural: grafanaorganizations singular: grafanaorganization scope: Cluster versions: - additionalPrinterColumns: - jsonPath: .spec.displayName name: DisplayName type: string - jsonPath: .status.orgID name: OrgID type: integer name: v1alpha1 schema: openAPIV3Schema: description: GrafanaOrganization is the Schema describing a Grafana organization. Its lifecycle is managed by the observability-operator. 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: GrafanaOrganizationSpec defines the desired state of GrafanaOrganization properties: displayName: description: DisplayName is the name displayed when viewing the organization in Grafana. It can be different from the actual org's name. example: Giant Swarm minLength: 1 type: string rbac: description: Access rules defines user permissions for interacting with the organization in Grafana. properties: admins: description: Admins is a list of user organizations that have admin access to the grafanaorganization. items: type: string type: array editors: description: Editors is a list of user organizations that have editor access to the grafanaorganization. items: type: string type: array viewers: description: Viewers is a list of user organizations that have viewer access to the grafanaorganization. items: type: string type: array required: - admins type: object tenants: description: Tenants is a list of tenants that are associated with the Grafana organization. example: - giantswarm items: description: TenantID is a unique identifier for a tenant. It must be lowercase. maxLength: 63 minLength: 1 pattern: ^[a-z]*$ type: string type: array required: - displayName - rbac - tenants type: object status: description: GrafanaOrganizationStatus defines the observed state of GrafanaOrganization properties: dataSources: description: DataSources is a list of grafana data sources that are available to the Grafana organization. items: description: DataSource defines the name and id for data sources. properties: ID: description: ID is the unique id of the data source. format: int64 type: integer name: description: Name is the name of the data source. type: string required: - ID - name type: object type: array orgID: description: OrgID is the actual organisation ID in grafana. format: int64 type: integer type: object type: object served: true storage: true subresources: status: {}