--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.18.0 name: runnergroups.gitea.bpg.pw spec: group: gitea.bpg.pw names: kind: RunnerGroup listKind: RunnerGroupList plural: runnergroups singular: runnergroup scope: Namespaced versions: - name: v1alpha1 schema: openAPIV3Schema: description: RunnerGroup is the Schema for the runnergroups 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: RunnerGroupSpec defines the desired state of RunnerGroup. properties: authToken: description: AuthTokenRef references the secret containing the Gitea API token for polling properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: description: Specify whether the Secret or its key must be defined type: boolean required: - key type: object x-kubernetes-map-type: atomic giteaURL: description: GiteaURL is the base URL of the Gitea instance type: string labels: description: Labels to assign to the runner items: type: string type: array maxActiveRunners: description: MaxActiveRunners is the maximum number of concurrent jobs minimum: 1 type: integer org: description: Org is required if scope is 'org' type: string registrationToken: description: RegistrationTokenRef references the secret containing the runner registration token properties: key: description: The key of the secret to select from. Must be a valid secret key. type: string name: default: "" description: |- Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string optional: description: Specify whether the Secret or its key must be defined type: boolean required: - key type: object x-kubernetes-map-type: atomic repo: description: Repo is required if scope is 'repo' type: string scope: description: Scope defines the scope of the runner (global, org, user, repo) enum: - global - org - user - repo type: string user: description: User is required if scope is 'user' type: string required: - authToken - giteaURL - maxActiveRunners - registrationToken - scope type: object status: description: RunnerGroupStatus defines the observed state of RunnerGroup. properties: activeRunners: description: ActiveRunners is the current number of running jobs type: integer lastCheckTime: description: LastCheckTime is the timestamp of the last poll to Gitea format: date-time type: string required: - activeRunners type: object type: object served: true storage: true subresources: status: {}