assets

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2019 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Addons = map[string]*Addon{
	"addon-manager": NewAddon([]*BinDataAsset{
		NewBinDataAsset(
			"deploy/addons/addon-manager.yaml",
			"/etc/kubernetes/manifests/",
			"addon-manager.yaml",
			"0640",
			true),
	}, true, "addon-manager"),
	"dashboard": NewAddon([]*BinDataAsset{
		NewBinDataAsset(
			"deploy/addons/dashboard/dashboard-dp.yaml",
			constants.AddonsPath,
			"dashboard-dp.yaml",
			"0640",
			true),
		NewBinDataAsset(
			"deploy/addons/dashboard/dashboard-svc.yaml",
			constants.AddonsPath,
			"dashboard-svc.yaml",
			"0640",
			false),
	}, false, "dashboard"),
	"default-storageclass": NewAddon([]*BinDataAsset{
		NewBinDataAsset(
			"deploy/addons/storageclass/storageclass.yaml",
			constants.AddonsPath,
			"storageclass.yaml",
			"0640",
			false),
	}, true, "default-storageclass"),
	"storage-provisioner": NewAddon([]*BinDataAsset{
		NewBinDataAsset(
			"deploy/addons/storage-provisioner/storage-provisioner.yaml",
			constants.AddonsPath,
			"storage-provisioner.yaml",
			"0640",
			true),
	}, true, "storage-provisioner"),
	"storage-provisioner-gluster": NewAddon([]*BinDataAsset{
		NewBinDataAsset(
			"deploy/addons/storage-provisioner-gluster/storage-gluster-ns.yaml",
			constants.AddonsPath,
			"storage-gluster-ns.yaml",
			"0640",
			false),
		NewBinDataAsset(
			"deploy/addons/storage-provisioner-gluster/glusterfs-daemonset.yaml",
			constants.AddonsPath,
			"glusterfs-daemonset.yaml",
			"0640",
			false),
		NewBinDataAsset(
			"deploy/addons/storage-provisioner-gluster/heketi-deployment.yaml",
			constants.AddonsPath,
			"heketi-deployment.yaml",
			"0640",
			false),
		NewBinDataAsset(
			"deploy/addons/storage-provisioner-gluster/storage-provisioner-glusterfile.yaml",
			constants.AddonsPath,
			"storage-privisioner-glusterfile.yaml",
			"0640",
			false),
	}, false, "storage-provisioner-gluster"),
	"heapster": NewAddon([]*BinDataAsset{
		NewBinDataAsset(
			"deploy/addons/heapster/influx-grafana-rc.yaml",
			constants.AddonsPath,
			"influxGrafana-rc.yaml",
			"0640",
			true),
		NewBinDataAsset(
			"deploy/addons/heapster/grafana-svc.yaml",
			constants.AddonsPath,
			"grafana-svc.yaml",
			"0640",
			false),
		NewBinDataAsset(
			"deploy/addons/heapster/influxdb-svc.yaml",
			constants.AddonsPath,
			"influxdb-svc.yaml",
			"0640",
			false),
		NewBinDataAsset(
			"deploy/addons/heapster/heapster-rc.yaml",
			constants.AddonsPath,
			"heapster-rc.yaml",
			"0640",
			true),
		NewBinDataAsset(
			"deploy/addons/heapster/heapster-svc.yaml",
			constants.AddonsPath,
			"heapster-svc.yaml",
			"0640",
			false),
	}, false, "heapster"),
	"efk": NewAddon([]*BinDataAsset{
		NewBinDataAsset(
			"deploy/addons/efk/elasticsearch-rc.yaml",
			constants.AddonsPath,
			"elasticsearch-rc.yaml",
			"0640",
			true),
		NewBinDataAsset(
			"deploy/addons/efk/elasticsearch-svc.yaml",
			constants.AddonsPath,
			"elasticsearch-svc.yaml",
			"0640",
			false),
		NewBinDataAsset(
			"deploy/addons/efk/fluentd-es-rc.yaml",
			constants.AddonsPath,
			"fluentd-es-rc.yaml",
			"0640",
			true),
		NewBinDataAsset(
			"deploy/addons/efk/fluentd-es-configmap.yaml",
			constants.AddonsPath,
			"fluentd-es-configmap.yaml",
			"0640",
			false),
		NewBinDataAsset(
			"deploy/addons/efk/kibana-rc.yaml",
			constants.AddonsPath,
			"kibana-rc.yaml",
			"0640",
			false),
		NewBinDataAsset(
			"deploy/addons/efk/kibana-svc.yaml",
			constants.AddonsPath,
			"kibana-svc.yaml",
			"0640",
			false),
	}, false, "efk"),
	"ingress": NewAddon([]*BinDataAsset{
		NewBinDataAsset(
			"deploy/addons/ingress/ingress-configmap.yaml",
			constants.AddonsPath,
			"ingress-configmap.yaml",
			"0640",
			false),
		NewBinDataAsset(
			"deploy/addons/ingress/ingress-rbac.yaml",
			constants.AddonsPath,
			"ingress-rbac.yaml",
			"0640",
			false),
		NewBinDataAsset(
			"deploy/addons/ingress/ingress-dp.yaml",
			constants.AddonsPath,
			"ingress-dp.yaml",
			"0640",
			true),
		NewBinDataAsset(
			"deploy/addons/ingress/ingress-svc.yaml",
			constants.AddonsPath,
			"ingress-svc.yaml",
			"0640",
			false),
	}, false, "ingress"),
	"metrics-server": NewAddon([]*BinDataAsset{
		NewBinDataAsset(
			"deploy/addons/metrics-server/metrics-apiservice.yaml",
			constants.AddonsPath,
			"metrics-apiservice.yaml",
			"0640",
			false),
		NewBinDataAsset(
			"deploy/addons/metrics-server/metrics-server-deployment.yaml",
			constants.AddonsPath,
			"metrics-server-deployment.yaml",
			"0640",
			true),
		NewBinDataAsset(
			"deploy/addons/metrics-server/metrics-server-service.yaml",
			constants.AddonsPath,
			"metrics-server-service.yaml",
			"0640",
			false),
	}, false, "metrics-server"),
	"registry": NewAddon([]*BinDataAsset{
		NewBinDataAsset(
			"deploy/addons/registry/registry-rc.yaml",
			constants.AddonsPath,
			"registry-rc.yaml",
			"0640",
			false),
		NewBinDataAsset(
			"deploy/addons/registry/registry-svc.yaml",
			constants.AddonsPath,
			"registry-svc.yaml",
			"0640",
			false),
	}, false, "registry"),
	"registry-creds": NewAddon([]*BinDataAsset{
		NewBinDataAsset(
			"deploy/addons/registry-creds/registry-creds-rc.yaml",
			constants.AddonsPath,
			"registry-creds-rc.yaml",
			"0640",
			false),
	}, false, "registry-creds"),
	"freshpod": NewAddon([]*BinDataAsset{
		NewBinDataAsset(
			"deploy/addons/freshpod/freshpod-rc.yaml",
			constants.AddonsPath,
			"freshpod-rc.yaml",
			"0640",
			true),
	}, false, "freshpod"),
	"nvidia-driver-installer": NewAddon([]*BinDataAsset{
		NewBinDataAsset(
			"deploy/addons/gpu/nvidia-driver-installer.yaml",
			constants.AddonsPath,
			"nvidia-driver-installer.yaml",
			"0640",
			true),
	}, false, "nvidia-driver-installer"),
	"nvidia-gpu-device-plugin": NewAddon([]*BinDataAsset{
		NewBinDataAsset(
			"deploy/addons/gpu/nvidia-gpu-device-plugin.yaml",
			constants.AddonsPath,
			"nvidia-gpu-device-plugin.yaml",
			"0640",
			true),
	}, false, "nvidia-gpu-device-plugin"),
	"logviewer": NewAddon([]*BinDataAsset{
		NewBinDataAsset(
			"deploy/addons/logviewer/logviewer-dp-and-svc.yaml",
			constants.AddonsPath,
			"logviewer-dp-and-svc.yaml",
			"0640",
			false),
		NewBinDataAsset(
			"deploy/addons/logviewer/logviewer-rbac.yaml",
			constants.AddonsPath,
			"logviewer-rbac.yaml",
			"0640",
			false),
	}, false, "logviewer"),
	"gvisor": NewAddon([]*BinDataAsset{
		NewBinDataAsset(
			"deploy/addons/gvisor/gvisor-pod.yaml",
			constants.AddonsPath,
			"gvisor-pod.yaml",
			"0640",
			true),
		NewBinDataAsset(
			"deploy/addons/gvisor/gvisor-config.toml",
			constants.GvisorFilesPath,
			constants.GvisorConfigTomlTargetName,
			"0640",
			true),
		NewBinDataAsset(
			"deploy/addons/gvisor/gvisor-containerd-shim.toml",
			constants.GvisorFilesPath,
			constants.GvisorContainerdShimTargetName,
			"0640",
			false),
	}, false, "gvisor"),
}

Addons is the list of addons

Functions

func AddMinikubeDirAssets added in v0.24.0

func AddMinikubeDirAssets(assets *[]CopyableFile) error

AddMinikubeDirAssets adds all addons and files to the list of files to be copied to the vm.

func GenerateTemplateData added in v1.0.0

func GenerateTemplateData(cfg config.KubernetesConfig) interface{}

GenerateTemplateData generates template data for template assets

Types

type Addon

type Addon struct {
	Assets []*BinDataAsset
	// contains filtered or unexported fields
}

Addon is a named list of assets, that can be enabled

func NewAddon

func NewAddon(assets []*BinDataAsset, enabled bool, addonName string) *Addon

NewAddon creates a new Addon

func (*Addon) IsEnabled

func (a *Addon) IsEnabled() (bool, error)

IsEnabled checks if an Addon is enabled

type BaseAsset

type BaseAsset struct {
	Length      int
	AssetName   string
	TargetDir   string
	TargetName  string
	Permissions string
	// contains filtered or unexported fields
}

BaseAsset is the base asset class

func (*BaseAsset) GetAssetName

func (b *BaseAsset) GetAssetName() string

GetAssetName returns asset name

func (*BaseAsset) GetPermissions

func (b *BaseAsset) GetPermissions() string

GetPermissions returns permissions

func (*BaseAsset) GetTargetDir

func (b *BaseAsset) GetTargetDir() string

GetTargetDir returns target dir

func (*BaseAsset) GetTargetName

func (b *BaseAsset) GetTargetName() string

GetTargetName returns target name

type BinDataAsset added in v0.22.0

type BinDataAsset struct {
	BaseAsset
	// contains filtered or unexported fields
}

BinDataAsset is a bindata (binary data) asset

func NewBinDataAsset added in v0.22.0

func NewBinDataAsset(assetName, targetDir, targetName, permissions string, isTemplate bool) *BinDataAsset

NewBinDataAsset creates a new BinDataAsset

func (*BinDataAsset) Evaluate added in v1.0.0

func (m *BinDataAsset) Evaluate(data interface{}) (*MemoryAsset, error)

Evaluate evaluates the template to a new asset

func (*BinDataAsset) GetLength added in v0.22.0

func (m *BinDataAsset) GetLength() int

GetLength returns length

func (*BinDataAsset) IsTemplate added in v1.0.0

func (m *BinDataAsset) IsTemplate() bool

IsTemplate returns if the asset is a template

func (*BinDataAsset) Read added in v0.22.0

func (m *BinDataAsset) Read(p []byte) (int, error)

Read reads the asset

type CopyableFile

type CopyableFile interface {
	io.Reader
	GetLength() int
	GetAssetName() string
	GetTargetDir() string
	GetTargetName() string
	GetPermissions() string
}

CopyableFile is something that can be copied

type FileAsset

type FileAsset struct {
	BaseAsset
}

FileAsset is an asset using a file

func NewFileAsset

func NewFileAsset(assetName, targetDir, targetName, permissions string) (*FileAsset, error)

NewFileAsset creates a new FileAsset

func (*FileAsset) GetLength

func (f *FileAsset) GetLength() int

GetLength returns the file length, or 0 (on error)

func (*FileAsset) Read

func (f *FileAsset) Read(p []byte) (int, error)

type MemoryAsset

type MemoryAsset struct {
	BaseAsset
}

MemoryAsset is a memory-based asset

func NewMemoryAsset

func NewMemoryAsset(d []byte, targetDir, targetName, permissions string) *MemoryAsset

NewMemoryAsset creates a new MemoryAsset

func NewMemoryAssetTarget added in v0.22.2

func NewMemoryAssetTarget(d []byte, targetPath, permissions string) *MemoryAsset

NewMemoryAssetTarget creates a new MemoryAsset, with target

func (*MemoryAsset) GetLength

func (m *MemoryAsset) GetLength() int

GetLength returns length

func (*MemoryAsset) Read

func (m *MemoryAsset) Read(p []byte) (int, error)

Read reads the asset

Jump to

Keyboard shortcuts

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