Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RenderClusterManifests ¶
func RenderClusterManifests(params *ClusterParams, image *releaseinfo.ReleaseImage, pullSecret []byte, secrets *corev1.SecretList, configMaps *corev1.ConfigMapList) (map[string][]byte, error)
Types ¶
type AvailabilityPolicy ¶
type AvailabilityPolicy string
const ( HighlyAvailable AvailabilityPolicy = "HighlyAvailable" SingleReplica AvailabilityPolicy = "SingleReplica" )
type ClusterParams ¶
type ClusterParams struct { Namespace string `json:"namespace"` ExternalAPIDNSName string `json:"externalAPIDNSName"` ExternalAPIAddress string `json:"externalAPIAddress"` ExternalAPIPort uint `json:"externalAPIPort"` ExternalOauthDNSName string `json:"externalOauthDNSName"` ExternalOauthPort uint `json:"externalOauthPort"` IdentityProviders string `json:"identityProviders"` ServiceCIDR string `json:"serviceCIDR"` MachineCIDR string `json:"machineCIDR"` NamedCerts []NamedCert `json:"namedCerts,omitempty"` PodCIDR string `json:"podCIDR"` ReleaseImage string `json:"releaseImage"` IngressSubdomain string `json:"ingressSubdomain"` OpenShiftAPIClusterIP string `json:"openshiftAPIClusterIP"` OauthAPIClusterIP string `json:"oauthAPIClusterIP"` PackageServerAPIClusterIP string `json:"packageServerAPIClusterIP"` ImageRegistryHTTPSecret string `json:"imageRegistryHTTPSecret"` RouterNodePortHTTP string `json:"routerNodePortHTTP"` RouterNodePortHTTPS string `json:"routerNodePortHTTPS"` BaseDomain string `json:"baseDomain"` PublicZoneID string `json:"publicZoneID,omitempty"` PrivateZoneID string `json:"PrivateZoneID,omitempty"` NetworkType hyperv1.NetworkType `json:"networkType"` // APIAvailabilityPolicy defines the availability of components that support end-user facing API requests APIAvailabilityPolicy AvailabilityPolicy `json:"apiAvailabilityPolicy"` // ControllerAvailabilityPolicy defines the availability of controller components for the cluster ControllerAvailabilityPolicy AvailabilityPolicy `json:"controllerAvailabilityPolicy"` OriginReleasePrefix string `json:"originReleasePrefix"` OpenshiftAPIServerCABundle string `json:"openshiftAPIServerCABundle"` OauthAPIServerCABundle string `json:"oauthAPIServerCABundle"` PackageServerCABundle string `json:"packageServerCABundle"` CloudProvider string `json:"cloudProvider"` CVOSetupImage string `json:"cvoSetupImage"` IssuerURL string `json:"issuerURL"` InternalAPIPort uint `json:"internalAPIPort"` RouterServiceType string `json:"routerServiceType"` KubeAPIServerResources []ResourceRequirements `json:"kubeAPIServerResources"` OpenshiftControllerManagerResources []ResourceRequirements `json:"openshiftControllerManagerResources"` ClusterVersionOperatorResources []ResourceRequirements `json:"clusterVersionOperatorResources"` KubeControllerManagerResources []ResourceRequirements `json:"kubeControllerManagerResources"` OpenshiftAPIServerResources []ResourceRequirements `json:"openshiftAPIServerResources"` KubeSchedulerResources []ResourceRequirements `json:"kubeSchedulerResources"` HostedClusterConfigOperatorResources []ResourceRequirements `json:"hostedClusterConfigOperatorResources"` OAuthServerResources []ResourceRequirements `json:"oAuthServerResources"` ClusterPolicyControllerResources []ResourceRequirements `json:"clusterPolicyControllerResources"` AutoApproverResources []ResourceRequirements `json:"autoApproverResources"` APIServerAuditEnabled bool `json:"apiServerAuditEnabled"` RestartDate string `json:"restartDate"` HostedClusterConfigOperatorControllers []string `json:"hostedClusterConfigOperatorControllers"` ROKSMetricsImage string `json:"roksMetricsImage"` ExtraFeatureGates []string `json:"extraFeatureGates"` HostedClusterConfigOperatorSecurity string `json:"hostedClusterConfigOperatorSecurity"` ApiserverLivenessPath string `json:"apiserverLivenessPath"` PlatformType string `json:"platformType"` HypershiftOperatorImage string `json:"hypershiftOperatorImage"` HypershiftOperatorResources []ResourceRequirements `json:"hypershiftOperatorResourceRequirements"` HypershiftOperatorControllers []string `json:"hypershiftOperatorControllers"` MachineConfigServerAddress string `json:"machineConfigServerAddress"` SSHKey string `json:"sshKey"` InfraID string `json:"infraID"` FIPS bool `json:"fips"` ProviderCredsSecretName string `json:"providerCredsSecretName"` DefaultFeatureGates []string // AWS params AWSRegion string `json:"awsRegion"` // Fields below are are taken from the ROKs type EndpointPublishingStrategyScope string `json:"endpointPublishingStrategyScope"` ClusterID string `json:"clusterID"` MasterPriorityClass string `json:"masterPriorityClass"` KMSServerResources []ResourceRequirements `json:"kmsServerResources"` KMSImage string `json:"kmsImage"` KPInfo string `json:"kpInfo"` KPRegion string `json:"kpRegion"` KPAPIKey string `json:"kpAPIKey"` APINodePort uint `json:"apiNodePort"` }
func NewClusterParams ¶
func NewClusterParams() *ClusterParams
NewClusterParams returns a new default cluster params struct
type PKIParams ¶
type PKIParams struct { // API Server ExternalAPIAddress string // An externally accessible DNS name or IP for the API server. Currently obtained from the load balancer DNS name. NodeInternalAPIServerIP string // A fixed IP that pods on worker nodes will use to communicate with the API server - 172.20.0.1 ExternalAPIPort uint // External API server port - fixed at 6443. This is used for kubeconfig generation. InternalAPIPort uint // Internal API server network (on service network of host) - fixed at 6443. Used for kubeconfig generation. ServiceCIDR string // Used to determine the internal IP address of the Kube service and generate an IP for it. // OAuth Server address ExternalOauthAddress string // An externally accessible DNS name or IP for the Oauth server. Currently obtained from Oauth load balancer DNS name. // Ingress IngressSubdomain string // Subdomain for cluster ingress. Used to generate the wildcard certificate for ingress. // MCO/MCS MachineConfigServerAddress string // An externally accessible DNS name or IP for the Machine Config Server. Currently generated using a route hostname. // Common Namespace string // Used to generate internal DNS names for services. // TEMPORARY - this is here during the transition away from templates in the hosted control plane controller RootCACert []byte RootCAKey []byte }
type ResourceLimit ¶
type ResourceRequest ¶
type ResourceRequirements ¶
type ResourceRequirements struct { ResourceLimit []ResourceLimit `json:"resourceLimit"` ResourceRequest []ResourceRequest `json:"resourceRequest"` }
Click to show internal directories.
Click to hide internal directories.