Documentation ¶
Index ¶
- Constants
- func GetIgnitionPath(ignitionDir string) string
- func GetPackagePath() (string, error)
- func IsInvalidConfig(err error) bool
- func IsRetrieveRuntimeError(err error) bool
- func RenderAssetContent(assetContent string, params interface{}) ([]string, error)
- func RenderFileAssetContent(assetContent string, params interface{}) (string, error)
- type CloudConfig
- type CloudConfigConfig
- type Extension
- type FileAsset
- type FileMetadata
- type Files
- type Group
- type Hyperkube
- type HyperkubeApiserver
- type HyperkubeControllerManager
- type HyperkubeDocker
- type HyperkubeKubelet
- type HyperkubePod
- type HyperkubePodHostMount
- type Images
- type Owner
- type Params
- type UnitAsset
- type UnitMetadata
- type User
- type VerbatimSection
Constants ¶
const MasterTemplate = `` /* 20194-byte string literal not displayed */
const WorkerTemplate = `` /* 9908-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 IsInvalidConfig ¶
IsInvalidConfig asserts invalidConfigError.
func IsRetrieveRuntimeError ¶
IsRetrieveRuntimeError asserts retrieveRuntimeError.
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 ¶
func DefaultCloudConfigConfig ¶
func DefaultCloudConfigConfig() CloudConfigConfig
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 Hyperkube ¶
type Hyperkube struct { Apiserver HyperkubeApiserver ControllerManager HyperkubeControllerManager Kubelet HyperkubeKubelet }
type HyperkubeApiserver ¶
type HyperkubeApiserver struct {
Pod HyperkubePod
}
type HyperkubeControllerManager ¶
type HyperkubeControllerManager struct {
Pod HyperkubePod
}
type HyperkubeDocker ¶
type HyperkubeKubelet ¶
type HyperkubeKubelet struct {
Docker HyperkubeDocker
}
type HyperkubePod ¶
type HyperkubePod struct { HyperkubePodHostExtraMounts []HyperkubePodHostMount CommandExtraArgs []string }
type HyperkubePodHostMount ¶
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 // DisableCalico flag. When set removes all calico related Kubernetes // manifests from the cloud config together with their initialization. DisableCalico 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 // Hyperkube allows to pass extra `docker run` and `command` arguments // to hyperkube image commands. This allows to e.g. add cloud provider // extensions. Hyperkube Hyperkube // EtcdPort allows the Etcd port 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. EtcdPort int 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 Node v1alpha1.ClusterNode // RegistryDomain is the host of the docker image registry to use. RegistryDomain string SSOPublicKey string // Container images used in the cloud-config templates Images Images }
func DefaultParams ¶
func DefaultParams() Params
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.