Skip to content

Commit

Permalink
operator hive-operator (1.2.4644-365f074)
Browse files Browse the repository at this point in the history
  • Loading branch information
suhanime authored Oct 14, 2024
1 parent 20f8500 commit d815719
Show file tree
Hide file tree
Showing 23 changed files with 8,593 additions and 0 deletions.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.1
name: checkpoints.hive.openshift.io
spec:
group: hive.openshift.io
names:
kind: Checkpoint
listKind: CheckpointList
plural: checkpoints
singular: checkpoint
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: Checkpoint is the Schema for the backup of Hive objects.
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: CheckpointSpec defines the metadata around the Hive objects
state in the namespace at the time of the last backup.
properties:
lastBackupChecksum:
description: LastBackupChecksum is the checksum of all Hive objects
in the namespace at the time of the last backup.
type: string
lastBackupRef:
description: LastBackupRef is a reference to last backup object created
properties:
name:
type: string
namespace:
type: string
required:
- name
- namespace
type: object
lastBackupTime:
description: LastBackupTime is the last time we performed a backup
of the namespace
format: date-time
type: string
required:
- lastBackupChecksum
- lastBackupRef
- lastBackupTime
type: object
status:
description: CheckpointStatus defines the observed state of Checkpoint
type: object
type: object
served: true
storage: true
subresources:
status: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.1
name: clusterclaims.hive.openshift.io
spec:
group: hive.openshift.io
names:
kind: ClusterClaim
listKind: ClusterClaimList
plural: clusterclaims
singular: clusterclaim
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .spec.clusterPoolName
name: Pool
type: string
- jsonPath: .status.conditions[?(@.type=='Pending')].reason
name: Pending
type: string
- jsonPath: .spec.namespace
name: ClusterNamespace
type: string
- jsonPath: .status.conditions[?(@.type=='ClusterRunning')].reason
name: ClusterRunning
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1
schema:
openAPIV3Schema:
description: ClusterClaim represents a claim to a cluster from a cluster pool.
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: ClusterClaimSpec defines the desired state of the ClusterClaim.
properties:
clusterPoolName:
description: ClusterPoolName is the name of the cluster pool from
which to claim a cluster.
type: string
lifetime:
description: |-
Lifetime is the maximum lifetime of the claim after it is assigned a cluster. If the claim still exists
when the lifetime has elapsed, the claim will be deleted by Hive.
This is a Duration value; see https://pkg.go.dev/time#ParseDuration for accepted formats.
Note: due to discrepancies in validation vs parsing, we use a Pattern instead of `Format=duration`. See
https://bugzilla.redhat.com/show_bug.cgi?id=2050332
https://github.com/kubernetes/apimachinery/issues/131
https://github.com/kubernetes/apiextensions-apiserver/issues/56
pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
type: string
namespace:
description: |-
Namespace is the namespace containing the ClusterDeployment (name will match the namespace) of the claimed cluster.
This field will be set as soon as a suitable cluster can be found, however that cluster may still be
resuming and not yet ready for use. Wait for the ClusterRunning condition to be true to avoid this issue.
type: string
subjects:
description: Subjects hold references to which to authorize access
to the claimed cluster.
items:
description: |-
Subject contains a reference to the object or user identities a role binding applies to. This can either hold a direct API object reference,
or a value for non-objects such as user and group names.
properties:
apiGroup:
description: |-
APIGroup holds the API group of the referenced subject.
Defaults to "" for ServiceAccount subjects.
Defaults to "rbac.authorization.k8s.io" for User and Group subjects.
type: string
kind:
description: |-
Kind of object being referenced. Values defined by this API group are "User", "Group", and "ServiceAccount".
If the Authorizer does not recognized the kind value, the Authorizer should report an error.
type: string
name:
description: Name of the object being referenced.
type: string
namespace:
description: |-
Namespace of the referenced object. If the object kind is non-namespace, such as "User" or "Group", and this value is not empty
the Authorizer should report an error.
type: string
required:
- kind
- name
type: object
x-kubernetes-map-type: atomic
type: array
required:
- clusterPoolName
type: object
status:
description: ClusterClaimStatus defines the observed state of ClusterClaim.
properties:
conditions:
description: Conditions includes more detailed status for the cluster
pool.
items:
description: ClusterClaimCondition contains details for the current
condition of a cluster claim.
properties:
lastProbeTime:
description: LastProbeTime is the last time we probed the condition.
format: date-time
type: string
lastTransitionTime:
description: LastTransitionTime is the last time the condition
transitioned from one status to another.
format: date-time
type: string
message:
description: Message is a human-readable message indicating
details about last transition.
type: string
reason:
description: Reason is a unique, one-word, CamelCase reason
for the condition's last transition.
type: string
status:
description: Status is the status of the condition.
type: string
type:
description: Type is the type of the condition.
type: string
required:
- status
- type
type: object
type: array
lifetime:
description: |-
Lifetime is the maximum lifetime of the claim after it is assigned a cluster. If the claim still exists
when the lifetime has elapsed, the claim will be deleted by Hive.
type: string
type: object
required:
- spec
type: object
served: true
storage: true
subresources:
status: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.1
name: clusterdeploymentcustomizations.hive.openshift.io
spec:
group: hive.openshift.io
names:
kind: ClusterDeploymentCustomization
listKind: ClusterDeploymentCustomizationList
plural: clusterdeploymentcustomizations
singular: clusterdeploymentcustomization
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: ClusterDeploymentCustomization is the Schema for clusterdeploymentcustomizations
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: ClusterDeploymentCustomizationSpec defines the desired state
of ClusterDeploymentCustomization.
properties:
installConfigPatches:
description: InstallConfigPatches is a list of patches to be applied
to the install-config.
items:
description: PatchEntity represent a json patch (RFC 6902) to be
applied to the install-config
properties:
from:
description: From is the json path to copy or move the value
from
type: string
op:
description: 'Op is the operation to perform: add, remove, replace,
move, copy, test'
type: string
path:
description: Path is the json path to the value to be modified
type: string
value:
description: Value is the value to be used in the operation
type: string
required:
- op
- path
- value
type: object
type: array
type: object
status:
description: ClusterDeploymentCustomizationStatus defines the observed
state of ClusterDeploymentCustomization.
properties:
clusterDeploymentRef:
description: ClusterDeploymentRef is a reference to the cluster deployment
that this customization is applied on.
properties:
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
type: object
x-kubernetes-map-type: atomic
clusterPoolRef:
description: ClusterPoolRef is the name of the current cluster pool
the CDC used at.
properties:
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
type: object
x-kubernetes-map-type: atomic
conditions:
description: Conditions describes the state of the operator's reconciliation
functionality.
items:
description: |-
Condition represents the state of the operator's
reconciliation functionality.
properties:
lastHeartbeatTime:
format: date-time
type: string
lastTransitionTime:
format: date-time
type: string
message:
type: string
reason:
type: string
status:
type: string
type:
description: ConditionType is the state of the operator's reconciliation
functionality.
type: string
required:
- status
- type
type: object
type: array
lastAppliedConfiguration:
description: |-
LastAppliedConfiguration contains the last applied patches to the install-config.
The information will retain for reference in case the customization is updated.
type: string
type: object
required:
- spec
type: object
served: true
storage: true
subresources:
status: {}
Loading

0 comments on commit d815719

Please sign in to comment.