linode

package
v0.5.2 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 2019 License: Apache-2.0 Imports: 35 Imported by: 0

Documentation

Overview

Copyright The Pharmer Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The Pharmer Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The Pharmer Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The Pharmer Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The Pharmer Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The Pharmer Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The Pharmer Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The Pharmer Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The Pharmer Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright The Pharmer Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

View Source
const (
	UID      = "linode"
	Recorder = "linode-controller"
)
View Source
const ControllerManager = `` /* 6192-byte string literal not displayed */

Variables

View Source
var AddToManagerFuncs []func(*ClusterManager, manager.Manager) error

AddToManagerFuncs is a list of functions to add all Controllers to the Manager

Functions

func New

func New(s *cloud.Scope) cloud.Interface

Types

type ClusterActuator

type ClusterActuator struct {
	logr.Logger
	// contains filtered or unexported fields
}

func NewClusterActuator

func NewClusterActuator(m manager.Manager, params ClusterActuatorParams) *ClusterActuator

func (*ClusterActuator) Delete

func (ca *ClusterActuator) Delete(cluster *clusterapi.Cluster) error

func (*ClusterActuator) Reconcile

func (ca *ClusterActuator) Reconcile(cluster *clusterapi.Cluster) error

type ClusterActuatorParams

type ClusterActuatorParams struct {
	EventRecorder record.EventRecorder
	Scheme        *runtime.Scheme
	// contains filtered or unexported fields
}

type ClusterManager

type ClusterManager struct {
	*cloud.Scope
	// contains filtered or unexported fields
}

func (*ClusterManager) AddToManager

func (cm *ClusterManager) AddToManager(m manager.Manager) error

AddToManager adds all Controllers to the Manager

func (*ClusterManager) ApplyDelete

func (cm *ClusterManager) ApplyDelete() error

Deletes master(s) and releases other cloud resources

func (*ClusterManager) ApplyScale

func (cm *ClusterManager) ApplyScale() error

func (*ClusterManager) CreateCredentials

func (cm *ClusterManager) CreateCredentials(kc kubernetes.Interface) error

func (*ClusterManager) EnsureMaster

func (cm *ClusterManager) EnsureMaster(leaderMachine *v1alpha1.Machine) error

Ensures that the master is up and running

func (*ClusterManager) GetClusterAPIComponents

func (cm *ClusterManager) GetClusterAPIComponents() (string, error)

func (*ClusterManager) GetDefaultMachineProviderSpec

func (cm *ClusterManager) GetDefaultMachineProviderSpec(sku string, role api.MachineRole) (v1alpha1.ProviderSpec, error)

func (*ClusterManager) GetKubeConfig

func (cm *ClusterManager) GetKubeConfig() (*api.KubeConfig, error)

func (*ClusterManager) GetMasterSKU

func (cm *ClusterManager) GetMasterSKU(totalNodes int32) string

Returns the maser SKU

func (*ClusterManager) NewMasterTemplateData

func (cm *ClusterManager) NewMasterTemplateData(machine *clusterapi.Machine, token string, td cloud.TemplateData) cloud.TemplateData

func (*ClusterManager) NewNodeTemplateData

func (cm *ClusterManager) NewNodeTemplateData(machine *clusterapi.Machine, token string, td cloud.TemplateData) cloud.TemplateData

func (*ClusterManager) PrepareCloud

func (cm *ClusterManager) PrepareCloud() error

Prepares cloud infrastructure

func (*ClusterManager) SetCloudConnector

func (cm *ClusterManager) SetCloudConnector() error

func (*ClusterManager) SetDefaultCluster

func (cm *ClusterManager) SetDefaultCluster() error

type LinodeClientKubeadm

type LinodeClientKubeadm interface {
	TokenCreate(params kubeadm.TokenCreateParams) (string, error)
}

type MachineActuator

type MachineActuator struct {
	logr.Logger
	// contains filtered or unexported fields
}

func NewMachineActuator

func NewMachineActuator(params MachineActuatorParams) *MachineActuator

func (*MachineActuator) Create

func (li *MachineActuator) Create(ctx context.Context, cluster *clusterapi.Cluster, machine *clusterapi.Machine) error

func (*MachineActuator) Delete

func (li *MachineActuator) Delete(_ context.Context, cluster *clusterapi.Cluster, machine *clusterapi.Machine) error

func (*MachineActuator) Exists

func (li *MachineActuator) Exists(ctx context.Context, cluster *clusterapi.Cluster, machine *clusterapi.Machine) (bool, error)

func (*MachineActuator) Update

func (li *MachineActuator) Update(_ context.Context, cluster *clusterapi.Cluster, goalMachine *clusterapi.Machine) error

type MachineActuatorParams

type MachineActuatorParams struct {
	Kubeadm LinodeClientKubeadm
	Client  client.Client

	EventRecorder record.EventRecorder
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

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