From 431e3bf48201a31777dcdc499529edb9aa542d14 Mon Sep 17 00:00:00 2001 From: openshift-edge-bot <92017730+openshift-edge-bot@users.noreply.github.com> Date: Wed, 4 Oct 2023 01:16:19 +0300 Subject: [PATCH] operator assisted-service-operator (0.7.66) --- ...all.openshift.io_agentclassifications.yaml | 105 ++ .../agent-install.openshift.io_agents.yaml | 405 ++++++ ...tall.openshift.io_agentserviceconfigs.yaml | 667 +++++++++ ...hift.io_hypershiftagentserviceconfigs.yaml | 679 +++++++++ .../agent-install.openshift.io_infraenvs.yaml | 332 +++++ ...t-install.openshift.io_nmstateconfigs.yaml | 76 + ...ervice-operator.clusterserviceversion.yaml | 1292 +++++++++++++++++ ...ive.openshift.io_agentclusterinstalls.yaml | 570 ++++++++ .../0.7.66/metadata/annotations.yaml | 11 + 9 files changed, 4137 insertions(+) create mode 100644 operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_agentclassifications.yaml create mode 100644 operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_agents.yaml create mode 100644 operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_agentserviceconfigs.yaml create mode 100644 operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_hypershiftagentserviceconfigs.yaml create mode 100644 operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_infraenvs.yaml create mode 100644 operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_nmstateconfigs.yaml create mode 100644 operators/assisted-service-operator/0.7.66/manifests/assisted-service-operator.clusterserviceversion.yaml create mode 100644 operators/assisted-service-operator/0.7.66/manifests/extensions.hive.openshift.io_agentclusterinstalls.yaml create mode 100644 operators/assisted-service-operator/0.7.66/metadata/annotations.yaml diff --git a/operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_agentclassifications.yaml b/operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_agentclassifications.yaml new file mode 100644 index 00000000000..66789948bc0 --- /dev/null +++ b/operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_agentclassifications.yaml @@ -0,0 +1,105 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: agentclassifications.agent-install.openshift.io +spec: + group: agent-install.openshift.io + names: + kind: AgentClassification + listKind: AgentClassificationList + plural: agentclassifications + singular: agentclassification + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + description: AgentClassification is the Schema for the AgentClassifications + 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: AgentClassificationSpec defines the desired state of AgentClassification + properties: + labelKey: + description: LabelKey specifies the label key to apply to matched + Agents + type: string + labelValue: + description: LabelValue specifies the label value to apply to matched + Agents + type: string + query: + description: Query is in gojq format (https://github.com/itchyny/gojq#difference-to-jq) + and will be invoked on each Agent's inventory. The query should + return a boolean. The operator will apply the label to any Agent + for which "true" is returned. + type: string + required: + - labelKey + - labelValue + - query + type: object + status: + description: AgentClassificationStatus defines the observed state of AgentClassification + properties: + conditions: + 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 + errorCount: + description: ErrorCount shows how many Agents encountered errors when + matching the classification + type: integer + matchedCount: + description: MatchedCount shows how many Agents currently match the + classification + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_agents.yaml b/operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_agents.yaml new file mode 100644 index 00000000000..432ed62a620 --- /dev/null +++ b/operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_agents.yaml @@ -0,0 +1,405 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: agents.agent-install.openshift.io +spec: + group: agent-install.openshift.io + names: + kind: Agent + listKind: AgentList + plural: agents + singular: agent + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: The name of the cluster the Agent registered to. + jsonPath: .spec.clusterDeploymentName.name + name: Cluster + type: string + - description: The `Approve` state of the Agent. + jsonPath: .spec.approved + name: Approved + type: boolean + - description: The role (master/worker) of the Agent. + jsonPath: .status.role + name: Role + type: string + - description: The HostStage of the Agent. + jsonPath: .status.progress.currentStage + name: Stage + type: string + - description: The hostname of the Agent. + jsonPath: .status.inventory.hostname + name: Hostname + priority: 1 + type: string + - description: The requested hostname for the Agent. + jsonPath: .spec.hostname + name: Requested Hostname + priority: 1 + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: Agent is the Schema for the hosts 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: AgentSpec defines the desired state of Agent + properties: + approved: + type: boolean + clusterDeploymentName: + description: ClusterReference represents a Cluster Reference. It has + enough information to retrieve cluster in any namespace + properties: + name: + description: Name is unique within a namespace to reference a + cluster resource. + type: string + namespace: + description: Namespace defines the space within which the cluster + name must be unique. + type: string + type: object + hostname: + type: string + ignitionConfigOverrides: + description: Json formatted string containing the user overrides for + the host's ignition config + type: string + ignitionEndpointTokenReference: + description: IgnitionEndpointTokenReference references a secret containing + an Authorization Bearer token to fetch the ignition from ignition_endpoint_url. + properties: + name: + description: Name is the name of the secret containing the ignition + endpoint token. + type: string + namespace: + description: Namespace is the namespace of the secret containing + the ignition endpoint token. + type: string + required: + - name + - namespace + type: object + installation_disk_id: + description: InstallationDiskID defines the installation destination + disk (must be equal to the inventory disk id). + type: string + installerArgs: + description: Json formatted string containing the user overrides for + the host's coreos installer args + type: string + machineConfigPool: + type: string + nodeLabels: + additionalProperties: + type: string + description: NodeLabels are the labels to be applied on the node associated + with this agent + type: object + role: + description: "HostRole host role \n swagger:model host-role" + type: string + required: + - approved + - role + type: object + status: + description: AgentStatus defines the observed state of Agent + properties: + bootstrap: + type: boolean + conditions: + 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 + debugInfo: + description: DebugInfo includes information for debugging the installation + process. + properties: + eventsURL: + description: EventsURL specifies an HTTP/S URL that contains events + which occured during the cluster installation process + type: string + logsURL: + description: LogsURL specifies a url for download controller logs + tar file. + type: string + state: + description: Current state of the Agent + type: string + stateInfo: + description: Additional information pertaining to the status of + the Agent + type: string + type: object + installation_disk_id: + description: InstallationDiskID is the disk that will be used for + the installation. + type: string + inventory: + properties: + bmcAddress: + type: string + bmcV6Address: + type: string + boot: + properties: + currentBootMode: + type: string + pxeInterface: + type: string + type: object + cpu: + properties: + architecture: + type: string + clockMegahertz: + description: 'Name in REST API: frequency' + format: int64 + type: integer + count: + format: int64 + type: integer + flags: + items: + type: string + type: array + modelName: + type: string + type: object + disks: + items: + properties: + bootable: + type: boolean + byID: + type: string + byPath: + type: string + driveType: + type: string + hctl: + type: string + id: + type: string + installationEligibility: + properties: + eligible: + type: boolean + notEligibleReasons: + items: + type: string + type: array + required: + - notEligibleReasons + type: object + ioPerf: + properties: + syncDurationMilliseconds: + description: 99th percentile of fsync duration in milliseconds + format: int64 + type: integer + type: object + model: + type: string + name: + type: string + path: + type: string + serial: + type: string + sizeBytes: + format: int64 + type: integer + smart: + type: string + vendor: + type: string + wwn: + type: string + required: + - id + type: object + type: array + hostname: + type: string + interfaces: + items: + properties: + biosDevName: + type: string + clientID: + type: string + flags: + items: + type: string + type: array + hasCarrier: + type: boolean + ipV4Addresses: + items: + type: string + type: array + ipV6Addresses: + items: + type: string + type: array + macAddress: + type: string + mtu: + format: int64 + type: integer + name: + type: string + product: + type: string + speedMbps: + format: int64 + type: integer + vendor: + type: string + required: + - flags + - ipV4Addresses + - ipV6Addresses + type: object + type: array + memory: + properties: + physicalBytes: + format: int64 + type: integer + usableBytes: + format: int64 + type: integer + type: object + reportTime: + description: 'Name in REST API: timestamp' + format: date-time + type: string + systemVendor: + properties: + manufacturer: + type: string + productName: + type: string + serialNumber: + type: string + virtual: + type: boolean + type: object + type: object + ntpSources: + items: + properties: + sourceName: + type: string + sourceState: + description: "SourceState source state \n swagger:model source_state" + type: string + type: object + type: array + progress: + properties: + currentStage: + description: current installation stage + type: string + installationPercentage: + description: Estimate progress (percentage) + format: int64 + type: integer + progressInfo: + description: Additional information for the current installation + stage + type: string + progressStages: + description: All stages (ordered by their appearance) for this + agent + items: + description: "HostStage host stage \n swagger:model host-stage" + type: string + type: array + stageStartTime: + description: 'host field: progress: stage_started_at' + format: date-time + type: string + stageUpdateTime: + description: 'host field: progress: stage_updated_at' + format: date-time + type: string + type: object + role: + description: "HostRole host role \n swagger:model host-role" + type: string + validationsInfo: + additionalProperties: + items: + properties: + id: + type: string + message: + type: string + status: + type: string + required: + - id + - message + - status + type: object + type: array + description: ValidationsInfo is a JSON-formatted string containing + the validation results for each validation id grouped by category + (network, hosts-data, etc.) + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_agentserviceconfigs.yaml b/operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_agentserviceconfigs.yaml new file mode 100644 index 00000000000..ed61c8a7f9c --- /dev/null +++ b/operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_agentserviceconfigs.yaml @@ -0,0 +1,667 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: agentserviceconfigs.agent-install.openshift.io +spec: + group: agent-install.openshift.io + names: + kind: AgentServiceConfig + listKind: AgentServiceConfigList + plural: agentserviceconfigs + singular: agentserviceconfig + scope: Cluster + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + description: AgentServiceConfig represents an Assisted Service deployment. + Only an AgentServiceConfig with name="agent" will be reconciled. All other + names will be rejected. + 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: AgentServiceConfigSpec defines the desired state of AgentServiceConfig. + properties: + databaseStorage: + description: DatabaseStorage defines the spec of the PersistentVolumeClaim + to be created for the database's filesystem. With respect to the + resource requests, minimum 10GiB is recommended. + properties: + accessModes: + description: 'accessModes contains the desired access modes the + volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + items: + type: string + type: array + dataSource: + description: 'dataSource field can be used to specify either: + * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) + * An existing PVC (PersistentVolumeClaim) If the provisioner + or an external controller can support the specified data source, + it will create a new volume based on the contents of the specified + data source. If the AnyVolumeDataSource feature gate is enabled, + this field will always have the same contents as the DataSourceRef + field.' + properties: + apiGroup: + description: APIGroup is the group for the resource being + referenced. If APIGroup is not specified, the specified + Kind must be in the core API group. For any other third-party + types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + required: + - kind + - name + type: object + dataSourceRef: + description: 'dataSourceRef specifies the object from which to + populate the volume with data, if a non-empty volume is desired. + This may be any local object from a non-empty API group (non + core object) or a PersistentVolumeClaim object. When this field + is specified, volume binding will only succeed if the type of + the specified object matches some installed volume populator + or dynamic provisioner. This field will replace the functionality + of the DataSource field and as such if both fields are non-empty, + they must have the same value. For backwards compatibility, + both fields (DataSource and DataSourceRef) will be set to the + same value automatically if one of them is empty and the other + is non-empty. There are two important differences between DataSource + and DataSourceRef: * While DataSource only allows two specific + types of objects, DataSourceRef allows any non-core object, + as well as PersistentVolumeClaim objects. * While DataSource + ignores disallowed values (dropping them), DataSourceRef preserves + all values, and generates an error if a disallowed value is specified. + (Beta) Using this field requires the AnyVolumeDataSource feature + gate to be enabled.' + properties: + apiGroup: + description: APIGroup is the group for the resource being + referenced. If APIGroup is not specified, the specified + Kind must be in the core API group. For any other third-party + types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + required: + - kind + - name + type: object + resources: + description: 'resources represents the minimum resources the volume + should have. If RecoverVolumeExpansionFailure feature is enabled + users are allowed to specify resource requirements that are + lower than previous value but must still be higher than capacity + recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + selector: + description: selector is a label query over volumes to consider + for binding. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If + the operator is In or NotIn, the values array must + be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A + single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is "key", + the operator is "In", and the values array contains only + "value". The requirements are ANDed. + type: object + type: object + storageClassName: + description: 'storageClassName is the name of the StorageClass + required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' + type: string + volumeMode: + description: volumeMode defines what type of volume is required + by the claim. Value of Filesystem is implied when not included + in claim spec. + type: string + volumeName: + description: volumeName is the binding reference to the PersistentVolume + backing this claim. + type: string + type: object + filesystemStorage: + description: FileSystemStorage defines the spec of the PersistentVolumeClaim + to be created for the assisted-service's filesystem (logs, etc). + With respect to the resource requests, the amount of filesystem + storage consumed will depend largely on the number of clusters created + (~200MB per cluster and ~2-3GiB per supported OpenShift version). + Minimum 100GiB recommended. + properties: + accessModes: + description: 'accessModes contains the desired access modes the + volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + items: + type: string + type: array + dataSource: + description: 'dataSource field can be used to specify either: + * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) + * An existing PVC (PersistentVolumeClaim) If the provisioner + or an external controller can support the specified data source, + it will create a new volume based on the contents of the specified + data source. If the AnyVolumeDataSource feature gate is enabled, + this field will always have the same contents as the DataSourceRef + field.' + properties: + apiGroup: + description: APIGroup is the group for the resource being + referenced. If APIGroup is not specified, the specified + Kind must be in the core API group. For any other third-party + types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + required: + - kind + - name + type: object + dataSourceRef: + description: 'dataSourceRef specifies the object from which to + populate the volume with data, if a non-empty volume is desired. + This may be any local object from a non-empty API group (non + core object) or a PersistentVolumeClaim object. When this field + is specified, volume binding will only succeed if the type of + the specified object matches some installed volume populator + or dynamic provisioner. This field will replace the functionality + of the DataSource field and as such if both fields are non-empty, + they must have the same value. For backwards compatibility, + both fields (DataSource and DataSourceRef) will be set to the + same value automatically if one of them is empty and the other + is non-empty. There are two important differences between DataSource + and DataSourceRef: * While DataSource only allows two specific + types of objects, DataSourceRef allows any non-core object, + as well as PersistentVolumeClaim objects. * While DataSource + ignores disallowed values (dropping them), DataSourceRef preserves + all values, and generates an error if a disallowed value is specified. + (Beta) Using this field requires the AnyVolumeDataSource feature + gate to be enabled.' + properties: + apiGroup: + description: APIGroup is the group for the resource being + referenced. If APIGroup is not specified, the specified + Kind must be in the core API group. For any other third-party + types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + required: + - kind + - name + type: object + resources: + description: 'resources represents the minimum resources the volume + should have. If RecoverVolumeExpansionFailure feature is enabled + users are allowed to specify resource requirements that are + lower than previous value but must still be higher than capacity + recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + selector: + description: selector is a label query over volumes to consider + for binding. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If + the operator is In or NotIn, the values array must + be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A + single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is "key", + the operator is "In", and the values array contains only + "value". The requirements are ANDed. + type: object + type: object + storageClassName: + description: 'storageClassName is the name of the StorageClass + required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' + type: string + volumeMode: + description: volumeMode defines what type of volume is required + by the claim. Value of Filesystem is implied when not included + in claim spec. + type: string + volumeName: + description: volumeName is the binding reference to the PersistentVolume + backing this claim. + type: string + type: object + iPXEHTTPRoute: + description: 'IPXEHTTPRoute is controlling whether the operator is + creating plain HTTP routes iPXE hosts may not work with router cyphers + and may access artifacts via HTTP only This setting accepts "enabled,disabled", + defaults to disabled. Empty value defaults to disabled The following + endpoints would be exposed via http: * api/assisted-installer/v2/infra-envs//downloads/files?file_name=ipxe-script + in assisted-service * boot-artifacts/ and images//pxe-initrd + in -image-service' + enum: + - enabled + - disabled + type: string + imageStorage: + description: ImageStorage defines the spec of the PersistentVolumeClaim + to be created for each replica of the image service. If a PersistentVolumeClaim + is provided 2GiB per OSImage entry is required + properties: + accessModes: + description: 'accessModes contains the desired access modes the + volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + items: + type: string + type: array + dataSource: + description: 'dataSource field can be used to specify either: + * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) + * An existing PVC (PersistentVolumeClaim) If the provisioner + or an external controller can support the specified data source, + it will create a new volume based on the contents of the specified + data source. If the AnyVolumeDataSource feature gate is enabled, + this field will always have the same contents as the DataSourceRef + field.' + properties: + apiGroup: + description: APIGroup is the group for the resource being + referenced. If APIGroup is not specified, the specified + Kind must be in the core API group. For any other third-party + types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + required: + - kind + - name + type: object + dataSourceRef: + description: 'dataSourceRef specifies the object from which to + populate the volume with data, if a non-empty volume is desired. + This may be any local object from a non-empty API group (non + core object) or a PersistentVolumeClaim object. When this field + is specified, volume binding will only succeed if the type of + the specified object matches some installed volume populator + or dynamic provisioner. This field will replace the functionality + of the DataSource field and as such if both fields are non-empty, + they must have the same value. For backwards compatibility, + both fields (DataSource and DataSourceRef) will be set to the + same value automatically if one of them is empty and the other + is non-empty. There are two important differences between DataSource + and DataSourceRef: * While DataSource only allows two specific + types of objects, DataSourceRef allows any non-core object, + as well as PersistentVolumeClaim objects. * While DataSource + ignores disallowed values (dropping them), DataSourceRef preserves + all values, and generates an error if a disallowed value is specified. + (Beta) Using this field requires the AnyVolumeDataSource feature + gate to be enabled.' + properties: + apiGroup: + description: APIGroup is the group for the resource being + referenced. If APIGroup is not specified, the specified + Kind must be in the core API group. For any other third-party + types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + required: + - kind + - name + type: object + resources: + description: 'resources represents the minimum resources the volume + should have. If RecoverVolumeExpansionFailure feature is enabled + users are allowed to specify resource requirements that are + lower than previous value but must still be higher than capacity + recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + selector: + description: selector is a label query over volumes to consider + for binding. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If + the operator is In or NotIn, the values array must + be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A + single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is "key", + the operator is "In", and the values array contains only + "value". The requirements are ANDed. + type: object + type: object + storageClassName: + description: 'storageClassName is the name of the StorageClass + required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' + type: string + volumeMode: + description: volumeMode defines what type of volume is required + by the claim. Value of Filesystem is implied when not included + in claim spec. + type: string + volumeName: + description: volumeName is the binding reference to the PersistentVolume + backing this claim. + type: string + type: object + mirrorRegistryRef: + description: 'MirrorRegistryRef is the reference to the configmap + that contains mirror registry configuration In case no configuration + is need, this field will be nil. ConfigMap must contain to entries: + ca-bundle.crt - hold the contents of mirror registry certificate/s + registries.conf - holds the content of registries.conf file configured + with mirror registries' + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + mustGatherImages: + description: MustGatherImages defines a collection of operator related + must-gather images that are used if one the operators fails to be + successfully deployed + items: + properties: + name: + description: Name specifies the name of the component (e.g. + operator) that the image is used to collect information about. + type: string + openshiftVersion: + description: OpenshiftVersion is the Major.Minor version of + OpenShift that this image is to be associated with. + type: string + url: + description: Url specifies the path to the Operating System + image. + type: string + required: + - name + - openshiftVersion + - url + type: object + type: array + osImages: + description: OSImages defines a collection of Operating System images + (ie. RHCOS images) that the assisted-service should use as the base + when generating discovery ISOs. + items: + description: OSImage defines an Operating System image and the OpenShift + version it is associated with. + properties: + cpuArchitecture: + description: The CPU architecture of the image (x86_64/arm64/etc). + type: string + openshiftVersion: + description: OpenshiftVersion is the Major.Minor version of + OpenShift that this image is to be associated with. + type: string + rootFSUrl: + description: 'rootFSUrl specifies the path to the root filesystem. + Deprecated: this field is ignored (will be removed in a future + release).' + type: string + url: + description: Url specifies the path to the Operating System + image. + type: string + version: + description: Version is the Operating System version of the + image. + type: string + required: + - openshiftVersion + - url + - version + type: object + type: array + unauthenticatedRegistries: + description: UnauthenticatedRegistries is a list of registries from + which container images can be pulled without authentication. They + will be appended to the default list (quay.io, registry.svc.ci.openshift.org). + Any registry on this list will not require credentials to be in + the pull secret validated by the assisted-service. + items: + type: string + type: array + required: + - databaseStorage + - filesystemStorage + type: object + status: + description: AgentServiceConfigStatus defines the observed state of AgentServiceConfig + properties: + conditions: + 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 + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_hypershiftagentserviceconfigs.yaml b/operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_hypershiftagentserviceconfigs.yaml new file mode 100644 index 00000000000..d5112335acc --- /dev/null +++ b/operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_hypershiftagentserviceconfigs.yaml @@ -0,0 +1,679 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: hypershiftagentserviceconfigs.agent-install.openshift.io +spec: + group: agent-install.openshift.io + names: + kind: HypershiftAgentServiceConfig + listKind: HypershiftAgentServiceConfigList + plural: hypershiftagentserviceconfigs + shortNames: + - hasc + singular: hypershiftagentserviceconfig + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + description: HypershiftAgentServiceConfig represents an Assisted Service deployment + over zero-worker hypershift cluster. Each resource represents a deployment + scheme over hosted cluster that runs in that namespace. + 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: HypershiftAgentServiceConfigSpec defines the desired state + of HypershiftAgentServiceConfig. + properties: + databaseStorage: + description: DatabaseStorage defines the spec of the PersistentVolumeClaim + to be created for the database's filesystem. With respect to the + resource requests, minimum 10GiB is recommended. + properties: + accessModes: + description: 'accessModes contains the desired access modes the + volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + items: + type: string + type: array + dataSource: + description: 'dataSource field can be used to specify either: + * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) + * An existing PVC (PersistentVolumeClaim) If the provisioner + or an external controller can support the specified data source, + it will create a new volume based on the contents of the specified + data source. If the AnyVolumeDataSource feature gate is enabled, + this field will always have the same contents as the DataSourceRef + field.' + properties: + apiGroup: + description: APIGroup is the group for the resource being + referenced. If APIGroup is not specified, the specified + Kind must be in the core API group. For any other third-party + types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + required: + - kind + - name + type: object + dataSourceRef: + description: 'dataSourceRef specifies the object from which to + populate the volume with data, if a non-empty volume is desired. + This may be any local object from a non-empty API group (non + core object) or a PersistentVolumeClaim object. When this field + is specified, volume binding will only succeed if the type of + the specified object matches some installed volume populator + or dynamic provisioner. This field will replace the functionality + of the DataSource field and as such if both fields are non-empty, + they must have the same value. For backwards compatibility, + both fields (DataSource and DataSourceRef) will be set to the + same value automatically if one of them is empty and the other + is non-empty. There are two important differences between DataSource + and DataSourceRef: * While DataSource only allows two specific + types of objects, DataSourceRef allows any non-core object, + as well as PersistentVolumeClaim objects. * While DataSource + ignores disallowed values (dropping them), DataSourceRef preserves + all values, and generates an error if a disallowed value is specified. + (Beta) Using this field requires the AnyVolumeDataSource feature + gate to be enabled.' + properties: + apiGroup: + description: APIGroup is the group for the resource being + referenced. If APIGroup is not specified, the specified + Kind must be in the core API group. For any other third-party + types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + required: + - kind + - name + type: object + resources: + description: 'resources represents the minimum resources the volume + should have. If RecoverVolumeExpansionFailure feature is enabled + users are allowed to specify resource requirements that are + lower than previous value but must still be higher than capacity + recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + selector: + description: selector is a label query over volumes to consider + for binding. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If + the operator is In or NotIn, the values array must + be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A + single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is "key", + the operator is "In", and the values array contains only + "value". The requirements are ANDed. + type: object + type: object + storageClassName: + description: 'storageClassName is the name of the StorageClass + required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' + type: string + volumeMode: + description: volumeMode defines what type of volume is required + by the claim. Value of Filesystem is implied when not included + in claim spec. + type: string + volumeName: + description: volumeName is the binding reference to the PersistentVolume + backing this claim. + type: string + type: object + filesystemStorage: + description: FileSystemStorage defines the spec of the PersistentVolumeClaim + to be created for the assisted-service's filesystem (logs, etc). + With respect to the resource requests, the amount of filesystem + storage consumed will depend largely on the number of clusters created + (~200MB per cluster and ~2-3GiB per supported OpenShift version). + Minimum 100GiB recommended. + properties: + accessModes: + description: 'accessModes contains the desired access modes the + volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + items: + type: string + type: array + dataSource: + description: 'dataSource field can be used to specify either: + * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) + * An existing PVC (PersistentVolumeClaim) If the provisioner + or an external controller can support the specified data source, + it will create a new volume based on the contents of the specified + data source. If the AnyVolumeDataSource feature gate is enabled, + this field will always have the same contents as the DataSourceRef + field.' + properties: + apiGroup: + description: APIGroup is the group for the resource being + referenced. If APIGroup is not specified, the specified + Kind must be in the core API group. For any other third-party + types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + required: + - kind + - name + type: object + dataSourceRef: + description: 'dataSourceRef specifies the object from which to + populate the volume with data, if a non-empty volume is desired. + This may be any local object from a non-empty API group (non + core object) or a PersistentVolumeClaim object. When this field + is specified, volume binding will only succeed if the type of + the specified object matches some installed volume populator + or dynamic provisioner. This field will replace the functionality + of the DataSource field and as such if both fields are non-empty, + they must have the same value. For backwards compatibility, + both fields (DataSource and DataSourceRef) will be set to the + same value automatically if one of them is empty and the other + is non-empty. There are two important differences between DataSource + and DataSourceRef: * While DataSource only allows two specific + types of objects, DataSourceRef allows any non-core object, + as well as PersistentVolumeClaim objects. * While DataSource + ignores disallowed values (dropping them), DataSourceRef preserves + all values, and generates an error if a disallowed value is specified. + (Beta) Using this field requires the AnyVolumeDataSource feature + gate to be enabled.' + properties: + apiGroup: + description: APIGroup is the group for the resource being + referenced. If APIGroup is not specified, the specified + Kind must be in the core API group. For any other third-party + types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + required: + - kind + - name + type: object + resources: + description: 'resources represents the minimum resources the volume + should have. If RecoverVolumeExpansionFailure feature is enabled + users are allowed to specify resource requirements that are + lower than previous value but must still be higher than capacity + recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + selector: + description: selector is a label query over volumes to consider + for binding. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If + the operator is In or NotIn, the values array must + be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A + single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is "key", + the operator is "In", and the values array contains only + "value". The requirements are ANDed. + type: object + type: object + storageClassName: + description: 'storageClassName is the name of the StorageClass + required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' + type: string + volumeMode: + description: volumeMode defines what type of volume is required + by the claim. Value of Filesystem is implied when not included + in claim spec. + type: string + volumeName: + description: volumeName is the binding reference to the PersistentVolume + backing this claim. + type: string + type: object + iPXEHTTPRoute: + description: 'IPXEHTTPRoute is controlling whether the operator is + creating plain HTTP routes iPXE hosts may not work with router cyphers + and may access artifacts via HTTP only This setting accepts "enabled,disabled", + defaults to disabled. Empty value defaults to disabled The following + endpoints would be exposed via http: * api/assisted-installer/v2/infra-envs//downloads/files?file_name=ipxe-script + in assisted-service * boot-artifacts/ and images//pxe-initrd + in -image-service' + enum: + - enabled + - disabled + type: string + imageStorage: + description: ImageStorage defines the spec of the PersistentVolumeClaim + to be created for each replica of the image service. If a PersistentVolumeClaim + is provided 2GiB per OSImage entry is required + properties: + accessModes: + description: 'accessModes contains the desired access modes the + volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + items: + type: string + type: array + dataSource: + description: 'dataSource field can be used to specify either: + * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) + * An existing PVC (PersistentVolumeClaim) If the provisioner + or an external controller can support the specified data source, + it will create a new volume based on the contents of the specified + data source. If the AnyVolumeDataSource feature gate is enabled, + this field will always have the same contents as the DataSourceRef + field.' + properties: + apiGroup: + description: APIGroup is the group for the resource being + referenced. If APIGroup is not specified, the specified + Kind must be in the core API group. For any other third-party + types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + required: + - kind + - name + type: object + dataSourceRef: + description: 'dataSourceRef specifies the object from which to + populate the volume with data, if a non-empty volume is desired. + This may be any local object from a non-empty API group (non + core object) or a PersistentVolumeClaim object. When this field + is specified, volume binding will only succeed if the type of + the specified object matches some installed volume populator + or dynamic provisioner. This field will replace the functionality + of the DataSource field and as such if both fields are non-empty, + they must have the same value. For backwards compatibility, + both fields (DataSource and DataSourceRef) will be set to the + same value automatically if one of them is empty and the other + is non-empty. There are two important differences between DataSource + and DataSourceRef: * While DataSource only allows two specific + types of objects, DataSourceRef allows any non-core object, + as well as PersistentVolumeClaim objects. * While DataSource + ignores disallowed values (dropping them), DataSourceRef preserves + all values, and generates an error if a disallowed value is specified. + (Beta) Using this field requires the AnyVolumeDataSource feature + gate to be enabled.' + properties: + apiGroup: + description: APIGroup is the group for the resource being + referenced. If APIGroup is not specified, the specified + Kind must be in the core API group. For any other third-party + types, APIGroup is required. + type: string + kind: + description: Kind is the type of resource being referenced + type: string + name: + description: Name is the name of resource being referenced + type: string + required: + - kind + - name + type: object + resources: + description: 'resources represents the minimum resources the volume + should have. If RecoverVolumeExpansionFailure feature is enabled + users are allowed to specify resource requirements that are + lower than previous value but must still be higher than capacity + recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute + resources required. If Requests is omitted for a container, + it defaults to Limits if that is explicitly specified, otherwise + to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + selector: + description: selector is a label query over volumes to consider + for binding. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If + the operator is In or NotIn, the values array must + be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A + single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is "key", + the operator is "In", and the values array contains only + "value". The requirements are ANDed. + type: object + type: object + storageClassName: + description: 'storageClassName is the name of the StorageClass + required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' + type: string + volumeMode: + description: volumeMode defines what type of volume is required + by the claim. Value of Filesystem is implied when not included + in claim spec. + type: string + volumeName: + description: volumeName is the binding reference to the PersistentVolume + backing this claim. + type: string + type: object + kubeconfigSecretRef: + description: KubeconfigSecretRef is a reference to the secret containing + the kubeconfig for the destination Hypershift instance. + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + mirrorRegistryRef: + description: 'MirrorRegistryRef is the reference to the configmap + that contains mirror registry configuration In case no configuration + is need, this field will be nil. ConfigMap must contain to entries: + ca-bundle.crt - hold the contents of mirror registry certificate/s + registries.conf - holds the content of registries.conf file configured + with mirror registries' + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + mustGatherImages: + description: MustGatherImages defines a collection of operator related + must-gather images that are used if one the operators fails to be + successfully deployed + items: + properties: + name: + description: Name specifies the name of the component (e.g. + operator) that the image is used to collect information about. + type: string + openshiftVersion: + description: OpenshiftVersion is the Major.Minor version of + OpenShift that this image is to be associated with. + type: string + url: + description: Url specifies the path to the Operating System + image. + type: string + required: + - name + - openshiftVersion + - url + type: object + type: array + osImages: + description: OSImages defines a collection of Operating System images + (ie. RHCOS images) that the assisted-service should use as the base + when generating discovery ISOs. + items: + description: OSImage defines an Operating System image and the OpenShift + version it is associated with. + properties: + cpuArchitecture: + description: The CPU architecture of the image (x86_64/arm64/etc). + type: string + openshiftVersion: + description: OpenshiftVersion is the Major.Minor version of + OpenShift that this image is to be associated with. + type: string + rootFSUrl: + description: 'rootFSUrl specifies the path to the root filesystem. + Deprecated: this field is ignored (will be removed in a future + release).' + type: string + url: + description: Url specifies the path to the Operating System + image. + type: string + version: + description: Version is the Operating System version of the + image. + type: string + required: + - openshiftVersion + - url + - version + type: object + type: array + unauthenticatedRegistries: + description: UnauthenticatedRegistries is a list of registries from + which container images can be pulled without authentication. They + will be appended to the default list (quay.io, registry.svc.ci.openshift.org). + Any registry on this list will not require credentials to be in + the pull secret validated by the assisted-service. + items: + type: string + type: array + required: + - databaseStorage + - filesystemStorage + - kubeconfigSecretRef + type: object + status: + properties: + conditions: + 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 + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_infraenvs.yaml b/operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_infraenvs.yaml new file mode 100644 index 00000000000..8ece15b347c --- /dev/null +++ b/operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_infraenvs.yaml @@ -0,0 +1,332 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: infraenvs.agent-install.openshift.io +spec: + group: agent-install.openshift.io + names: + kind: InfraEnv + listKind: InfraEnvList + plural: infraenvs + singular: infraenv + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: The Discovery ISO creation time + jsonPath: .status.createdTime + name: ISO Created At + type: string + - description: The Discovery ISO download URL + jsonPath: .status.isoDownloadURL + name: ISO URL + priority: 1 + type: string + name: v1beta1 + 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: + properties: + additionalNTPSources: + description: AdditionalNTPSources is a list of NTP sources (hostname + or IP) to be added to all cluster hosts. They are added to any NTP + sources that were configured through other means. + items: + type: string + type: array + additionalTrustBundle: + description: PEM-encoded X.509 certificate bundle. Hosts discovered + by this infra-env will trust the certificates in this bundle. Clusters + formed from the hosts discovered by this infra-env will also trust + the certificates in this bundle. + type: string + agentLabels: + additionalProperties: + type: string + description: AgentLabels lists labels to apply to Agents that are + associated with this InfraEnv upon the creation of the Agents. + type: object + clusterRef: + description: ClusterRef is the reference to the single ClusterDeployment + that will be installed from this InfraEnv. Future versions will + allow for multiple ClusterDeployments and this reference will be + removed. + properties: + name: + description: Name is unique within a namespace to reference a + cluster resource. + type: string + namespace: + description: Namespace defines the space within which the cluster + name must be unique. + type: string + type: object + cpuArchitecture: + default: x86_64 + description: CpuArchitecture specifies the target CPU architecture. + Default is x86_64 + type: string + ignitionConfigOverride: + description: Json formatted string containing the user overrides for + the initial ignition config + type: string + ipxeScriptType: + default: DiscoveryImageAlways + description: 'IPXEScriptType the script type that should be served + (DiscoveryImageAlways/BootOrderControl) DiscoveryImageAlways: Boot + unconditionaly from the network discovery image BootOrderControl: + Boot from discovery ISO depending on the host''s state. When the + value is BootOrderControl, the service will look for an Agent record + that matches the host''s MAC address; if found, and if that Agent + is in a state where it is provisioned and attached to a cluster, + then host will boot the host disk. Otherwise it will boot the discovery + ISO using the same script as the DiscoveryImageAlways option.' + enum: + - "" + - DiscoveryImageAlways + - BootOrderControl + type: string + kernelArguments: + description: KernelArguments is the additional kernel arguments to + be passed during boot time of the discovery image. Applicable for + both iPXE, and ISO streaming from Image Service. + items: + properties: + operation: + description: Operation is the operation to apply on the kernel + argument. + enum: + - append + - replace + - delete + type: string + value: + description: 'Value can have the form or =. + The following examples should be supported: rd.net.timeout.carrier=60 + isolcpus=1,2,10-20,100-2000:2/25 quiet' + pattern: ^(?:(?:[^ \t\n\r"]+)|(?:"[^"]*"))+$ + type: string + type: object + type: array + nmStateConfigLabelSelector: + description: NmstateConfigLabelSelector associates NMStateConfigs + for hosts that are considered part of this installation environment. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the key + and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship to + a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + osImageVersion: + description: 'OSImageVersion is the version of OS image to use when + generating the InfraEnv. The version should refer to an OSImage + specified in the AgentServiceConfig (i.e. OSImageVersion should + equal to an OpenshiftVersion in OSImages list). Note: OSImageVersion + can''t be specified along with ClusterRef.' + type: string + proxy: + description: Proxy defines the proxy settings for agents and clusters + that use the InfraEnv. If unset, the agents and clusters will not + be configured to use a proxy. + properties: + httpProxy: + description: HTTPProxy is the URL of the proxy for HTTP requests. + type: string + httpsProxy: + description: HTTPSProxy is the URL of the proxy for HTTPS requests. + type: string + noProxy: + description: NoProxy is a comma-separated list of domains and + CIDRs for which the proxy should not be used. + type: string + type: object + pullSecretRef: + description: PullSecretRef is the reference to the secret to use when + pulling images. + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + sshAuthorizedKey: + description: SSHAuthorizedKey is a SSH public keys that will be added + to all agents for use in debugging. + type: string + required: + - pullSecretRef + type: object + status: + properties: + agentLabelSelector: + description: AgentLabelSelector specifies the label that will be applied + to Agents that boot from the installation media of this InfraEnv. + This is how a user would identify which agents are associated with + a particular InfraEnv. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the key + and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship to + a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + bootArtifacts: + description: BootArtifacts specifies the URLs for each boot artifact + properties: + initrd: + description: InitrdURL specifies an HTTP/S URL that contains the + initrd + type: string + ipxeScript: + description: IpxeScriptURL specifies an HTTP/S URL that contains + the iPXE script + type: string + kernel: + description: KernelURL specifies an HTTP/S URL that contains the + kernel + type: string + rootfs: + description: RootfsURL specifies an HTTP/S URL that contains the + rootfs + type: string + type: object + conditions: + 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 + createdTime: + format: date-time + type: string + debugInfo: + description: InfraEnvDebugInfo includes information for debugging + the installation process. + properties: + eventsURL: + description: EventsURL specifies an HTTP/S URL that contains InfraEnv + events + type: string + type: object + isoDownloadURL: + description: ISODownloadURL specifies an HTTP/S URL that contains + a discovery ISO containing the configuration from this InfraEnv. + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_nmstateconfigs.yaml b/operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_nmstateconfigs.yaml new file mode 100644 index 00000000000..592aa5da0f4 --- /dev/null +++ b/operators/assisted-service-operator/0.7.66/manifests/agent-install.openshift.io_nmstateconfigs.yaml @@ -0,0 +1,76 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: nmstateconfigs.agent-install.openshift.io +spec: + group: agent-install.openshift.io + names: + kind: NMStateConfig + listKind: NMStateConfigList + plural: nmstateconfigs + singular: nmstateconfig + scope: Namespaced + versions: + - name: v1beta1 + 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: + properties: + config: + description: yaml that can be processed by nmstate, using custom marshaling/unmarshaling + that will allow to populate nmstate config as plain yaml. + type: object + x-kubernetes-preserve-unknown-fields: true + interfaces: + description: Interfaces is an array of interface objects containing + the name and MAC address for interfaces that are referenced in the + raw nmstate config YAML. Interfaces listed here will be automatically + renamed in the nmstate config YAML to match the real device name + that is observed to have the corresponding MAC address. At least + one interface must be listed so that it can be used to identify + the correct host, which is done by matching any MAC address in this + list to any MAC address observed on the host. + items: + properties: + macAddress: + description: mac address present on the host. + pattern: ^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$ + type: string + name: + description: 'nic name used in the yaml, which relates 1:1 to + the mac address. Name in REST API: logicalNICName' + type: string + required: + - macAddress + - name + type: object + minItems: 1 + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/operators/assisted-service-operator/0.7.66/manifests/assisted-service-operator.clusterserviceversion.yaml b/operators/assisted-service-operator/0.7.66/manifests/assisted-service-operator.clusterserviceversion.yaml new file mode 100644 index 00000000000..90fd82e54d4 --- /dev/null +++ b/operators/assisted-service-operator/0.7.66/manifests/assisted-service-operator.clusterserviceversion.yaml @@ -0,0 +1,1292 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "agent-install.openshift.io/v1beta1", + "kind": "AgentServiceConfig", + "metadata": { + "name": "agent" + }, + "spec": { + "databaseStorage": { + "accessModes": [ + "ReadWriteOnce" + ], + "resources": { + "requests": { + "storage": "10Gi" + } + } + }, + "filesystemStorage": { + "accessModes": [ + "ReadWriteOnce" + ], + "resources": { + "requests": { + "storage": "100Gi" + } + } + }, + "imageStorage": { + "accessModes": [ + "ReadWriteOnce" + ], + "resources": { + "requests": { + "storage": "10Gi" + } + } + }, + "mustGatherImages": [ + { + "name": "cnv", + "openshiftVersion": "4.8", + "url": "registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v2.6.5" + }, + { + "name": "ocs", + "openshiftVersion": "4.8", + "url": "registry.redhat.io/ocs4/ocs-must-gather-rhel8" + }, + { + "name": "lso", + "openshiftVersion": "4.8", + "url": "registry.redhat.io/openshift4/ose-local-storage-mustgather-rhel8" + } + ], + "osImages": [ + { + "cpuArchitecture": "x86_64", + "openshiftVersion": "4.9", + "url": "https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.9/4.9.45/rhcos-4.9.45-x86_64-live.x86_64.iso", + "version": "49.84.202207192205-0" + }, + { + "cpuArchitecture": "x86_64", + "openshiftVersion": "4.10", + "url": "https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.10/4.10.37/rhcos-4.10.37-x86_64-live.x86_64.iso", + "version": "410.84.202210040010-0" + }, + { + "cpuArchitecture": "arm64", + "openshiftVersion": "4.10", + "url": "https://mirror.openshift.com/pub/openshift-v4/aarch64/dependencies/rhcos/4.10/4.10.37/rhcos-4.10.37-aarch64-live.aarch64.iso", + "version": "410.84.202210040011-0" + }, + { + "cpuArchitecture": "x86_64", + "openshiftVersion": "4.11", + "url": "https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.11/4.11.48/rhcos-4.11.48-x86_64-live.x86_64.iso", + "version": "411.86.202308081056-0" + }, + { + "cpuArchitecture": "arm64", + "openshiftVersion": "4.11", + "url": "https://mirror.openshift.com/pub/openshift-v4/aarch64/dependencies/rhcos/4.11/4.11.48/rhcos-4.11.48-aarch64-live.aarch64.iso", + "version": "411.86.202308081056-0" + }, + { + "cpuArchitecture": "s390x", + "openshiftVersion": "4.11", + "url": "https://mirror.openshift.com/pub/openshift-v4/s390x/dependencies/rhcos/4.11/4.11.48/rhcos-4.11.48-s390x-live.s390x.iso", + "version": "411.86.202308081056-0" + }, + { + "cpuArchitecture": "ppc64le", + "openshiftVersion": "4.11", + "url": "https://mirror.openshift.com/pub/openshift-v4/ppc64le/dependencies/rhcos/4.11/4.11.48/rhcos-4.11.48-ppc64le-live.ppc64le.iso", + "version": "411.86.202308081056-0" + }, + { + "cpuArchitecture": "x86_64", + "openshiftVersion": "4.12", + "url": "https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.12/4.12.30/rhcos-4.12.30-x86_64-live.x86_64.iso", + "version": "412.86.202308081039-0" + }, + { + "cpuArchitecture": "arm64", + "openshiftVersion": "4.12", + "url": "https://mirror.openshift.com/pub/openshift-v4/aarch64/dependencies/rhcos/4.12/4.12.30/rhcos-4.12.30-aarch64-live.aarch64.iso", + "version": "412.86.202308081039-0" + }, + { + "cpuArchitecture": "s390x", + "openshiftVersion": "4.12", + "url": "https://mirror.openshift.com/pub/openshift-v4/s390x/dependencies/rhcos/4.12/4.12.30/rhcos-4.12.30-s390x-live.s390x.iso", + "version": "412.86.202308081039-0" + }, + { + "cpuArchitecture": "ppc64le", + "openshiftVersion": "4.12", + "url": "https://mirror.openshift.com/pub/openshift-v4/ppc64le/dependencies/rhcos/4.12/4.12.30/rhcos-4.12.30-ppc64le-live.ppc64le.iso", + "version": "412.86.202308081039-0" + }, + { + "cpuArchitecture": "x86_64", + "openshiftVersion": "4.13", + "url": "https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.13/4.13.10/rhcos-4.13.10-x86_64-live.x86_64.iso", + "version": "413.92.202307260246-0" + }, + { + "cpuArchitecture": "arm64", + "openshiftVersion": "4.13", + "url": "https://mirror.openshift.com/pub/openshift-v4/aarch64/dependencies/rhcos/4.13/4.13.10/rhcos-4.13.10-aarch64-live.aarch64.iso", + "version": "413.92.202307260246-0" + }, + { + "cpuArchitecture": "ppc64le", + "openshiftVersion": "4.13", + "url": "https://mirror.openshift.com/pub/openshift-v4/ppc64le/dependencies/rhcos/4.13/4.13.10/rhcos-4.13.10-ppc64le-live.ppc64le.iso", + "version": "413.92.202307260246-0" + }, + { + "cpuArchitecture": "s390x", + "openshiftVersion": "4.13", + "url": "https://mirror.openshift.com/pub/openshift-v4/s390x/dependencies/rhcos/4.13/4.13.10/rhcos-4.13.10-s390x-live.s390x.iso", + "version": "413.92.202307260246-0" + }, + { + "cpuArchitecture": "x86_64", + "openshiftVersion": "4.14", + "url": "https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/pre-release/4.14.0-rc.0/rhcos-4.14.0-rc.0-x86_64-live.x86_64.iso", + "version": "414.92.202308032115-0" + }, + { + "cpuArchitecture": "arm64", + "openshiftVersion": "4.14", + "url": "https://mirror.openshift.com/pub/openshift-v4/aarch64/dependencies/rhcos/pre-release/4.14.0-rc.0/rhcos-4.14.0-rc.0-aarch64-live.aarch64.iso", + "version": "414.92.202308032115-0" + }, + { + "cpuArchitecture": "ppc64le", + "openshiftVersion": "4.14", + "url": "https://mirror.openshift.com/pub/openshift-v4/ppc64le/dependencies/rhcos/pre-release/4.14.0-rc.0/rhcos-4.14.0-rc.0-ppc64le-live.ppc64le.iso", + "version": "414.92.202308032115-0" + }, + { + "cpuArchitecture": "s390x", + "openshiftVersion": "4.14", + "url": "https://mirror.openshift.com/pub/openshift-v4/s390x/dependencies/rhcos/pre-release/4.14.0-rc.0/rhcos-4.14.0-rc.0-s390x-live.s390x.iso", + "version": "414.92.202308032115-0" + } + ] + } + } + ] + capabilities: Basic Install + categories: OpenShift Optional + containerImage: quay.io/edge-infrastructure/assisted-service@sha256:b8248e5d873bd22e2406934037d499b2a1a1859440256181be4f777ffcf2bffc + createdAt: 2023-10-03T04:55:00Z + description: The Infrastructure Operator for Red Hat OpenShift is responsible for managing the deployment of the Assisted Service. + olm.skipRange: '>=0.0.1 <0.7.66' + operatorframework.io/suggested-namespace: assisted-installer + operators.operatorframework.io/builder: operator-sdk-v1.10.0+git + operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 + repository: https://github.com/openshift/assisted-service + support: https://github.com/openshift/assisted-service/issues/new + name: assisted-service-operator.v0.7.66 +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - kind: AgentClassification + name: agentclassifications.agent-install.openshift.io + version: v1beta1 + - kind: AgentClusterInstall + name: agentclusterinstalls.extensions.hive.openshift.io + version: v1beta1 + - displayName: Agent + kind: Agent + name: agents.agent-install.openshift.io + version: v1beta1 + - description: AgentServiceConfig represents an Assisted Service deployment. Only an AgentServiceConfig with name="agent" will be reconciled. All other names will be rejected. + displayName: Agent Service Config + kind: AgentServiceConfig + name: agentserviceconfigs.agent-install.openshift.io + specDescriptors: + - description: DatabaseStorage defines the spec of the PersistentVolumeClaim to be created for the database's filesystem. With respect to the resource requests, minimum 10GiB is recommended. + displayName: Storage for database + path: databaseStorage + - description: FileSystemStorage defines the spec of the PersistentVolumeClaim to be created for the assisted-service's filesystem (logs, etc). With respect to the resource requests, the amount of filesystem storage consumed will depend largely on the number of clusters created (~200MB per cluster and ~2-3GiB per supported OpenShift version). Minimum 100GiB recommended. + displayName: Storage for service filesystem + path: filesystemStorage + - description: 'IPXEHTTPRoute is controlling whether the operator is creating plain HTTP routes iPXE hosts may not work with router cyphers and may access artifacts via HTTP only This setting accepts "enabled,disabled", defaults to disabled. Empty value defaults to disabled The following endpoints would be exposed via http: * api/assisted-installer/v2/infra-envs//downloads/files?file_name=ipxe-script in assisted-service * boot-artifacts/ and images//pxe-initrd in -image-service' + displayName: Expose IPXE HTTP route + path: iPXEHTTPRoute + - description: ImageStorage defines the spec of the PersistentVolumeClaim to be created for each replica of the image service. If a PersistentVolumeClaim is provided 2GiB per OSImage entry is required + displayName: Storage for images + path: imageStorage + - description: 'MirrorRegistryRef is the reference to the configmap that contains mirror registry configuration In case no configuration is need, this field will be nil. ConfigMap must contain to entries: ca-bundle.crt - hold the contents of mirror registry certificate/s registries.conf - holds the content of registries.conf file configured with mirror registries' + displayName: Mirror Registry and Certificate ConfigMap Name + path: mirrorRegistryRef + - description: MustGatherImages defines a collection of operator related must-gather images that are used if one the operators fails to be successfully deployed + displayName: Must-Gather Images + path: mustGatherImages + - description: OSImages defines a collection of Operating System images (ie. RHCOS images) that the assisted-service should use as the base when generating discovery ISOs. + displayName: Operating System Images + path: osImages + - description: UnauthenticatedRegistries is a list of registries from which container images can be pulled without authentication. They will be appended to the default list (quay.io, registry.svc.ci.openshift.org). Any registry on this list will not require credentials to be in the pull secret validated by the assisted-service. + displayName: List of container registries without authentication + path: unauthenticatedRegistries + version: v1beta1 + - kind: HypershiftAgentServiceConfig + name: hypershiftagentserviceconfigs.agent-install.openshift.io + version: v1beta1 + - displayName: InfraEnv + kind: InfraEnv + name: infraenvs.agent-install.openshift.io + version: v1beta1 + - displayName: NMStateConfig + kind: NMStateConfig + name: nmstateconfigs.agent-install.openshift.io + version: v1beta1 + description: |- + The Infrastructure Operator for Red Hat OpenShift is responsible for managing + the deployment of the Assisted Service. Assisted Service is used to orchestrate + baremetal OpenShift installations. + + The Assisted Service can currently install clusters with highly-available + control planes (3 hosts and above) and can also install Single-Node + OpenShift (SNO). Highly available clusters are configured to use + OpenShift's `baremetal` platform (typically used in + [bare metal IPI deployments](https://docs.openshift.com/container-platform/4.7/installing/installing_bare_metal_ipi/ipi-install-overview.html)), + while SNO uses `none` (typically used in + [UPI deployments](https://docs.openshift.com/container-platform/4.7/installing/installing_platform_agnostic/installing-platform-agnostic.html)). + + When creating the AgentServiceConfig CR. It is important to note that the + controller will only ever reconcile an AgentServiceConfig named "agent", + any other name will be ignored. + displayName: Infrastructure Operator for Red Hat OpenShift + icon: + - base64data: PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOTIgMTQ1Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2UwMDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPlJlZEhhdC1Mb2dvLUhhdC1Db2xvcjwvdGl0bGU+PHBhdGggZD0iTTE1Ny43Nyw2Mi42MWExNCwxNCwwLDAsMSwuMzEsMy40MmMwLDE0Ljg4LTE4LjEsMTcuNDYtMzAuNjEsMTcuNDZDNzguODMsODMuNDksNDIuNTMsNTMuMjYsNDIuNTMsNDRhNi40Myw2LjQzLDAsMCwxLC4yMi0xLjk0bC0zLjY2LDkuMDZhMTguNDUsMTguNDUsMCwwLDAtMS41MSw3LjMzYzAsMTguMTEsNDEsNDUuNDgsODcuNzQsNDUuNDgsMjAuNjksMCwzNi40My03Ljc2LDM2LjQzLTIxLjc3LDAtMS4wOCwwLTEuOTQtMS43My0xMC4xM1oiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMjcuNDcsODMuNDljMTIuNTEsMCwzMC42MS0yLjU4LDMwLjYxLTE3LjQ2YTE0LDE0LDAsMCwwLS4zMS0zLjQybC03LjQ1LTMyLjM2Yy0xLjcyLTcuMTItMy4yMy0xMC4zNS0xNS43My0xNi42QzEyNC44OSw4LjY5LDEwMy43Ni41LDk3LjUxLjUsOTEuNjkuNSw5MCw4LDgzLjA2LDhjLTYuNjgsMC0xMS42NC01LjYtMTcuODktNS42LTYsMC05LjkxLDQuMDktMTIuOTMsMTIuNSwwLDAtOC40MSwyMy43Mi05LjQ5LDI3LjE2QTYuNDMsNi40MywwLDAsMCw0Mi41Myw0NGMwLDkuMjIsMzYuMywzOS40NSw4NC45NCwzOS40NU0xNjAsNzIuMDdjMS43Myw4LjE5LDEuNzMsOS4wNSwxLjczLDEwLjEzLDAsMTQtMTUuNzQsMjEuNzctMzYuNDMsMjEuNzdDNzguNTQsMTA0LDM3LjU4LDc2LjYsMzcuNTgsNTguNDlhMTguNDUsMTguNDUsMCwwLDEsMS41MS03LjMzQzIyLjI3LDUyLC41LDU1LC41LDc0LjIyYzAsMzEuNDgsNzQuNTksNzAuMjgsMTMzLjY1LDcwLjI4LDQ1LjI4LDAsNTYuNy0yMC40OCw1Ni43LTM2LjY1LDAtMTIuNzItMTEtMjcuMTYtMzAuODMtMzUuNzgiLz48L3N2Zz4= + mediatype: image/svg+xml + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - "" + resources: + - nodes + - pods + - endpoints + - services + - secrets + verbs: + - get + - watch + - list + - apiGroups: + - "" + resources: + - secrets + verbs: + - get + - watch + - list + - create + - apiGroups: + - batch + resources: + - jobs + verbs: + - get + - watch + - list + - delete + - create + - apiGroups: + - "" + resources: + - configmaps + verbs: + - create + - get + - list + - watch + - apiGroups: + - config.openshift.io + resources: + - clusterversions + verbs: + - get + - list + - apiGroups: + - route.openshift.io + resources: + - routes + - routes/custom-host + verbs: + - create + - get + - apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch + - apiGroups: + - "" + resources: + - events + verbs: + - create + - patch + - apiGroups: + - "" + resources: + - namespaces + verbs: + - create + - get + - list + - watch + - apiGroups: + - "" + resources: + - secrets + verbs: + - create + - get + - list + - update + - watch + - apiGroups: + - "" + resources: + - serviceaccounts + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - admissionregistration.k8s.io + resources: + - mutatingwebhookconfigurations + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - admissionregistration.k8s.io + resources: + - validatingwebhookconfigurations + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - agent-install.openshift.io + resources: + - agentclassifications + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - agent-install.openshift.io + resources: + - agentclassifications/finalizers + verbs: + - update + - apiGroups: + - agent-install.openshift.io + resources: + - agentclassifications/status + verbs: + - get + - patch + - update + - apiGroups: + - agent-install.openshift.io + resources: + - agents + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - agent-install.openshift.io + resources: + - agents/ai-deprovision + verbs: + - update + - apiGroups: + - agent-install.openshift.io + resources: + - agents/status + verbs: + - get + - patch + - update + - apiGroups: + - agent-install.openshift.io + resources: + - agentserviceconfigs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - agent-install.openshift.io + resources: + - agentserviceconfigs/finalizers + verbs: + - update + - apiGroups: + - agent-install.openshift.io + resources: + - agentserviceconfigs/status + verbs: + - get + - patch + - update + - apiGroups: + - agent-install.openshift.io + resources: + - hypershiftagentserviceconfigs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - agent-install.openshift.io + resources: + - hypershiftagentserviceconfigs/finalizers + verbs: + - update + - apiGroups: + - agent-install.openshift.io + resources: + - hypershiftagentserviceconfigs/status + verbs: + - get + - patch + - update + - apiGroups: + - agent-install.openshift.io + resources: + - infraenvs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - agent-install.openshift.io + resources: + - infraenvs/status + verbs: + - get + - patch + - update + - apiGroups: + - agent-install.openshift.io + resources: + - nmstateconfigs + verbs: + - get + - list + - watch + - apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - get + - list + - watch + - apiGroups: + - apiregistration.k8s.io + resources: + - apiservices + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apps + resources: + - deployments + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apps + resources: + - statefulsets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create + - apiGroups: + - cluster.open-cluster-management.io + resources: + - managedclustersets/join + verbs: + - create + - apiGroups: + - config.openshift.io + resources: + - clusteroperators + verbs: + - get + - list + - watch + - apiGroups: + - config.openshift.io + resources: + - clusterversions + verbs: + - get + - list + - watch + - apiGroups: + - config.openshift.io + resources: + - dnses + verbs: + - get + - apiGroups: + - config.openshift.io + resources: + - infrastructures + verbs: + - get + - list + - watch + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - configmaps + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - persistentvolumeclaims + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - serviceaccounts + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - services + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - extensions.hive.openshift.io + resources: + - agentclusterinstalls + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - extensions.hive.openshift.io + resources: + - agentclusterinstalls/finalizers + verbs: + - update + - apiGroups: + - extensions.hive.openshift.io + resources: + - agentclusterinstalls/status + verbs: + - get + - patch + - update + - apiGroups: + - hive.openshift.io + resources: + - clusterdeployments + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - hive.openshift.io + resources: + - clusterdeployments/finalizers + verbs: + - update + - apiGroups: + - hive.openshift.io + resources: + - clusterdeployments/status + verbs: + - get + - patch + - update + - apiGroups: + - hive.openshift.io + resources: + - clusterimagesets + verbs: + - create + - get + - list + - watch + - apiGroups: + - metal3.io + resources: + - baremetalhosts + verbs: + - get + - list + - patch + - update + - watch + - apiGroups: + - metal3.io + resources: + - preprovisioningimages + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - metal3.io + resources: + - preprovisioningimages/status + verbs: + - get + - patch + - update + - apiGroups: + - metal3.io + resources: + - provisionings + verbs: + - get + - apiGroups: + - monitoring.coreos.com + resources: + - servicemonitors + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterrolebindings + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterroles + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - rbac.authorization.k8s.io + resources: + - rolebindings + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - route.openshift.io + resources: + - routes + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - route.openshift.io + resources: + - routes/custom-host + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + serviceAccountName: assisted-service + deployments: + - name: infrastructure-operator + spec: + replicas: 1 + selector: + matchLabels: + control-plane: infrastructure-operator + strategy: {} + template: + metadata: + labels: + control-plane: infrastructure-operator + spec: + containers: + - args: + - --leader-elect + command: + - /assisted-service-operator + env: + - name: SERVICE_IMAGE + value: quay.io/edge-infrastructure/assisted-service@sha256:b8248e5d873bd22e2406934037d499b2a1a1859440256181be4f777ffcf2bffc + - name: IMAGE_SERVICE_IMAGE + value: quay.io/edge-infrastructure/assisted-image-service@sha256:7017b562f6ef2306b75f5fa91b98d34c0f7406ecac6e23ab47a6480b91f95354 + - name: DATABASE_IMAGE + value: quay.io/edge-infrastructure/postgresql-12-centos7@sha256:c65e48c23994a077f618075f06faa8e24a58f64f78e47902f7cf4174c43b4b1b + - name: AGENT_IMAGE + value: quay.io/edge-infrastructure/assisted-installer-agent@sha256:cdc0b7fe3cd8b4b8c39905ed008ec208cb79149f7bcb031a8c374edf84285368 + - name: CONTROLLER_IMAGE + value: quay.io/edge-infrastructure/assisted-installer-controller@sha256:415b988a2fc2077e2b5fb5fafe634bb2a7b73f414a81da4e12c2bc10b6fb8f5a + - name: INSTALLER_IMAGE + value: quay.io/edge-infrastructure/assisted-installer@sha256:b321deccf67c25f5afca61cb672b2b39f4dbb58f88eca3f989e01d7f801a8f6e + - name: OS_IMAGES + value: '[{"openshift_version":"4.9","cpu_architecture":"x86_64","url":"https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.9/4.9.45/rhcos-4.9.45-x86_64-live.x86_64.iso","version":"49.84.202207192205-0"},{"openshift_version":"4.10","cpu_architecture":"x86_64","url":"https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.10/4.10.37/rhcos-4.10.37-x86_64-live.x86_64.iso","version":"410.84.202210040010-0"},{"openshift_version":"4.10","cpu_architecture":"arm64","url":"https://mirror.openshift.com/pub/openshift-v4/aarch64/dependencies/rhcos/4.10/4.10.37/rhcos-4.10.37-aarch64-live.aarch64.iso","version":"410.84.202210040011-0"},{"openshift_version":"4.11","cpu_architecture":"x86_64","url":"https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.11/4.11.48/rhcos-4.11.48-x86_64-live.x86_64.iso","version":"411.86.202308081056-0"},{"openshift_version":"4.11","cpu_architecture":"arm64","url":"https://mirror.openshift.com/pub/openshift-v4/aarch64/dependencies/rhcos/4.11/4.11.48/rhcos-4.11.48-aarch64-live.aarch64.iso","version":"411.86.202308081056-0"},{"openshift_version":"4.11","cpu_architecture":"s390x","url":"https://mirror.openshift.com/pub/openshift-v4/s390x/dependencies/rhcos/4.11/4.11.48/rhcos-4.11.48-s390x-live.s390x.iso","version":"411.86.202308081056-0"},{"openshift_version":"4.11","cpu_architecture":"ppc64le","url":"https://mirror.openshift.com/pub/openshift-v4/ppc64le/dependencies/rhcos/4.11/4.11.48/rhcos-4.11.48-ppc64le-live.ppc64le.iso","version":"411.86.202308081056-0"},{"openshift_version":"4.12","cpu_architecture":"x86_64","url":"https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.12/4.12.30/rhcos-4.12.30-x86_64-live.x86_64.iso","version":"412.86.202308081039-0"},{"openshift_version":"4.12","cpu_architecture":"arm64","url":"https://mirror.openshift.com/pub/openshift-v4/aarch64/dependencies/rhcos/4.12/4.12.30/rhcos-4.12.30-aarch64-live.aarch64.iso","version":"412.86.202308081039-0"},{"openshift_version":"4.12","cpu_architecture":"s390x","url":"https://mirror.openshift.com/pub/openshift-v4/s390x/dependencies/rhcos/4.12/4.12.30/rhcos-4.12.30-s390x-live.s390x.iso","version":"412.86.202308081039-0"},{"openshift_version":"4.12","cpu_architecture":"ppc64le","url":"https://mirror.openshift.com/pub/openshift-v4/ppc64le/dependencies/rhcos/4.12/4.12.30/rhcos-4.12.30-ppc64le-live.ppc64le.iso","version":"412.86.202308081039-0"},{"openshift_version":"4.13","cpu_architecture":"x86_64","url":"https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.13/4.13.10/rhcos-4.13.10-x86_64-live.x86_64.iso","version":"413.92.202307260246-0"},{"openshift_version":"4.13","cpu_architecture":"arm64","url":"https://mirror.openshift.com/pub/openshift-v4/aarch64/dependencies/rhcos/4.13/4.13.10/rhcos-4.13.10-aarch64-live.aarch64.iso","version":"413.92.202307260246-0"},{"openshift_version":"4.13","cpu_architecture":"ppc64le","url":"https://mirror.openshift.com/pub/openshift-v4/ppc64le/dependencies/rhcos/4.13/4.13.10/rhcos-4.13.10-ppc64le-live.ppc64le.iso","version":"413.92.202307260246-0"},{"openshift_version":"4.13","cpu_architecture":"s390x","url":"https://mirror.openshift.com/pub/openshift-v4/s390x/dependencies/rhcos/4.13/4.13.10/rhcos-4.13.10-s390x-live.s390x.iso","version":"413.92.202307260246-0"},{"openshift_version":"4.14","cpu_architecture":"x86_64","url":"https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/pre-release/4.14.0-rc.0/rhcos-4.14.0-rc.0-x86_64-live.x86_64.iso","version":"414.92.202308032115-0"},{"openshift_version":"4.14","cpu_architecture":"arm64","url":"https://mirror.openshift.com/pub/openshift-v4/aarch64/dependencies/rhcos/pre-release/4.14.0-rc.0/rhcos-4.14.0-rc.0-aarch64-live.aarch64.iso","version":"414.92.202308032115-0"},{"openshift_version":"4.14","cpu_architecture":"ppc64le","url":"https://mirror.openshift.com/pub/openshift-v4/ppc64le/dependencies/rhcos/pre-release/4.14.0-rc.0/rhcos-4.14.0-rc.0-ppc64le-live.ppc64le.iso","version":"414.92.202308032115-0"},{"openshift_version":"4.14","cpu_architecture":"s390x","url":"https://mirror.openshift.com/pub/openshift-v4/s390x/dependencies/rhcos/pre-release/4.14.0-rc.0/rhcos-4.14.0-rc.0-s390x-live.s390x.iso","version":"414.92.202308032115-0"}]' + - name: SERVICE_ACCOUNT_NAME + valueFrom: + fieldRef: + fieldPath: spec.serviceAccountName + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + image: quay.io/edge-infrastructure/assisted-service@sha256:b8248e5d873bd22e2406934037d499b2a1a1859440256181be4f777ffcf2bffc + livenessProbe: + httpGet: + path: /healthz + port: 8081 + initialDelaySeconds: 15 + periodSeconds: 20 + name: manager + readinessProbe: + httpGet: + path: /readyz + port: 8081 + initialDelaySeconds: 5 + periodSeconds: 10 + resources: + requests: + cpu: 100m + memory: 200Mi + securityContext: + allowPrivilegeEscalation: false + serviceAccountName: assisted-service + terminationGracePeriodSeconds: 10 + permissions: + - rules: + - apiGroups: + - "" + resources: + - configmaps + verbs: + - create + - apiGroups: + - "" + resourceNames: + - assisted-service-baseiso-helper + - assisted-service-leader-election-helper + - assisted-service-migration-helper + resources: + - configmaps + verbs: + - get + - update + - delete + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - create + - get + - update + - delete + - apiGroups: + - "" + - coordination.k8s.io + resources: + - configmaps + - leases + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - "" + resources: + - configmaps/status + verbs: + - get + - update + - patch + - apiGroups: + - "" + resources: + - events + verbs: + - create + - patch + serviceAccountName: assisted-service + strategy: deployment + installModes: + - supported: true + type: OwnNamespace + - supported: true + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: false + type: AllNamespaces + keywords: + - assisted-service + - assisted-installer + - OpenShift + links: + - name: Assisted Service + url: https://github.com/openshift/assisted-service + - name: Assisted Image Service + url: https://github.com/openshift/assisted-image-service + - name: Assisted Installer + url: https://github.com/openshift/assisted-installer + - name: Assisted Installer Controller + url: https://github.com/openshift/assisted-installer + - name: Assisted Installer Agent + url: https://github.com/openshift/assisted-installer-agent + maintainers: + - email: support@redhat.com + name: Support + maturity: alpha + provider: + name: Red Hat + relatedImages: + - image: quay.io/edge-infrastructure/assisted-service@sha256:b8248e5d873bd22e2406934037d499b2a1a1859440256181be4f777ffcf2bffc + name: controller + - image: quay.io/edge-infrastructure/assisted-image-service@sha256:7017b562f6ef2306b75f5fa91b98d34c0f7406ecac6e23ab47a6480b91f95354 + name: image-service + - image: quay.io/edge-infrastructure/postgresql-12-centos7@sha256:c65e48c23994a077f618075f06faa8e24a58f64f78e47902f7cf4174c43b4b1b + name: postgresql + - image: quay.io/edge-infrastructure/assisted-installer@sha256:b321deccf67c25f5afca61cb672b2b39f4dbb58f88eca3f989e01d7f801a8f6e + name: installer + - image: quay.io/edge-infrastructure/assisted-installer-agent@sha256:cdc0b7fe3cd8b4b8c39905ed008ec208cb79149f7bcb031a8c374edf84285368 + name: agent + - image: quay.io/edge-infrastructure/assisted-installer-controller@sha256:415b988a2fc2077e2b5fb5fafe634bb2a7b73f414a81da4e12c2bc10b6fb8f5a + name: reporter + version: 0.7.66 + replaces: assisted-service-operator.v0.6.66 + skips: + - assisted-service-operator.v0.0.1 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.0.2 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.0.3 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.0.4 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.0.5 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.0.5-rc.1 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.0.6 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.0.7 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.0.8 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.1.0 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.1.1 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.1.2 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.1.3 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.0 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.1 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.10 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.11 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.12 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.13 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.14 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.15 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.16 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.17 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.18 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.19 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.2 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.20 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.21 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.22 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.23 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.24 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.25 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.3 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.4 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.5 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.6 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.7 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.8 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.2.9 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.3.25 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.3.26 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.3.27 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.3.28 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.3.29 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.3.30 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.3.31 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.3.32 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.3.33 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.3.34 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.3.35 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.3.36 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.3.37 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.3.38 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.4.38 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.4.39 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.4.40 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.4.41 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.4.42 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.4.43 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.4.44 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.4.45 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.4.46 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.4.47 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.4.48 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.4.49 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.4.50 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.5.50 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.5.51 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.5.52 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.5.53 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.5.54 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.5.55 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.5.56 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.5.57 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.5.58 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.5.59 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.5.60 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.5.61 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.6.61 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.6.62 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.6.63 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.6.64 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.6.65 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata + - assisted-service-operator.v0.6.66 + - assisted-service-operator.vmanifests + - assisted-service-operator.vmetadata diff --git a/operators/assisted-service-operator/0.7.66/manifests/extensions.hive.openshift.io_agentclusterinstalls.yaml b/operators/assisted-service-operator/0.7.66/manifests/extensions.hive.openshift.io_agentclusterinstalls.yaml new file mode 100644 index 00000000000..c8f0de6a8fe --- /dev/null +++ b/operators/assisted-service-operator/0.7.66/manifests/extensions.hive.openshift.io_agentclusterinstalls.yaml @@ -0,0 +1,570 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: agentclusterinstalls.extensions.hive.openshift.io +spec: + group: extensions.hive.openshift.io + names: + kind: AgentClusterInstall + listKind: AgentClusterInstallList + plural: agentclusterinstalls + shortNames: + - aci + singular: agentclusterinstall + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: The name of the cluster the ACI refers to. + jsonPath: .spec.clusterDeploymentRef.name + name: Cluster + type: string + - description: State of the ACI. + jsonPath: .status.debugInfo.state + name: State + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: AgentClusterInstall represents a request to provision an agent + based cluster. + 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: AgentClusterInstallSpec defines the desired state of the + AgentClusterInstall. + properties: + apiVIP: + description: APIVIP is the virtual IP used to reach the OpenShift + cluster's API. + type: string + apiVIPs: + description: APIVIPs are the virtual IPs used to reach the OpenShift + cluster's API. Enter one IP address for single-stack clusters, or + up to two for dual-stack clusters (at most one IP address per IP + stack used). The order of stacks should be the same as order of + subnets in Cluster Networks, Service Networks, and Machine Networks. + items: + type: string + maxItems: 2 + type: array + clusterDeploymentRef: + description: ClusterDeploymentRef is a reference to the ClusterDeployment + associated with this AgentClusterInstall. + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + clusterMetadata: + description: ClusterMetadata contains metadata information about the + installed cluster. It should be populated once the cluster install + is completed. (it can be populated sooner if desired, but Hive will + not copy back to ClusterDeployment until the Installed condition + goes True. + properties: + adminKubeconfigSecretRef: + description: AdminKubeconfigSecretRef references the secret containing + the admin kubeconfig for this cluster. + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + adminPasswordSecretRef: + description: AdminPasswordSecretRef references the secret containing + the admin username/password which can be used to login to this + cluster. + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + clusterID: + description: ClusterID is a globally unique identifier for this + cluster generated during installation. Used for reporting metrics + among other places. + type: string + infraID: + description: InfraID is an identifier for this cluster generated + during installation and used for tagging/naming resources in + cloud providers. + type: string + required: + - adminKubeconfigSecretRef + - clusterID + - infraID + type: object + compute: + description: Compute is the configuration for the machines that comprise + the compute nodes. + items: + description: AgentMachinePool is a pool of machines to be installed. + properties: + hyperthreading: + default: Enabled + description: Hyperthreading determines the mode of hyperthreading + that machines in the pool will utilize. Default is for hyperthreading + to be enabled. + enum: + - "" + - Enabled + - Disabled + type: string + name: + description: Name is the name of the machine pool. For the control + plane machine pool, the name will always be "master". For + the compute machine pools, the only valid name is "worker". + type: string + required: + - name + type: object + type: array + controlPlane: + description: ControlPlane is the configuration for the machines that + comprise the control plane. + properties: + hyperthreading: + default: Enabled + description: Hyperthreading determines the mode of hyperthreading + that machines in the pool will utilize. Default is for hyperthreading + to be enabled. + enum: + - "" + - Enabled + - Disabled + type: string + name: + description: Name is the name of the machine pool. For the control + plane machine pool, the name will always be "master". For the + compute machine pools, the only valid name is "worker". + type: string + required: + - name + type: object + diskEncryption: + description: DiskEncryption is the configuration to enable/disable + disk encryption for cluster nodes. + properties: + enableOn: + default: none + description: Enable/disable disk encryption on master nodes, worker + nodes, or all nodes. + enum: + - none + - all + - masters + - workers + type: string + mode: + description: The disk encryption mode to use. + enum: + - tpmv2 + - tang + type: string + tangServers: + description: JSON-formatted string containing additional information + regarding tang's configuration + type: string + type: object + external: + description: ExternalPlatformSpec represents generic infrastructure + provider. Platform-specific components should be supplemented separately. + properties: + platformName: + default: Unknown + description: PlatformName holds the arbitrary string representing + the infrastructure provider name, expected to be set at the + installation time. This field is solely for informational and + reporting purposes and is not expected to be used for decision-making. + type: string + type: object + holdInstallation: + description: HoldInstallation will prevent installation from happening + when true. Inspection and validation will proceed as usual, but + once the RequirementsMet condition is true, installation will not + begin until this field is set to false. + type: boolean + ignitionEndpoint: + description: IgnitionEndpoint stores the data of the custom ignition + endpoint. + properties: + caCertificateReference: + description: CaCertificateReference is a reference to the secret + containing CA certificate to be used when contacting the URL + via HTTPS. + properties: + name: + description: Name is the name of the secret containing the + CA certificate. + type: string + namespace: + description: Namespace is the namespace of the secret containing + the CA certificate base64 encoded. + type: string + required: + - name + - namespace + type: object + url: + description: Url stores the URL of the custom ignition endpoint. + type: string + type: object + imageSetRef: + description: ImageSetRef is a reference to a ClusterImageSet. The + release image specified in the ClusterImageSet will be used to install + the cluster. + properties: + name: + description: Name is the name of the ClusterImageSet that this + refers to + type: string + required: + - name + type: object + ingressVIP: + description: IngressVIP is the virtual IP used for cluster ingress + traffic. + type: string + ingressVIPs: + description: IngressVIPs are the virtual IPs used for cluster ingress + traffic. Enter one IP address for single-stack clusters, or up to + two for dual-stack clusters (at most one IP address per IP stack + used). The order of stacks should be the same as order of subnets + in Cluster Networks, Service Networks, and Machine Networks. + items: + type: string + maxItems: 2 + type: array + manifestsConfigMapRef: + description: 'ManifestsConfigMapRef is a reference to user-provided + manifests to add to or replace manifests that are generated by the + installer. Deprecated: this field is ignored when ManifestsConfigMapRefs + is set.' + properties: + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + type: object + manifestsConfigMapRefs: + description: ManifestsConfigMapRefs is an array of references to user-provided + manifests ConfigMaps to add to or replace manifests that are generated + by the installer. Manifest names in each ConfigMap should be unique + across all referenced ConfigMaps. + items: + description: ManifestsConfigMapReference is a reference to a manifests + ConfigMap + properties: + name: + description: Name is the name of the ConfigMap that this refers + to + type: string + required: + - name + type: object + type: array + mastersSchedulable: + description: Set to true to allow control plane nodes to be schedulable + type: boolean + networking: + description: Networking is the configuration for the pod network provider + in the cluster. + properties: + clusterNetwork: + description: ClusterNetwork is the list of IP address pools for + pods. Default is 10.128.0.0/14 and a host prefix of /23. + items: + description: ClusterNetworkEntry is a single IP address block + for pod IP blocks. IP blocks are allocated with size 2^HostSubnetLength. + properties: + cidr: + description: CIDR is the IP block address pool. + type: string + hostPrefix: + description: HostPrefix is the prefix size to allocate to + each node from the CIDR. For example, 24 would allocate + 2^8=256 adresses to each node. If this field is not used + by the plugin, it can be left unset. + format: int32 + type: integer + required: + - cidr + type: object + type: array + machineNetwork: + description: MachineNetwork is the list of IP address pools for + machines. + items: + description: MachineNetworkEntry is a single IP address block + for node IP blocks. + properties: + cidr: + description: CIDR is the IP block address pool for machines + within the cluster. + type: string + required: + - cidr + type: object + type: array + networkType: + description: NetworkType is the Container Network Interface (CNI) + plug-in to install The default value is OpenShiftSDN for IPv4, + and OVNKubernetes for IPv6 or SNO + enum: + - OpenShiftSDN + - OVNKubernetes + type: string + serviceNetwork: + description: ServiceNetwork is the list of IP address pools for + services. Default is 172.30.0.0/16. + items: + type: string + type: array + userManagedNetworking: + description: UserManagedNetworking indicates if the networking + is managed by the user. For single-node installations (none + or external platform), set to true or leave empty. + type: boolean + type: object + platformType: + description: PlatformType is the name for the specific platform upon + which to perform the installation. + enum: + - "" + - BareMetal + - None + - VSphere + - Nutanix + - External + type: string + provisionRequirements: + description: ProvisionRequirements defines configuration for when + the installation is ready to be launched automatically. + properties: + controlPlaneAgents: + description: ControlPlaneAgents is the number of matching approved + and ready Agents with the control plane role required to launch + the install. Must be either 1 or 3. + type: integer + workerAgents: + description: WorkerAgents is the minimum number of matching approved + and ready Agents with the worker role required to launch the + install. + minimum: 0 + type: integer + required: + - controlPlaneAgents + type: object + proxy: + description: Proxy defines the proxy settings used for the install + config + properties: + httpProxy: + description: HTTPProxy is the URL of the proxy for HTTP requests. + type: string + httpsProxy: + description: HTTPSProxy is the URL of the proxy for HTTPS requests. + type: string + noProxy: + description: NoProxy is a comma-separated list of domains and + CIDRs for which the proxy should not be used. + type: string + type: object + sshPublicKey: + description: SSHPublicKey will be added to all cluster hosts for use + in debugging. + type: string + required: + - clusterDeploymentRef + - networking + - provisionRequirements + type: object + status: + description: AgentClusterInstallStatus defines the observed state of the + AgentClusterInstall. + properties: + apiVIP: + description: APIVIP is the virtual IP used to reach the OpenShift + cluster's API. + type: string + apiVIPs: + description: APIVIPs are the virtual IPs used to reach the OpenShift + cluster's API. + items: + type: string + maxItems: 2 + type: array + conditions: + description: Conditions includes more detailed status for the cluster + install. + items: + description: ClusterInstallCondition contains details for the current + condition of a cluster install. + 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 + connectivityMajorityGroups: + type: string + controlPlaneAgentsDiscovered: + description: ControlPlaneAgentsDiscovered is the number of Agents + currently linked to this ClusterDeployment. + type: integer + controlPlaneAgentsReady: + description: ControlPlaneAgentsDiscovered is the number of Agents + currently linked to this ClusterDeployment that are ready for use. + type: integer + debugInfo: + description: DebugInfo includes information for debugging the installation + process. + properties: + eventsURL: + description: EventsURL specifies an HTTP/S URL that contains events + which occurred during the cluster installation process + type: string + logsURL: + description: LogsURL specifies a url for download controller logs + tar file. + type: string + state: + description: Current state of the AgentClusterInstall + type: string + stateInfo: + description: Additional information pertaining to the status of + the AgentClusterInstall + type: string + type: object + ingressVIP: + description: IngressVIP is the virtual IP used for cluster ingress + traffic. + type: string + ingressVIPs: + description: IngressVIPs are the virtual IPs used for cluster ingress + traffic. + items: + type: string + maxItems: 2 + type: array + machineNetwork: + description: MachineNetwork is the list of IP address pools for machines. + items: + description: MachineNetworkEntry is a single IP address block for + node IP blocks. + properties: + cidr: + description: CIDR is the IP block address pool for machines + within the cluster. + type: string + required: + - cidr + type: object + type: array + platformType: + description: PlatformType is the name for the specific platform upon + which to perform the installation. + enum: + - "" + - BareMetal + - None + - VSphere + - Nutanix + - External + type: string + progress: + description: Progress shows the installation progress of the cluster + properties: + totalPercentage: + description: Estimated installation progress (in percentage) + format: int64 + type: integer + required: + - totalPercentage + type: object + userManagedNetworking: + description: UserManagedNetworking indicates if the networking is + managed by the user. + type: boolean + validationsInfo: + additionalProperties: + items: + properties: + id: + type: string + message: + type: string + status: + type: string + required: + - id + - message + - status + type: object + type: array + description: ValidationsInfo is a JSON-formatted string containing + the validation results for each validation id grouped by category + (network, hosts-data, etc.) + type: object + workerAgentsDiscovered: + description: WorkerAgentsDiscovered is the number of worker Agents + currently linked to this ClusterDeployment. + type: integer + workerAgentsReady: + description: WorkerAgentsDiscovered is the number of worker Agents + currently linked to this ClusterDeployment that are ready for use. + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/operators/assisted-service-operator/0.7.66/metadata/annotations.yaml b/operators/assisted-service-operator/0.7.66/metadata/annotations.yaml new file mode 100644 index 00000000000..56f60a6331f --- /dev/null +++ b/operators/assisted-service-operator/0.7.66/metadata/annotations.yaml @@ -0,0 +1,11 @@ +annotations: + # Core bundle annotations. + operators.operatorframework.io.bundle.mediatype.v1: registry+v1 + operators.operatorframework.io.bundle.manifests.v1: manifests/ + operators.operatorframework.io.bundle.metadata.v1: metadata/ + operators.operatorframework.io.bundle.package.v1: assisted-service-operator + operators.operatorframework.io.bundle.channels.v1: alpha,ocm-2.10 + operators.operatorframework.io.bundle.channel.default.v1: alpha + operators.operatorframework.io.metrics.builder: operator-sdk-v1.10.0+git + operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 + operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3