openshift

package
v0.117.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 8, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type InfrastructureAPIResponse

type InfrastructureAPIResponse struct {
	Status InfrastructureStatus `json:"status"`
}

InfrastructureAPIResponse from OpenShift API.

type InfrastructurePlatformStatus

type InfrastructurePlatformStatus struct {
	Aws       InfrastructureStatusAWS       `json:"aws"`
	Azure     InfrastructureStatusAzure     `json:"azure"`
	Baremetal struct{}                      `json:"baremetal"`
	GCP       InfrastructureStatusGCP       `json:"gcp"`
	IBMCloud  InfrastructureStatusIBMCloud  `json:"ibmcloud"`
	OpenStack InfrastructureStatusOpenStack `json:"openstack"`
	OVirt     struct{}                      `json:"ovirt"`
	VSphere   struct{}                      `json:"vsphere"`
	Type      string                        `json:"type"`
}

InfrastructurePlatformStatus reported by the OpenShift API.

type InfrastructureStatus

type InfrastructureStatus struct {
	// ControlPlaneTopology expresses the expectations for operands that normally
	// run on control nodes. The default is 'HighlyAvailable', which represents
	// the behavior operators have in a "normal" cluster. The 'SingleReplica' mode
	// will be used in single-node deployments and the operators should not
	// configure the operand for highly-available operation The 'External' mode
	// indicates that the control plane is hosted externally to the cluster and
	// that its components are not visible within the cluster.
	ControlPlaneTopology string `json:"controlPlaneTopology"`
	// InfrastructureName uniquely identifies a cluster with a human friendly
	// name. Once set it should not be changed. Must be of max length 27 and must
	// have only alphanumeric or hyphen characters.
	InfrastructureName string `json:"infrastructureName"`
	// InfrastructureTopology expresses the expectations for infrastructure
	// services that do not run on control plane nodes, usually indicated by a
	// node selector for a role value other than master. The default is
	// 'HighlyAvailable', which represents the behavior operators have in a
	// "normal" cluster. The 'SingleReplica' mode will be used in single-node
	// deployments and the operators should not configure the operand for
	// highly-available operation.
	InfrastructureTopology string `json:"infrastructureTopology"`
	// PlatformStatus holds status information specific to the underlying
	// infrastructure provider.
	PlatformStatus InfrastructurePlatformStatus `json:"platformStatus"`
}

InfrastructureStatus holds cluster-wide information about Infrastructure. https://docs.openshift.com/container-platform/4.11/rest_api/config_apis/infrastructure-config-openshift-io-v1.html#apisconfig-openshift-iov1infrastructuresnamestatus

type InfrastructureStatusAWS

type InfrastructureStatusAWS struct {
	// Region holds the default AWS region for new AWS resources created by the
	// cluster.
	Region string `json:"region"`
}

InfrastructureStatusAWS reported by the OpenShift API.

type InfrastructureStatusAzure

type InfrastructureStatusAzure struct {
	// CloudName is the name of the Azure cloud environment which can be used to
	// configure the Azure SDK with the appropriate Azure API endpoints. If empty,
	// the value is equal to AzurePublicCloud.
	CloudName string `json:"cloudName"`
}

InfrastructureStatusAzure reported by the OpenShift API.

type InfrastructureStatusGCP

type InfrastructureStatusGCP struct {
	// Region holds the region for new GCP resources created for the cluster.
	Region string `json:"region"`
}

InfrastructureStatusGCP reported by the OpenShift API.

type InfrastructureStatusIBMCloud

type InfrastructureStatusIBMCloud struct {
	// Location is where the cluster has been deployed.
	Location string `json:"location"`
}

InfrastructureStatusIBMCloud reported by the OpenShift API.

type InfrastructureStatusOpenStack

type InfrastructureStatusOpenStack struct {
	// CloudName is the name of the desired OpenStack cloud in the client
	// configuration file (clouds.yaml).
	CloudName string `json:"cloudName"`
}

InfrastructureStatusOpenStack reported by the OpenShift API.

type Provider

type Provider interface {
	K8SClusterVersion(context.Context) (string, error)
	OpenShiftClusterVersion(context.Context) (string, error)
	Infrastructure(context.Context) (*InfrastructureAPIResponse, error)
}

Provider gets cluster metadata from Openshift.

func NewProvider

func NewProvider(address, token string, tlsCfg *tls.Config) Provider

NewProvider creates a new metadata provider.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL