configuration

package
v0.6.1 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2021 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Overview

Package configuration TODO

Index

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"`
	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"`
	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 VSphereCRIConfig struct {
	Version string   `yaml:"version"`
	DNS     []string `yaml:"dns"`
	Proxy   string   `yaml:"proxy"`
	Mirrors []string `yaml:"mirrors"`
}

type VSphereConfig added in v0.5.0

type VSphereConfig struct {
	DatacenterName string   `yaml:"datacenterName"`
	Datastore      string   `yaml:"datastore"`
	EsxiHost       []string `yaml:"esxiHosts"`
}

type VSphereETCDConfig added in v0.5.0

type VSphereETCDConfig struct {
	Version string `yaml:"version"`
}

type VSphereKubeLoadBalancer added in v0.5.0

type VSphereKubeLoadBalancer struct {
	Count            int    `yaml:"count"`
	Template         string `yaml:"template"`
	CustomScriptPath string `yaml:"customScriptPath"`
}

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"`
}

type VSphereNetworkConfig added in v0.5.0

type VSphereNetworkConfig struct {
	Name        string   `yaml:"name"`
	Gateway     string   `yaml:"gateway"`
	Nameservers []string `yaml:"nameservers"`
	Domain      string   `yaml:"domain"`
	IPOffset    int      `yaml:"ipOffset"`
}

type VSphereOIDCConfig added in v0.5.0

type VSphereOIDCConfig struct {
	IssuerURL string `yaml:"issuerURL"`
	ClientID  string `yaml:"clientID"`
	CAFile    string `yaml:"caFile"`
}

Jump to

Keyboard shortcuts

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