147 lines
5.4 KiB
YAML
147 lines
5.4 KiB
YAML
|
|
---
|
||
|
|
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: {}
|