Documentation ¶
Index ¶
- Constants
- func GetIgnitionPath(ignitionDir string) string
- func GetPackagePath() (string, error)
- func IsComponentNotFound(err error) bool
- func IsInvalidConfig(err error) bool
- func IsRetrieveRuntimeError(err error) bool
- func IsValidationError(err error) bool
- func RenderAssetContent(assetContent string, params interface{}) ([]string, error)
- func RenderFileAssetContent(assetContent string, params interface{}) (string, error)
- type CloudConfig
- type CloudConfigConfig
- type Debug
- type Etcd
- type Extension
- type FileAsset
- type FileMetadata
- type Files
- type Group
- type Images
- type Kubernetes
- type KubernetesDockerOptions
- type KubernetesPodOptions
- type KubernetesPodOptionsHostMount
- type Owner
- type Params
- type UnitAsset
- type UnitMetadata
- type User
- type VerbatimSection
- type Versions
Constants ¶
const ( InitialClusterStateNew = "new" InitialClusterStateExisting = "existing" )
const MasterTemplate = `` /* 26414-byte string literal not displayed */
const WorkerTemplate = `` /* 14970-byte string literal not displayed */
Variables ¶
This section is empty.
Functions ¶
func GetIgnitionPath ¶
GetIgnitionPath returns path for the ignition assets based on base ignition directory and package subdirectory with assets.
func GetPackagePath ¶
GetPackagePath returns top package path for the current runtime file. For example, for /go/src/k8scloudconfig/v_4_1_0/file.go function returns /go/src/k8scloudconfig. This function used only in tests for retrieving ignition assets in runtime.
func IsComponentNotFound ¶
IsComponentNotFound asserts componentNotFoundError.
func IsInvalidConfig ¶
IsInvalidConfig asserts invalidConfigError.
func IsRetrieveRuntimeError ¶
IsRetrieveRuntimeError asserts retrieveRuntimeError.
func IsValidationError ¶
IsValidationError asserts validationError.
func RenderAssetContent ¶
func RenderFileAssetContent ¶
RenderFileAssetContent returns base64 representation of the rendered assetContent.
Types ¶
type CloudConfig ¶
type CloudConfig struct {
// contains filtered or unexported fields
}
func NewCloudConfig ¶
func NewCloudConfig(config CloudConfigConfig) (*CloudConfig, error)
func (*CloudConfig) Base64 ¶
func (c *CloudConfig) Base64() string
func (*CloudConfig) ExecuteTemplate ¶
func (c *CloudConfig) ExecuteTemplate() error
func (*CloudConfig) String ¶
func (c *CloudConfig) String() string
type CloudConfigConfig ¶
type Etcd ¶
type Etcd struct { // ClientPort allows the port for clients to be specified. // aws-operator sets this to the Etcd listening port so Calico on the // worker nodes can access via a CNAME record to the master. ClientPort int // Enabled when set to true will cause rendering master template for cluster of 3 masters. Single master otherwise. // Defaults to false. HighAvailability bool // InitialCluster is config which define which etcd are members of the cluster. // The format should look like this: `etcd1=https://etcd1.example.com:2380,etcd2=https://etcd2.example.com:2380,etcd3=https://etcd3.example.com:2380` // Where etcd1.example.com, etcd2.example.com, and etcd3.example.com can be either the IP or DNS of the master machine // where is etcd listening. InitialCluster string // Initial cluster state for the etcd cluster. Should have values either `new` or `existing`. InitialClusterState string // NodeName is the name of the current etcd cluster node. NodeName string }
type Extension ¶
type Extension interface { Files() ([]FileAsset, error) Units() ([]UnitAsset, error) VerbatimSections() []VerbatimSection }
type FileAsset ¶
type FileAsset struct { Metadata FileMetadata Content string }
type FileMetadata ¶
type Files ¶
Files is map[string]string (k: filename, v: contents) for files that are fetched from disk and then filled with data.
func RenderFiles ¶
RenderFiles walks over filesdir and parses all regular files with text/template. Parsed templates are then rendered with ctx, base64 encoded and added to returned Files.
filesdir must not contain any other files than templates that can be parsed with text/template.
type Group ¶
Group object reflects spec for ignition Group object. If both ID and name are specified, ID is preferred.
type Images ¶
type Images struct { CalicoCNI string CalicoKubeControllers string CalicoNode string Etcd string Hyperkube string KubeApiserver string KubeControllerManager string KubeScheduler string KubeProxy string KubernetesAPIHealthz string KubernetesNetworkSetupDocker string Pause string }
func BuildImages ¶
type Kubernetes ¶
type Kubernetes struct { Apiserver KubernetesPodOptions ControllerManager KubernetesPodOptions HyperkubeWrappers bool Kubelet KubernetesDockerOptions }
type KubernetesDockerOptions ¶
type KubernetesPodOptions ¶
type KubernetesPodOptions struct { HostExtraMounts []KubernetesPodOptionsHostMount CommandExtraArgs []string }
type Params ¶
type Params struct { // APIServerEncryptionKey is AES-CBC with PKCS#7 padding key to encrypt API // etcd data. APIServerEncryptionKey string BaseDomain string Cluster v1alpha1.Cluster // Debug options Debug Debug // EnableAWSCNI flag. When set to true will use AWS CNI for pod networking // and Calico only for network policies. EnableAWSCNI bool // CalicoPolicyOnly flag. When set to true will deploy calico for network policies only. CalicoPolicyOnly bool // DisableEncryptionAtREST flag. When set removes all manifests from the cloud // config related to Kubernetes encryption at REST. DisableEncryptionAtREST bool // DisableIngressControllerService flag. When set removes the manifest for // the Ingress Controller service. This allows us to migrate providers to // chart-operator independently. DisableIngressControllerService bool // DockerhubToken is an auth token used by kubelet to // authenticate/authorize against https://index.docker.io/v1/. DockerhubToken string Etcd Etcd Extension Extension // ExtraManifests allows to specify extra Kubernetes manifests in // /opt/k8s-addons script. The manifests are applied after calico is // ready. // // The general use-case is to create a manifest file with Extension and // then apply the manifest by adding it to ExtraManifests. ExtraManifests []string Files Files // ImagePullProgressDeadline is the duration after which image pulling is // cancelled if no progress has been made. ImagePullProgressDeadline string // Container images used in the cloud-config templates Images Images // Kubernetes components allow the passing of extra `docker run` and // `command` arguments to image commands. This allows, for example, // the addition of cloud provider extensions. Kubernetes Kubernetes Node v1alpha1.ClusterNode // RegistryMirrors to be configured for docker daemon. It should be // domain names only without the protocol prefix, e.g.: // ["giantswarm.azurecr.io"]. RegistryMirrors []string SSOPublicKey string Versions Versions }
type UnitAsset ¶
type UnitAsset struct { Metadata UnitMetadata Content []string }
type UnitMetadata ¶
type User ¶
User object reflects spec for ignition User object. If both ID and name are specified, ID is preferred.
type VerbatimSection ¶
VerbatimSection is a blob of YAML we want to add to the CloudConfig, with no variable interpolation.