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
- Variables
- func New(s *cloud.Scope) cloud.Interface
- type ClusterActuator
- type ClusterActuatorParams
- type ClusterManager
- func (cm *ClusterManager) AddToManager(m manager.Manager) error
- func (cm *ClusterManager) ApplyDelete() error
- func (cm *ClusterManager) ApplyScale() error
- func (cm *ClusterManager) CreateCredentials(kc kubernetes.Interface) error
- func (cm *ClusterManager) EnsureMaster(leaderMachine *v1alpha1.Machine) error
- func (cm *ClusterManager) GetClusterAPIComponents() (string, error)
- func (cm *ClusterManager) GetDefaultMachineProviderSpec(sku string, role api.MachineRole) (v1alpha1.ProviderSpec, error)
- func (cm *ClusterManager) GetKubeConfig() (*api.KubeConfig, error)
- func (cm *ClusterManager) GetMasterSKU(totalNodes int32) string
- func (cm *ClusterManager) NewMasterTemplateData(machine *clusterapi.Machine, token string, td cloud.TemplateData) cloud.TemplateData
- func (cm *ClusterManager) NewNodeTemplateData(machine *clusterapi.Machine, token string, td cloud.TemplateData) cloud.TemplateData
- func (cm *ClusterManager) PrepareCloud() error
- func (cm *ClusterManager) SetCloudConnector() error
- func (cm *ClusterManager) SetDefaultCluster() error
- type LinodeClientKubeadm
- type MachineActuator
- func (li *MachineActuator) Create(ctx context.Context, cluster *clusterapi.Cluster, machine *clusterapi.Machine) error
- func (li *MachineActuator) Delete(_ context.Context, cluster *clusterapi.Cluster, machine *clusterapi.Machine) error
- func (li *MachineActuator) Exists(ctx context.Context, cluster *clusterapi.Cluster, machine *clusterapi.Machine) (bool, error)
- func (li *MachineActuator) Update(_ context.Context, cluster *clusterapi.Cluster, ...) error
- type MachineActuatorParams
Constants ¶
const ( UID = "linode" Recorder = "linode-controller" )
const ControllerManager = `` /* 6192-byte string literal not displayed */
Variables ¶
var AddToManagerFuncs []func(*ClusterManager, manager.Manager) error
AddToManagerFuncs is a list of functions to add all Controllers to the Manager
Functions ¶
Types ¶
type ClusterActuator ¶
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 ¶
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 ¶
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 }