api

package
v0.0.0-...-b2d20b0 Latest Latest
Warning

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

Go to latest
Published: May 4, 2018 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AssetManifest

type AssetManifest struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec AssetManifestSpec `json:"spec"`
}

type AssetManifestSpec

type AssetManifestSpec struct {
	Addons []NodeFile `json:"addons"`
	Files  []NodeFile `json:"files"`
}

type AuthenticationTokenWebhookOpts

type AuthenticationTokenWebhookOpts struct {
	ConfigDataBase64 string `json:"configDataBase64"` // base64 encoded string of the config file
	CacheTTL         string `json:"cacheTTL"`
}

AuthenticationTokenWebhookOpts is the configurable options for when authentication token webhook is used.

type CertPair

type CertPair struct {
	CertData string `json:"certData"`
	KeyData  string `json:"keyData"`
}

CertPair is contains base64 encoded cert and key data

func (CertPair) GetCertData

func (pair CertPair) GetCertData() []byte

GetCertData returns the x509 certificate data in bytes

func (CertPair) GetKeyData

func (pair CertPair) GetKeyData() []byte

GetKeyData returns the x509 key data in bytes

type Cluster

type Cluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec          ClusterSpec       `json:"spec"`
	AssetManifest AssetManifestSpec `json:"assetManifest"`
	Secrets       ClusterSecrets    `json:"secrets"`
}

Cluster is the full representation of a Kubernetes cluster that can be used to reproduce a cluster set up.

func NewCluster

func NewCluster() Cluster

NewCluster creates a new Cluster object

type ClusterFile

type ClusterFile struct {
	Path       string `json:"path"`
	DataBase64 string `json:"data"`
}

ClusterFile represents a file to be provisioned on a cluster node

func (*ClusterFile) GetData

func (cf *ClusterFile) GetData() ([]byte, error)

type ClusterFiles

type ClusterFiles struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec ClusterFilesSpec `json:"spec"`
}

func NewClusterFiles

func NewClusterFiles() *ClusterFiles

type ClusterFilesSpec

type ClusterFilesSpec struct {
	ClusterFiles []*ClusterFile `json:"files"`
}

type ClusterRegistry

type ClusterRegistry struct {
	// contains filtered or unexported fields
}

func NewClusterRegistry

func NewClusterRegistry(storeUrl string) *ClusterRegistry

func (*ClusterRegistry) Create

func (reg *ClusterRegistry) Create(cluster *Cluster, force bool) error

func (*ClusterRegistry) Delete

func (reg *ClusterRegistry) Delete(clusterName string) error

func (*ClusterRegistry) Exists

func (reg *ClusterRegistry) Exists(clusterName string) (bool, error)

func (*ClusterRegistry) Get

func (reg *ClusterRegistry) Get(clusterName string) (*Cluster, error)

func (*ClusterRegistry) GetFiles

func (reg *ClusterRegistry) GetFiles(clusterName string, role string) (*ClusterFiles, error)

func (*ClusterRegistry) List

func (reg *ClusterRegistry) List() ([]string, error)

func (*ClusterRegistry) SetFiles

func (reg *ClusterRegistry) SetFiles(clusterName string, role string, clusterFiles *ClusterFiles) error

type ClusterSecrets

type ClusterSecrets struct {
	PKIs         map[string]CertPair    `json:"pkis"`
	TokenSecrets map[string]TokenSecret `json:"tokenSecrets"`
}

ClusterSecrets stores PKI and token secrets used to secure the cluster

type ClusterSpec

type ClusterSpec struct {
	KubeVersion                    string                         `json:"kubeVersion"` // Version of Kubernetes
	MasterPublicName               string                         `json:"masterPublicName"`
	MasterPort                     int                            `json:"masterPort"`
	DNSDomain                      string                         `json:"dnsDomain"`
	PodCIDR                        string                         `json:"podCIDR"`
	ServiceCIDR                    string                         `json:"serviceCIDR"`
	DNSClusterIP                   string                         `json:"dnsClusterIP"`
	CloudProvider                  string                         `json:"cloudProvider"`
	CloudConfig                    string                         `json:"cloudConfig"`
	WorkerCloudConfig              string                         `json:"workerCloudConfig"`
	DockerOpts                     DockerOpts                     `json:"dockerOpts"`
	VSphereOpts                    VSphereOpts                    `json:"vsphereOpts"`
	PodSecurityPolicyOpts          PodSecurityPolicyOpts          `json:"podSecurityPolicyOpts"`
	AuthenticationTokenWebhookOpts AuthenticationTokenWebhookOpts `json:"authenticationTokenWebhookOpts"`
	EtcdCluster                    EtcdCluster                    `json:"etcdCluster"`
}

ClusterSpec is the spec that defines a the property of a cluster

type DockerOpts

type DockerOpts struct {
	InsecureRegistries []string `json:"insecureRegistries"`
	RegistryMirrors    []string `json:"registryMirrors"`
	KubeImageProxy     string   `json:"kubeImageProxy"`
}

DockerOpts is the configurable options for Docker

type EtcdCluster

type EtcdCluster struct {
	Members []EtcdMember `json:"members"`
}

EtcdCluster contains information about the ETCD cluster used by Kubernetes

type EtcdMember

type EtcdMember struct {
	Hostname string `json:"hostname"`
}

EtcdMember contains information about a single ETCD node of the ETCD cluster used by Kubernetes

type NodeFile

type NodeFile struct {
	Name    string `json:"name"`
	Version string `json:"version"`
}

NodeFile represents a specific version of the node config file template from asset files

func (NodeFile) String

func (a NodeFile) String() string

type PodSecurityPolicyOpts

type PodSecurityPolicyOpts struct {
	Enabled bool `json:"enabled"`
}

PodSecurityPolicyOpts is the configurable options for PodSecurityPolicy

type TokenSecret

type TokenSecret struct {
	Username string   `json:"username"`
	Token    string   `json:"token"`
	UID      int      `json:"uid"`
	Groups   []string `json:"groups"`
}

TokenSecret contains information about a bearing token used for apiserver authentication

type VSphereOpts

type VSphereOpts struct {
	Username   string `json:"username"`
	Password   string `json:"password"`
	Server     string `json:"server"`
	DataCenter string `json:"dataCenter"`
	DataStore  string `json:"dataStore"`
	WorkingDir string `json:"workingDir"`
}

VSphereOpts is the configuration options for when VSphere is used as the cloud provider

Jump to

Keyboard shortcuts

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