config

package
v1.2.45 Latest Latest
Warning

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

Go to latest
Published: Sep 16, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeployCilium added in v1.2.42

func DeployCilium(ocClient *occli.Client, podCIDR string, hostPrefix string, outputDir string,
	kubeconfigFile string) error

DeployCilium The step is provided via here https://hypershift-docs.netlify.app/how-to/aws/other-sdn-providers/#cilium Only for HCP cluster now

func GetClusterID

func GetClusterID() (clusterID string)

func GetInstallerRoleArn

func GetInstallerRoleArn(hostedcp bool) (string, error)

Get installer role arn from ${SHARED_DIR}/account-roles-arns

func GetKubeconfigDummyFunc added in v1.2.42

func GetKubeconfigDummyFunc()

func IsNodePoolGlobalCheck added in v1.2.45

func IsNodePoolGlobalCheck() bool

IsNodePoolGlobalCheck Get the nodepool global check flag

Types

type AWS

type AWS struct {
	Sts Sts `json:"sts,omitempty"`
}

type AdditionalSecurityGroups added in v1.2.39

type AdditionalSecurityGroups struct {
	ControlPlaneSecurityGroups string `json:"control_plane_sgs,omitempty"`
	InfraSecurityGroups        string `json:"infra_sgs,omitempty"`
	WorkerSecurityGroups       string `json:"worker_sgs,omitempty"`
}

type Autoscaler added in v1.2.39

type Autoscaler struct {
	AutoscalerBalanceSimilarNodeGroups      bool   `json:"autoscaler_balance_similar_node_groups,omitempty"`
	AutoscalerSkipNodesWithLocalStorage     bool   `json:"autoscaler_skip_nodes_with_local_storage,omitempty"`
	AutoscalerLogVerbosity                  string `json:"autoscaler_log_verbosity,omitempty"`
	AutoscalerMaxPodGracePeriod             string `json:"autoscaler_max_pod_grace_period,omitempty"`
	AutoscalerPodPriorityThreshold          string `json:"autoscaler_pod_priority_threshold,omitempty"`
	AutoscalerIgnoreDaemonsetsUtilization   bool   `json:"autoscaler_ignore_daemonsets_utilization,omitempty"`
	AutoscalerMaxNodeProvisionTime          string `json:"autoscaler_max_node_provision_time,omitempty"`
	AutoscalerBalancingIgnoredLabels        string `json:"autoscaler_balancing_ignored_labels,omitempty"`
	AutoscalerMaxNodesTotal                 string `json:"autoscaler_max_nodes_total,omitempty"`
	AutoscalerMinCores                      string `json:"autoscaler_min_cores,omitempty"`
	AutoscalerMaxCores                      string `json:"autoscaler_max_cores,omitempty"`
	AutoscalerMinMemory                     string `json:"autoscaler_min_memory,omitempty"`
	AutoscalerMaxMemory                     string `json:"autoscaler_max_memory,omitempty"`
	AutoscalerGpuLimit                      string `json:"autoscaler_gpu_limit,omitempty"`
	AutoscalerScaleDownEnabled              bool   `json:"autoscaler_scale_down_enabled,omitempty"`
	AutoscalerScaleDownUnneededTime         string `json:"autoscaler_scale_down_unneeded_time,omitempty"`
	AutoscalerScaleDownUtilizationThreshold string `json:"autoscaler_scale_down_utilization_threshold,omitempty"`
	AutoscalerScaleDownDelayAfterAdd        string `json:"autoscaler_scale_down_delay_after_add,omitempty"`
	AutoscalerScaleDownDelayAfterDelete     string `json:"autoscaler_scale_down_delay_after_delete,omitempty"`
	AutoscalerScaleDownDelayAfterFailure    string `json:"autoscaler_scale_down_delay_after_failure,omitempty"`
}

type Autoscaling

type Autoscaling struct {
	Enabled bool `json:"enabled,omitempty"`
}

type ClusterConfig

type ClusterConfig struct {
	DisableScpChecks          bool                      `json:"disable_scp_checks,omitempty"`
	DisableWorkloadMonitoring bool                      `json:"disable_workload_monitoring,omitempty"`
	EnableCustomerManagedKey  bool                      `json:"enable_customer_managed_key,omitempty"`
	EtcdEncryption            bool                      `json:"etcd_encryption,omitempty"`
	Fips                      bool                      `json:"fips,omitempty"`
	Hypershift                bool                      `json:"hypershift,omitempty"`
	MultiAZ                   bool                      `json:"multi_az,omitempty"`
	Private                   bool                      `json:"private,omitempty"`
	PrivateLink               bool                      `json:"private_link,omitempty"`
	Sts                       bool                      `json:"sts,omitempty"`
	AuditLogArn               string                    `json:"audit_log_arn,omitempty"`
	AvailabilityZones         string                    `json:"availability_zones,omitempty"`
	DefaultMpLabels           string                    `json:"default_mp_labels,omitempty"`
	Ec2MetadataHttpTokens     string                    `json:"ec2_metadata_http_tokens,omitempty"`
	Name                      string                    `json:"name,omitempty"`
	Region                    string                    `json:"region,omitempty"`
	Tags                      string                    `json:"tags,omitempty"`
	WorkerDiskSize            string                    `json:"worker_disk_size,omitempty"`
	DomainPrefix              string                    `json:"domain_prefix,omitempty"`
	BillingAccount            string                    `json:"billing_account,omitempty"`
	AdditionalPrincipals      string                    `json:"additional_principals,omitempty"`
	AdditionalSecurityGroups  *AdditionalSecurityGroups `json:"additional_sgs,omitempty"`
	Autoscaling               *Autoscaling              `json:"autoscaling,omitempty"`
	Aws                       *AWS                      `json:"aws,omitempty"`
	Autoscaler                *Autoscaler               `json:"autoscaler,omitempty"`
	Encryption                *Encryption               `json:"encryption,omitempty"`
	IngressConfig             *IngressConfig            `json:"ingress_config,omitempty"`
	Networking                *Networking               `json:"networking,omitempty"`
	Nodes                     *Nodes                    `json:"nodes,omitempty"`
	Properties                *Properties               `json:"properties,omitempty"`
	Proxy                     *Proxy                    `json:"proxy,omitempty"`
	Subnets                   *Subnets                  `json:"subnets,omitempty"`
	Version                   *Version                  `json:"version,omitempty"`
	ExternalAuthentication    bool                      `json:"external_authentication,omitempty"`
	SharedVPC                 bool                      `json:"shared_vpc,omitempty"`
}

func ParseClusterProfile

func ParseClusterProfile() (*ClusterConfig, error)

type Command

type Command interface {
	GetFullCommand() string
	GetFlagValue(flag string, flagWithVaue bool) string
	AddFlags(flags ...string)
	ReplaceFlagValue(flags map[string]string)
	DeleteFlag(flag string, flagWithVaue bool) error
	CheckFlagExist(flag string) bool
}

func GenerateCommand added in v1.2.40

func GenerateCommand(cmdString string) Command

func RetrieveClusterCreationCommand

func RetrieveClusterCreationCommand(filePath string) (Command, error)

Get the rosa command for creating cluster from ${SHARED_DIR}/create_cluster.sh

type Encryption

type Encryption struct {
	KmsKeyArn            string `json:"kms_key_arn,omitempty"`
	EtcdEncryptionKmsArn string `json:"etcd_encryption_kms_arn,omitempty"`
}

type IngressConfig added in v1.2.39

type IngressConfig struct {
	DefaultIngressRouteSelector            string `json:"default_ingress_route_sector,omitempty"`
	DefaultIngressExcludedNamespaces       string `json:"default_ingress_excluded_namespaces,omitempty"`
	DefaultIngressWildcardPolicy           string `json:"default_ingress_wildcard_policy,omitempty"`
	DefaultIngressNamespaceOwnershipPolicy string `json:"default_ingress_namespace_ownership_policy,omitempty"`
}

type Networking added in v1.2.39

type Networking struct {
	Type        string `json:"type,omitempty"`
	MachineCIDR string `json:"machine_cidr,omitempty"`
	ServiceCIDR string `json:"service_cidr,omitempty"`
	PodCIDR     string `json:"pod_cidr,omitempty"`
	HostPrefix  string `json:"host_prefix,omitempty"`
}

type Nodes

type Nodes struct {
	Replicas            string `json:"replicas,omitempty"`
	MinReplicas         string `json:"min_replicas,omitempty"`
	MaxReplicas         string `json:"max_replicas,omitempty"`
	ComputeInstanceType string `json:"compute_instance_type,omitempty"`
}

type Properties

type Properties struct {
	ProvisionShardID string `json:"provision_shard_id,omitempty"`
}

type Proxy

type Proxy struct {
	Enabled         bool   `json:"enabled,omitempty"`
	Http            string `json:"http,omitempty"`
	Https           string `json:"https,omitempty"`
	NoProxy         string `json:"no_proxy,omitempty"`
	TrustBundleFile string `json:"trust_bundle_file,omitempty"`
}

type Sts

type Sts struct {
	RoleArn             string `json:"role_arn,omitempty"`
	SupportRoleArn      string `json:"support_role_arn,omitempty"`
	WorkerRoleArn       string `json:"worker_role_arn,omitempty"`
	ControlPlaneRoleArn string `json:"control_plane_role_arn,omitempty"`
	OidcConfigID        string `json:"oidc_config_id,omitempty"`
	OperatorRolesPrefix string `json:"operator_roles_prefix,omitempty"`
}

type Subnets

type Subnets struct {
	PrivateSubnetIds string `json:"private_subnet_ids,omitempty"`
	PublicSubnetIds  string `json:"public_subnet_ids,omitempty"`
}

type Version

type Version struct {
	ChannelGroup string `json:"channel_group,omitempty"`
	RawID        string `json:"raw_id,omitempty"`
}

Jump to

Keyboard shortcuts

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