--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.19.0 name: infrablueprints.rig.appstack.io spec: group: rig.appstack.io names: kind: InfraBlueprint listKind: InfraBlueprintList plural: infrablueprints shortNames: - ibp singular: infrablueprint scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.ready name: Ready type: boolean - jsonPath: .spec.quota.maxCpu name: MaxCPU type: integer - jsonPath: .status.usage.usedCpu name: UsedCPU type: integer - jsonPath: .spec.quota.maxMemoryGb name: MaxMem(GB) type: integer - jsonPath: .status.usage.usedMemoryGb name: UsedMem(GB) type: integer - jsonPath: .spec.quota.maxDiskGb name: MaxDisk(GB) type: integer - jsonPath: .status.usage.usedDiskGb name: UsedDisk(GB) type: integer name: v1alpha1 schema: openAPIV3Schema: 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: InfraBlueprintSpec defines the desired state of InfraBlueprint properties: cloudCredentialSecret: description: |- CloudCredentialSecret is the name of the Secret containing the master cloud credentials (e.g., kubeconfig or username/password). type: string providerRef: description: ProviderRef points to the technical configuration (HarvesterBlueprint/VsphereBlueprint). properties: apiGroup: description: APIGroup defaults to rig.appstack.io if not specified type: string kind: description: Kind is the type of resource being referenced (e.g., HarvesterBlueprint) type: string name: description: Name is the name of resource being referenced type: string required: - kind - name type: object quota: description: Quota defines the maximum resources allocatable by this Infra. properties: maxCpu: description: MaxCPU is the total number of cores allowed across all clusters type: integer maxDiskGb: description: MaxDiskGB is the total Storage (in GB) allowed across all clusters type: integer maxMemoryGb: description: MaxMemoryGB is the total RAM (in GB) allowed across all clusters type: integer type: object rancherUrl: description: |- RancherURL is the public URL of the Rancher Manager (e.g. https://rancher.example.com) This is injected into the Helm Chart to register the cluster. type: string userData: description: UserData is the default cloud-init user data for all clusters in this Infra. type: string required: - cloudCredentialSecret - providerRef - rancherUrl type: object status: description: InfraBlueprintStatus defines the observed state of InfraBlueprint properties: ready: description: Ready indicates the provider connection is verified type: boolean usage: description: Usage tracks the current resource consumption properties: usedCpu: description: UsedCPU is the sum of cores currently provisioned type: integer usedDiskGb: description: UsedDiskGB tracks storage consumption type: integer usedMemoryGb: description: UsedMemoryGB is the sum of RAM currently provisioned type: integer required: - usedCpu - usedDiskGb - usedMemoryGb type: object type: object type: object served: true storage: true subresources: status: {}