Documentation ¶
Overview ¶
Package configuration TODO
Index ¶
- type DMZCIDRRange
- type EKS
- type EKSAuth
- type EKSAuthData
- type EKSNodePool
- type EKSNodePoolFwRule
- type GKE
- type GKENodePool
- type GKENodePoolFwRule
- type VSphere
- type VSphereCRIConfig
- type VSphereConfig
- type VSphereETCDConfig
- type VSphereKubeLoadBalancer
- type VSphereKubeNode
- type VSphereNetworkConfig
- type VSphereOIDCConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DMZCIDRRange ¶ added in v0.3.7
type DMZCIDRRange struct {
Values []string
}
DMZCIDRRange represents a string or a list of strings
func (DMZCIDRRange) MarshalYAML ¶ added in v0.3.7
func (sm DMZCIDRRange) MarshalYAML() (interface{}, error)
MarshalYAML marshall the DMZCIDRRange
func (*DMZCIDRRange) UnmarshalYAML ¶ added in v0.3.7
func (sm *DMZCIDRRange) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML unmarshall the DMZCIDRRange
type EKS ¶
type EKS struct { Version string `yaml:"version"` Network string `yaml:"network"` SubNetworks []string `yaml:"subnetworks"` DMZCIDRRange DMZCIDRRange `yaml:"dmzCIDRRange"` SSHPublicKey string `yaml:"sshPublicKey"` NodePools []EKSNodePool `yaml:"nodePools"` Tags map[string]string `yaml:"tags"` Auth EKSAuth `yaml:"auth"` }
EKS represents the configuration spec of a EKS Cluster
type EKSAuth ¶
type EKSAuth struct { AdditionalAccounts []string `yaml:"additionalAccounts"` Users []EKSAuthData `yaml:"users"` Roles []EKSAuthData `yaml:"roles"` }
EKSAuth represent a auth structure
type EKSAuthData ¶
type EKSAuthData struct { Username string `yaml:"username"` Groups []string `yaml:"groups"` UserARN string `yaml:"userarn,omitempty"` RoleARN string `yaml:"rolearn,omitempty"` }
EKSAuthData represent a auth structure
type EKSNodePool ¶
type EKSNodePool struct { Name string `yaml:"name"` Version string `yaml:"version"` MinSize int `yaml:"minSize"` MaxSize int `yaml:"maxSize"` InstanceType string `yaml:"instanceType"` OS string `yaml:"os"` TargetGroups []string `yaml:"targetGroups"` MaxPods int `yaml:"maxPods"` SpotInstance bool `yaml:"spotInstance"` VolumeSize int `yaml:"volumeSize"` Labels map[string]string `yaml:"labels"` Taints []string `yaml:"taints"` SubNetworks []string `yaml:"subnetworks"` Tags map[string]string `yaml:"tags"` AdditionalFirewallRules []EKSNodePoolFwRule `yaml:"additionalFirewallRules"` }
EKSNodePool represent a node pool configuration
type EKSNodePoolFwRule ¶ added in v0.3.6
type EKSNodePoolFwRule struct { Name string `yaml:"name"` Direction string `yaml:"direction"` CIDRBlock string `yaml:"cidrBlock"` Protocol string `yaml:"protocol"` Ports string `yaml:"ports"` Tags map[string]string `yaml:"tags"` }
EKSNodePoolFwRule represent an additional firewall rule to add to a specific node pool in the cluster
type GKE ¶ added in v0.3.4
type GKE struct { Version string `yaml:"version"` Network string `yaml:"network"` NetworkProjectID string `yaml:"networkProjectID"` ControlPlaneCIDR string `yaml:"controlPlaneCIDR"` AdditionalFirewallRules bool `yaml:"additionalFirewallRules"` AdditionalClusterFirewallRules bool `yaml:"additionalClusterFirewallRules"` DisalbeDefaultSNAT bool `yaml:"disalbeDefaultSNAT"` SubNetworks []string `yaml:"subnetworks"` DMZCIDRRange DMZCIDRRange `yaml:"dmzCIDRRange"` SSHPublicKey string `yaml:"sshPublicKey"` NodePools []GKENodePool `yaml:"nodePools"` Tags map[string]string `yaml:"tags"` }
GKE represents the configuration spec of a GKE Cluster
type GKENodePool ¶ added in v0.3.4
type GKENodePool struct { Name string `yaml:"name"` Version string `yaml:"version"` MinSize int `yaml:"minSize"` MaxSize int `yaml:"maxSize"` InstanceType string `yaml:"instanceType"` OS string `yaml:"os"` MaxPods int `yaml:"maxPods"` Preemptible bool `yaml:"preemptible"` VolumeSize int `yaml:"volumeSize"` Labels map[string]string `yaml:"labels"` Taints []string `yaml:"taints"` SubNetworks []string `yaml:"subnetworks"` Tags map[string]string `yaml:"tags"` AdditionalFirewallRules []GKENodePoolFwRule `yaml:"additionalFirewallRules"` }
GKENodePool represent a node pool configuration
type GKENodePoolFwRule ¶ added in v0.4.0
type GKENodePoolFwRule struct { Name string `yaml:"name"` Direction string `yaml:"direction"` CIDRBlock string `yaml:"cidrBlock"` Protocol string `yaml:"protocol"` Ports string `yaml:"ports"` Tags map[string]string `yaml:"tags"` }
GKENodePoolFwRule represent an additional firewall rule to add to a specific node pool in the cluster
type VSphere ¶ added in v0.5.0
type VSphere struct { Version string `yaml:"version"` ControlPlaneEndpoint string `yaml:"controlPlaneEndpoint"` ETCDConfig VSphereETCDConfig `yaml:"etcd"` OIDCConfig VSphereOIDCConfig `yaml:"oidc"` CRIConfig VSphereCRIConfig `yaml:"cri"` EnvironmentName string `yaml:"environmentName"` Config VSphereConfig `yaml:"config"` NetworkConfig VSphereNetworkConfig `yaml:"networkConfig"` Boundary bool `yaml:"boundary"` LoadBalancerNode VSphereKubeLoadBalancer `yaml:"lbNode"` MasterNode VSphereKubeNode `yaml:"masterNode"` InfraNode VSphereKubeNode `yaml:"infraNode"` NodePools []VSphereKubeNode `yaml:"nodePools"` ClusterPODCIDR string `yaml:"clusterPODCIDR"` ClusterSVCCIDR string `yaml:"clusterSVCCIDR"` ClusterCIDR string `yaml:"clusterCIDR"` SSHPublicKey []string `yaml:"sshPublicKeys"` }
VSphere represents the configuration spec of a VSphere Cluster
type VSphereCRIConfig ¶ added in v0.5.0
type VSphereConfig ¶ added in v0.5.0
type VSphereETCDConfig ¶ added in v0.5.0
type VSphereETCDConfig struct {
Version string `yaml:"version"`
}
type VSphereKubeLoadBalancer ¶ added in v0.5.0
type VSphereKubeNode ¶ added in v0.5.0
type VSphereKubeNode struct { Role string `yaml:"role"` Count int `yaml:"count"` CPU int `yaml:"cpu"` MemSize int `yaml:"memSize"` DiskSize int `yaml:"diskSize"` Template string `yaml:"template"` Labels map[string]string `yaml:"labels"` Taints []string `yaml:"taints"` CustomScriptPath string `yaml:"customScriptPath"` }