Remove clusterctl command related functionality
It is not used anywhere anymore as commands themselves were deprecated and removed in favor of clusterctl move and init executors. Change-Id: I526f75d95b70754034f0846edfc9d3e468648ced
This commit is contained in:
parent
442f9965fb
commit
6cae709dba
@ -1,95 +0,0 @@
|
|||||||
/*
|
|
||||||
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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package cluster
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/spf13/cobra"
|
|
||||||
|
|
||||||
clusterctlcmd "opendev.org/airship/airshipctl/pkg/clusterctl/cmd"
|
|
||||||
"opendev.org/airship/airshipctl/pkg/config"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
initLong = `
|
|
||||||
Initialize cluster-api providers based on airshipctl document set.
|
|
||||||
document set must contain document of Kind: Clusterctl in phase initinfra.
|
|
||||||
Path to initinfra phase is defined in the initinfra phase document located
|
|
||||||
in the manifest repository.
|
|
||||||
Clusterctl document example:
|
|
||||||
---
|
|
||||||
apiVersion: airshipit.org/v1alpha1
|
|
||||||
kind: Clusterctl
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
airshipit.org/deploy-k8s: "false"
|
|
||||||
name: clusterctl-v1
|
|
||||||
init-options:
|
|
||||||
core-provider: "cluster-api:v0.3.3"
|
|
||||||
bootstrap-providers:
|
|
||||||
- "kubeadm:v0.3.3"
|
|
||||||
infrastructure-providers:
|
|
||||||
- "metal3:v0.3.1"
|
|
||||||
control-plane-providers:
|
|
||||||
- "kubeadm:v0.3.3"
|
|
||||||
providers:
|
|
||||||
- name: "metal3"
|
|
||||||
type: "InfrastructureProvider"
|
|
||||||
versions:
|
|
||||||
v0.3.1: manifests/function/capm3/v0.3.1
|
|
||||||
- name: "kubeadm"
|
|
||||||
type: "BootstrapProvider"
|
|
||||||
versions:
|
|
||||||
v0.3.3: manifests/function/cabpk/v0.3.3
|
|
||||||
- name: "cluster-api"
|
|
||||||
type: "CoreProvider"
|
|
||||||
versions:
|
|
||||||
v0.3.3: manifests/function/capi/v0.3.3
|
|
||||||
- name: "kubeadm"
|
|
||||||
type: "ControlPlaneProvider"
|
|
||||||
versions:
|
|
||||||
v0.3.3: manifests/function/cacpk/v0.3.3
|
|
||||||
`
|
|
||||||
|
|
||||||
initExample = `
|
|
||||||
# Initialize clusterctl providers and components
|
|
||||||
airshipctl cluster init
|
|
||||||
`
|
|
||||||
)
|
|
||||||
|
|
||||||
// NewInitCommand creates a command to deploy cluster-api
|
|
||||||
func NewInitCommand(cfgFactory config.Factory) *cobra.Command {
|
|
||||||
var kubeconfig string
|
|
||||||
initCmd := &cobra.Command{
|
|
||||||
Use: "init",
|
|
||||||
Short: "Deploy cluster-api provider components",
|
|
||||||
Long: initLong,
|
|
||||||
Example: initExample,
|
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
|
||||||
command, err := clusterctlcmd.NewCommand(cfgFactory, kubeconfig)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return command.Init()
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
initCmd.Flags().StringVar(
|
|
||||||
&kubeconfig,
|
|
||||||
"kubeconfig",
|
|
||||||
"",
|
|
||||||
"Path to kubeconfig associated with cluster being managed")
|
|
||||||
|
|
||||||
return initCmd
|
|
||||||
}
|
|
@ -1,35 +0,0 @@
|
|||||||
/*
|
|
||||||
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
|
|
||||||
|
|
||||||
https://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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package cluster_test
|
|
||||||
|
|
||||||
import (
|
|
||||||
"testing"
|
|
||||||
|
|
||||||
"opendev.org/airship/airshipctl/cmd/cluster"
|
|
||||||
"opendev.org/airship/airshipctl/testutil"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestNewClusterInitCmd(t *testing.T) {
|
|
||||||
tests := []*testutil.CmdTest{
|
|
||||||
{
|
|
||||||
Name: "cluster-init-cmd-with-help",
|
|
||||||
CmdLine: "--help",
|
|
||||||
Cmd: cluster.NewInitCommand(nil),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
for _, testcase := range tests {
|
|
||||||
testutil.RunTest(t, testcase)
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,63 +0,0 @@
|
|||||||
/*
|
|
||||||
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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package cluster
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/spf13/cobra"
|
|
||||||
|
|
||||||
clusterctlcmd "opendev.org/airship/airshipctl/pkg/clusterctl/cmd"
|
|
||||||
"opendev.org/airship/airshipctl/pkg/config"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
moveLong = `
|
|
||||||
Move Cluster API objects, provider specific objects and all dependencies to the target cluster.
|
|
||||||
|
|
||||||
Note: The destination cluster MUST have the required provider components installed.
|
|
||||||
`
|
|
||||||
|
|
||||||
moveExample = `
|
|
||||||
Move Cluster API objects, provider specific objects and all dependencies to the target cluster.
|
|
||||||
|
|
||||||
airshipctl cluster move --target-context <context name>
|
|
||||||
`
|
|
||||||
)
|
|
||||||
|
|
||||||
// NewMoveCommand creates a command to move capi and bmo resources to the target cluster
|
|
||||||
func NewMoveCommand(cfgFactory config.Factory) *cobra.Command {
|
|
||||||
var toKubeconfigContext, kubeconfig string
|
|
||||||
moveCmd := &cobra.Command{
|
|
||||||
Use: "move",
|
|
||||||
Short: "Move Cluster API objects, provider specific objects and all dependencies to the target cluster",
|
|
||||||
Long: moveLong[1:],
|
|
||||||
Example: moveExample,
|
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
|
||||||
command, err := clusterctlcmd.NewCommand(cfgFactory, kubeconfig)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return command.Move(toKubeconfigContext)
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
moveCmd.Flags().StringVar(
|
|
||||||
&kubeconfig,
|
|
||||||
"kubeconfig",
|
|
||||||
"",
|
|
||||||
"Path to kubeconfig associated with cluster being managed")
|
|
||||||
moveCmd.Flags().StringVar(&toKubeconfigContext, "target-context", "",
|
|
||||||
"Context to be used within the kubeconfig file for the target cluster. If empty, current context will be used.")
|
|
||||||
return moveCmd
|
|
||||||
}
|
|
@ -1,35 +0,0 @@
|
|||||||
/*
|
|
||||||
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
|
|
||||||
|
|
||||||
https://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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package cluster_test
|
|
||||||
|
|
||||||
import (
|
|
||||||
"testing"
|
|
||||||
|
|
||||||
"opendev.org/airship/airshipctl/cmd/cluster"
|
|
||||||
"opendev.org/airship/airshipctl/testutil"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestNewClusterMoveCmd(t *testing.T) {
|
|
||||||
tests := []*testutil.CmdTest{
|
|
||||||
{
|
|
||||||
Name: "cluster-move-cmd-with-help",
|
|
||||||
CmdLine: "--help",
|
|
||||||
Cmd: cluster.NewMoveCommand(nil),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
for _, testcase := range tests {
|
|
||||||
testutil.RunTest(t, testcase)
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,51 +0,0 @@
|
|||||||
|
|
||||||
Initialize cluster-api providers based on airshipctl document set.
|
|
||||||
document set must contain document of Kind: Clusterctl in phase initinfra.
|
|
||||||
Path to initinfra phase is defined in the initinfra phase document located
|
|
||||||
in the manifest repository.
|
|
||||||
Clusterctl document example:
|
|
||||||
---
|
|
||||||
apiVersion: airshipit.org/v1alpha1
|
|
||||||
kind: Clusterctl
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
airshipit.org/deploy-k8s: "false"
|
|
||||||
name: clusterctl-v1
|
|
||||||
init-options:
|
|
||||||
core-provider: "cluster-api:v0.3.3"
|
|
||||||
bootstrap-providers:
|
|
||||||
- "kubeadm:v0.3.3"
|
|
||||||
infrastructure-providers:
|
|
||||||
- "metal3:v0.3.1"
|
|
||||||
control-plane-providers:
|
|
||||||
- "kubeadm:v0.3.3"
|
|
||||||
providers:
|
|
||||||
- name: "metal3"
|
|
||||||
type: "InfrastructureProvider"
|
|
||||||
versions:
|
|
||||||
v0.3.1: manifests/function/capm3/v0.3.1
|
|
||||||
- name: "kubeadm"
|
|
||||||
type: "BootstrapProvider"
|
|
||||||
versions:
|
|
||||||
v0.3.3: manifests/function/cabpk/v0.3.3
|
|
||||||
- name: "cluster-api"
|
|
||||||
type: "CoreProvider"
|
|
||||||
versions:
|
|
||||||
v0.3.3: manifests/function/capi/v0.3.3
|
|
||||||
- name: "kubeadm"
|
|
||||||
type: "ControlPlaneProvider"
|
|
||||||
versions:
|
|
||||||
v0.3.3: manifests/function/cacpk/v0.3.3
|
|
||||||
|
|
||||||
Usage:
|
|
||||||
init [flags]
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
|
|
||||||
# Initialize clusterctl providers and components
|
|
||||||
airshipctl cluster init
|
|
||||||
|
|
||||||
|
|
||||||
Flags:
|
|
||||||
-h, --help help for init
|
|
||||||
--kubeconfig string Path to kubeconfig associated with cluster being managed
|
|
@ -1,18 +0,0 @@
|
|||||||
Move Cluster API objects, provider specific objects and all dependencies to the target cluster.
|
|
||||||
|
|
||||||
Note: The destination cluster MUST have the required provider components installed.
|
|
||||||
|
|
||||||
Usage:
|
|
||||||
move [flags]
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
|
|
||||||
Move Cluster API objects, provider specific objects and all dependencies to the target cluster.
|
|
||||||
|
|
||||||
airshipctl cluster move --target-context <context name>
|
|
||||||
|
|
||||||
|
|
||||||
Flags:
|
|
||||||
-h, --help help for move
|
|
||||||
--kubeconfig string Path to kubeconfig associated with cluster being managed
|
|
||||||
--target-context string Context to be used within the kubeconfig file for the target cluster. If empty, current context will be used.
|
|
@ -1,107 +0,0 @@
|
|||||||
/*
|
|
||||||
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
|
|
||||||
|
|
||||||
https://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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package cmd
|
|
||||||
|
|
||||||
import (
|
|
||||||
airshipv1 "opendev.org/airship/airshipctl/pkg/api/v1alpha1"
|
|
||||||
"opendev.org/airship/airshipctl/pkg/clusterctl/client"
|
|
||||||
"opendev.org/airship/airshipctl/pkg/config"
|
|
||||||
"opendev.org/airship/airshipctl/pkg/document"
|
|
||||||
"opendev.org/airship/airshipctl/pkg/log"
|
|
||||||
"opendev.org/airship/airshipctl/pkg/phase"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Command adds a layer to clusterctl interface with airshipctl context
|
|
||||||
type Command struct {
|
|
||||||
kubeconfigPath string
|
|
||||||
kubeconfigContext string
|
|
||||||
documentRoot string
|
|
||||||
client client.Interface
|
|
||||||
options *airshipv1.Clusterctl
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewCommand returns instance of Command
|
|
||||||
func NewCommand(cfgFactory config.Factory, kubeconfig string) (*Command, error) {
|
|
||||||
cfg, err := cfgFactory()
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
bundle, err := getBundle(cfg)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
root, err := cfg.CurrentContextTargetPath()
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
options, err := clusterctlOptions(bundle)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
client, err := client.NewClient(root, log.DebugEnabled(), options)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return &Command{
|
|
||||||
kubeconfigPath: kubeconfig,
|
|
||||||
documentRoot: root,
|
|
||||||
client: client,
|
|
||||||
options: options,
|
|
||||||
kubeconfigContext: cfg.CurrentContext,
|
|
||||||
}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Init runs clusterctl init
|
|
||||||
func (c *Command) Init() error {
|
|
||||||
log.Printf("config %s \n context %s", c.kubeconfigPath, c.kubeconfigContext)
|
|
||||||
return c.client.Init(c.kubeconfigPath, c.kubeconfigContext)
|
|
||||||
}
|
|
||||||
|
|
||||||
func clusterctlOptions(bundle document.Bundle) (*airshipv1.Clusterctl, error) {
|
|
||||||
cctl := &airshipv1.Clusterctl{}
|
|
||||||
selector, err := document.NewSelector().ByObject(cctl, airshipv1.Scheme)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
doc, err := bundle.SelectOne(selector)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := doc.ToAPIObject(cctl, airshipv1.Scheme); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return cctl, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func getBundle(conf *config.Config) (document.Bundle, error) {
|
|
||||||
helper, err := phase.NewHelper(conf)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return document.NewBundleByPath(helper.PhaseBundleRoot())
|
|
||||||
}
|
|
||||||
|
|
||||||
// Move runs clusterctl move
|
|
||||||
func (c *Command) Move(toKubeconfigContext string) error {
|
|
||||||
if c.options.MoveOptions != nil {
|
|
||||||
return c.client.Move(c.kubeconfigPath, c.kubeconfigContext,
|
|
||||||
c.kubeconfigPath, toKubeconfigContext, c.options.MoveOptions.Namespace)
|
|
||||||
}
|
|
||||||
return c.client.Move(c.kubeconfigPath, c.kubeconfigContext, c.kubeconfigPath, toKubeconfigContext, "")
|
|
||||||
}
|
|
@ -1,126 +0,0 @@
|
|||||||
/*
|
|
||||||
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
|
|
||||||
|
|
||||||
https://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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package cmd
|
|
||||||
|
|
||||||
import (
|
|
||||||
"testing"
|
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
"github.com/stretchr/testify/require"
|
|
||||||
|
|
||||||
"opendev.org/airship/airshipctl/pkg/config"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
manifestName = "dummy_manifest"
|
|
||||||
validContext = "dummy_cluster"
|
|
||||||
)
|
|
||||||
|
|
||||||
// TODO (kkalynovskyi) expand test cases
|
|
||||||
func TestNewCommand(t *testing.T) {
|
|
||||||
airshipConfigPath := "testdata/airshipconfig.yaml"
|
|
||||||
cfg, err := config.CreateFactory(&airshipConfigPath)()
|
|
||||||
require.NoError(t, err)
|
|
||||||
|
|
||||||
tests := []struct {
|
|
||||||
name string
|
|
||||||
expectErr bool
|
|
||||||
currentContext string
|
|
||||||
manifests map[string]*config.Manifest
|
|
||||||
}{
|
|
||||||
{
|
|
||||||
name: "default success",
|
|
||||||
currentContext: validContext,
|
|
||||||
manifests: map[string]*config.Manifest{
|
|
||||||
manifestName: {
|
|
||||||
TargetPath: "testdata",
|
|
||||||
PhaseRepositoryName: "primary",
|
|
||||||
MetadataPath: "metadata.yaml",
|
|
||||||
Repositories: map[string]*config.Repository{
|
|
||||||
"primary": {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Bundle build failure",
|
|
||||||
currentContext: validContext,
|
|
||||||
expectErr: true,
|
|
||||||
manifests: map[string]*config.Manifest{
|
|
||||||
manifestName: {
|
|
||||||
TargetPath: "testdata",
|
|
||||||
PhaseRepositoryName: "primary",
|
|
||||||
Repositories: map[string]*config.Repository{
|
|
||||||
"primary": {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "invalid clusterctl kind",
|
|
||||||
currentContext: validContext,
|
|
||||||
expectErr: true,
|
|
||||||
manifests: map[string]*config.Manifest{
|
|
||||||
manifestName: {
|
|
||||||
TargetPath: "testdata",
|
|
||||||
PhaseRepositoryName: "primary",
|
|
||||||
Repositories: map[string]*config.Repository{
|
|
||||||
"primary": {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "no phase repo",
|
|
||||||
expectErr: true,
|
|
||||||
manifests: map[string]*config.Manifest{
|
|
||||||
manifestName: {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "cant find context",
|
|
||||||
currentContext: "invalid-context",
|
|
||||||
expectErr: true,
|
|
||||||
manifests: map[string]*config.Manifest{
|
|
||||||
manifestName: {
|
|
||||||
TargetPath: "testdata",
|
|
||||||
PhaseRepositoryName: "primary",
|
|
||||||
Repositories: map[string]*config.Repository{
|
|
||||||
"primary": {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
for _, tt := range tests {
|
|
||||||
expectErr := tt.expectErr
|
|
||||||
manifests := tt.manifests
|
|
||||||
cfg.Manifests = manifests
|
|
||||||
context := tt.currentContext
|
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
|
||||||
cfg.Manifests = manifests
|
|
||||||
cfg.CurrentContext = context
|
|
||||||
command, err := NewCommand(func() (*config.Config, error) {
|
|
||||||
return cfg, nil
|
|
||||||
}, "")
|
|
||||||
if expectErr {
|
|
||||||
assert.Error(t, err)
|
|
||||||
assert.Nil(t, command)
|
|
||||||
} else {
|
|
||||||
require.NoError(t, err)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
22
pkg/clusterctl/cmd/testdata/airshipconfig.yaml
vendored
22
pkg/clusterctl/cmd/testdata/airshipconfig.yaml
vendored
@ -1,22 +0,0 @@
|
|||||||
apiVersion: airshipit.org/v1alpha1
|
|
||||||
contexts:
|
|
||||||
dummy_cluster:
|
|
||||||
contextKubeconf: dummycluster_ephemeral
|
|
||||||
manifest: dummy_manifest
|
|
||||||
currentContext: dummy_cluster
|
|
||||||
kind: Config
|
|
||||||
manifests:
|
|
||||||
dummy_manifest:
|
|
||||||
phaseRepositoryName: primary
|
|
||||||
repositories:
|
|
||||||
primary:
|
|
||||||
auth:
|
|
||||||
sshKey: testdata/test-key.pem
|
|
||||||
type: ssh-key
|
|
||||||
checkout:
|
|
||||||
branch: ""
|
|
||||||
force: false
|
|
||||||
remoteRef: ""
|
|
||||||
tag: v1.0.1
|
|
||||||
url: http://dummy.url.com/primary.git
|
|
||||||
targetPath: testdata
|
|
19
pkg/clusterctl/cmd/testdata/kubeconfig.yaml
vendored
19
pkg/clusterctl/cmd/testdata/kubeconfig.yaml
vendored
@ -1,19 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
clusters:
|
|
||||||
- cluster:
|
|
||||||
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRFNU1Ea3lPVEUzTURNd09Wb1hEVEk1TURreU5qRTNNRE13T1Zvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTUZyCkdxM0kyb2dZci81Y01Udy9Na1pORTNWQURzdEdyU240WjU2TDhPUGhMcUhDN2t1dno2dVpES3dCSGtGeTBNK2MKRXIzd2piUGE1aTV5NmkyMGtxSHBVMjdPZTA0dzBXV2s4N0RSZVlWaGNoZVJHRXoraWt3SndIcGRmMjJVemZNKwpkSDBzaUhuMVd6UnovYk4za3hMUzJlMnZ2U1Y3bmNubk1YRUd4OXV0MUY0NThHeWxxdmxXTUlWMzg5Q2didXFDCkcwcFdiMTBLM0RVZWdiT25Xa1FmSm5sTWRRVVZDUVdZZEZaaklrcWtkWi9hVTRobkNEV01oZXNWRnFNaDN3VVAKczhQay9BNWh1ZFFPbnFRNDVIWXZLdjZ5RjJWcDUyWExBRUx3NDJ4aVRKZlh0V1h4eHR6cU4wY1lyL2VxeS9XMQp1YVVGSW5xQjFVM0JFL1oxbmFrQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFKUUVKQVBLSkFjVDVuK3dsWGJsdU9mS0J3c2gKZTI4R1c5R2QwM0N0NGF3RzhzMXE1ZHNua2tpZmVTUENHVFZ1SXF6UTZDNmJaSk9SMDMvVEl5ejh6NDJnaitDVApjWUZXZkltM2RKTnpRL08xWkdySXZZNWdtcWJtWDlpV0JaU24rRytEOGxubzd2aGMvY0tBRFR5OTMvVU92MThuCkdhMnIrRGJJcHcyTWVBVEl2elpxRS9RWlVSQ25DMmdjUFhTVzFqN2h4R3o1a3ZNcGVDZTdQYVUvdVFvblVHSWsKZ2t6ZzI4NHQvREhUUzc4N1V1SUg5cXBaV09yTFNMOGFBeUxQUHhWSXBteGZmbWRETE9TS2VUemRlTmxoSitUMwowQlBVaHBQTlJBNTNJN0hRQjhVUDR2elNONTkzZ1VFbVlFQ2Jic2RYSzB6ZVR6SDdWWHR2Zmd5WTVWWT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
|
|
||||||
server: https://127.0.0.1:6443
|
|
||||||
name: dummycluster_ephemeral
|
|
||||||
contexts:
|
|
||||||
- context:
|
|
||||||
cluster: dummycluster_ephemeral
|
|
||||||
user: kubernetes-admin
|
|
||||||
name: dummy_cluster
|
|
||||||
current-context: dummy_cluster
|
|
||||||
kind: Config
|
|
||||||
preferences: {}
|
|
||||||
users:
|
|
||||||
- name: kubernetes-admin
|
|
||||||
user:
|
|
||||||
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM4akNDQWRxZ0F3SUJBZ0lJQXhEdzk2RUY4SXN3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB4T1RBNU1qa3hOekF6TURsYUZ3MHlNREE1TWpneE56QXpNVEphTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXV6R0pZdlBaNkRvaTQyMUQKSzhXSmFaQ25OQWQycXo1cC8wNDJvRnpRUGJyQWd6RTJxWVZrek9MOHhBVmVSN1NONXdXb1RXRXlGOEVWN3JyLwo0K0hoSEdpcTVQbXF1SUZ5enpuNi9JWmM4alU5eEVmenZpa2NpckxmVTR2UlhKUXdWd2dBU05sMkFXQUloMmRECmRUcmpCQ2ZpS1dNSHlqMFJiSGFsc0J6T3BnVC9IVHYzR1F6blVRekZLdjJkajVWMU5rUy9ESGp5UlJKK0VMNlEKQlltR3NlZzVQNE5iQzllYnVpcG1NVEFxL0p1bU9vb2QrRmpMMm5acUw2Zkk2ZkJ0RjVPR2xwQ0IxWUo4ZnpDdApHUVFaN0hUSWJkYjJ0cDQzRlZPaHlRYlZjSHFUQTA0UEoxNSswV0F5bVVKVXo4WEE1NDRyL2J2NzRKY0pVUkZoCmFyWmlRd0lEQVFBQm95Y3dKVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFMMmhIUmVibEl2VHJTMFNmUVg1RG9ueVVhNy84aTg1endVWApSd3dqdzFuS0U0NDJKbWZWRGZ5b0hRYUM4Ti9MQkxyUXM0U0lqU1JYdmFHU1dSQnRnT1RRV21Db1laMXdSbjdwCndDTXZQTERJdHNWWm90SEZpUFl2b1lHWFFUSXA3YlROMmg1OEJaaEZ3d25nWUovT04zeG1rd29IN1IxYmVxWEYKWHF1TTluekhESk41VlZub1lQR09yRHMwWlg1RnNxNGtWVU0wVExNQm9qN1ZIRDhmU0E5RjRYNU4yMldsZnNPMAo4aksrRFJDWTAyaHBrYTZQQ0pQS0lNOEJaMUFSMG9ZakZxT0plcXpPTjBqcnpYWHh4S2pHVFVUb1BldVA5dCtCCjJOMVA1TnI4a2oxM0lrend5Q1NZclFVN09ZM3ltZmJobHkrcXZxaFVFa014MlQ1SkpmQT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
|
|
||||||
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBdXpHSll2UFo2RG9pNDIxREs4V0phWkNuTkFkMnF6NXAvMDQyb0Z6UVBickFnekUyCnFZVmt6T0w4eEFWZVI3U041d1dvVFdFeUY4RVY3cnIvNCtIaEhHaXE1UG1xdUlGeXp6bjYvSVpjOGpVOXhFZnoKdmlrY2lyTGZVNHZSWEpRd1Z3Z0FTTmwyQVdBSWgyZERkVHJqQkNmaUtXTUh5ajBSYkhhbHNCek9wZ1QvSFR2MwpHUXpuVVF6Rkt2MmRqNVYxTmtTL0RIanlSUkorRUw2UUJZbUdzZWc1UDROYkM5ZWJ1aXBtTVRBcS9KdW1Pb29kCitGakwyblpxTDZmSTZmQnRGNU9HbHBDQjFZSjhmekN0R1FRWjdIVEliZGIydHA0M0ZWT2h5UWJWY0hxVEEwNFAKSjE1KzBXQXltVUpVejhYQTU0NHIvYnY3NEpjSlVSRmhhclppUXdJREFRQUJBb0lCQVFDU0pycjlaeVpiQ2dqegpSL3VKMFZEWCt2aVF4c01BTUZyUjJsOE1GV3NBeHk1SFA4Vk4xYmc5djN0YUVGYnI1U3hsa3lVMFJRNjNQU25DCm1uM3ZqZ3dVQWlScllnTEl5MGk0UXF5VFBOU1V4cnpTNHRxTFBjM3EvSDBnM2FrNGZ2cSsrS0JBUUlqQnloamUKbnVFc1JpMjRzT3NESlM2UDE5NGlzUC9yNEpIM1M5bFZGbkVuOGxUR2c0M1kvMFZoMXl0cnkvdDljWjR5ZUNpNwpjMHFEaTZZcXJZaFZhSW9RRW1VQjdsbHRFZkZzb3l4VDR6RTE5U3pVbkRoMmxjYTF1TzhqcmI4d2xHTzBoQ2JyClB1R1l2WFFQa3Q0VlNmalhvdGJ3d2lBNFRCVERCRzU1bHp6MmNKeS9zSS8zSHlYbEMxcTdXUmRuQVhhZ1F0VzkKOE9DZGRkb0JBb0dCQU5NcUNtSW94REtyckhZZFRxT1M1ZFN4cVMxL0NUN3ZYZ0pScXBqd2Y4WHA2WHo0KzIvTAozVXFaVDBEL3dGTkZkc1Z4eFYxMnNYMUdwMHFWZVlKRld5OVlCaHVSWGpTZ0ZEWldSY1Z1Y01sNVpPTmJsbmZGCjVKQ0xnNXFMZ1g5VTNSRnJrR3A0R241UDQxamg4TnhKVlhzZG5xWE9xNTFUK1RRT1UzdkpGQjc1QW9HQkFPTHcKalp1cnZtVkZyTHdaVGgvRDNpWll5SVV0ZUljZ2NKLzlzbTh6L0pPRmRIbFd4dGRHUFVzYVd1MnBTNEhvckFtbgpqTm4vSTluUXd3enZ3MWUzVVFPbUhMRjVBczk4VU5hbk5TQ0xNMW1yaXZHRXJ1VHFnTDM1bU41eFZPdTUxQU5JCm4yNkFtODBJT2JDeEtLa0R0ZXJSaFhHd3g5c1pONVJCbG9VRThZNGJBb0dBQ3ZsdVhMZWRxcng5VkE0bDNoNXUKVDJXRVUxYjgxZ1orcmtRc1I1S0lNWEw4cllBTElUNUpHKzFuendyN3BkaEFXZmFWdVV2SDRhamdYT0h6MUs5aQpFODNSVTNGMG9ldUg0V01PY1RwU0prWm0xZUlXcWRiaEVCb1FGdUlWTXRib1BsV0d4ZUhFRHJoOEtreGp4aThSCmdEcUQyajRwY1IzQ0g5QjJ5a0lqQjVFQ2dZRUExc0xXLys2enE1c1lNSm14K1JXZThhTXJmL3pjQnVTSU1LQWgKY0dNK0wwMG9RSHdDaUU4TVNqcVN1ajV3R214YUFuanhMb3ZwSFlRV1VmUEVaUW95UE1YQ2VhRVBLOU4xbk8xMwp0V2lHRytIZkIxaU5PazFCc0lhNFNDbndOM1FRVTFzeXBaeEgxT3hueS9LYmkvYmEvWEZ5VzNqMGFUK2YvVWxrCmJGV1ZVdWtDZ1lFQTBaMmRTTFlmTjV5eFNtYk5xMWVqZXdWd1BjRzQxR2hQclNUZEJxdHFac1doWGE3aDdLTWEKeHdvamh5SXpnTXNyK2tXODdlajhDQ2h0d21sQ1p5QU92QmdOZytncnJ1cEZLM3FOSkpKeU9YREdHckdpbzZmTQp5aXB3Q2tZVGVxRThpZ1J6UkI5QkdFUGY4eVpjMUtwdmZhUDVhM0lRZmxiV0czbGpUemNNZVZjPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
|
|
2
pkg/clusterctl/cmd/testdata/metadata.yaml
vendored
2
pkg/clusterctl/cmd/testdata/metadata.yaml
vendored
@ -1,2 +0,0 @@
|
|||||||
phase:
|
|
||||||
path: phases
|
|
@ -1,22 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: airshipit.org/v1alpha1
|
|
||||||
kind: WrongKind
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
airshipit.org/deploy-k8s: "false"
|
|
||||||
name: clusterctl-v1
|
|
||||||
init-options: {}
|
|
||||||
providers:
|
|
||||||
- name: "aws"
|
|
||||||
type: "InfrastructureProvider"
|
|
||||||
url: "/manifests/capi/infra/aws/v0.3.0"
|
|
||||||
clusterctl-repository: true
|
|
||||||
- name: "custom-infra"
|
|
||||||
type: "InfrastructureProvider"
|
|
||||||
url: "/manifests/capi/custom-infra/aws/v0.3.0"
|
|
||||||
clusterctl-repository: true
|
|
||||||
- name: "custom-airship-infra"
|
|
||||||
type: "InfrastructureProvider"
|
|
||||||
versions:
|
|
||||||
v0.3.1: functions/capi/infrastructure/v0.3.1
|
|
||||||
v0.3.2: functions/capi/infrastructure/v0.3.2
|
|
@ -1,2 +0,0 @@
|
|||||||
resources:
|
|
||||||
- invalid-clusterctl.yaml
|
|
@ -1,11 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: airshipit.org/v1alpha1
|
|
||||||
kind: ClusterMap
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
airshipit.org/deploy-k8s: "false"
|
|
||||||
name: main-map
|
|
||||||
map:
|
|
||||||
target-cluster:
|
|
||||||
parent: ephemeral-cluster
|
|
||||||
ephemeral-cluster: {}
|
|
@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: airshipit.org/v1alpha1
|
|
||||||
kind: Clusterctl
|
|
||||||
metadata:
|
|
||||||
name: clusterctl_init
|
|
||||||
action: init
|
|
@ -1,4 +0,0 @@
|
|||||||
resources:
|
|
||||||
- phases.yaml
|
|
||||||
- executors.yaml
|
|
||||||
- cluster-map.yaml
|
|
12
pkg/clusterctl/cmd/testdata/phases/phases.yaml
vendored
12
pkg/clusterctl/cmd/testdata/phases/phases.yaml
vendored
@ -1,12 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: airshipit.org/v1alpha1
|
|
||||||
kind: Phase
|
|
||||||
metadata:
|
|
||||||
name: phase
|
|
||||||
clusterName: ephemeral-cluster
|
|
||||||
config:
|
|
||||||
executorRef:
|
|
||||||
apiVersion: airshipit.org/v1alpha1
|
|
||||||
kind: KubernetesApply
|
|
||||||
name: kubernetes-apply
|
|
||||||
documentEntryPoint: ephemeral/initinfra
|
|
@ -1,22 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: airshipit.org/v1alpha1
|
|
||||||
kind: Clusterctl
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
airshipit.org/deploy-k8s: "false"
|
|
||||||
name: clusterctl-v1
|
|
||||||
init-options: {}
|
|
||||||
providers:
|
|
||||||
- name: "aws"
|
|
||||||
type: "InfrastructureProvider"
|
|
||||||
url: "/manifests/capi/infra/aws/v0.3.0"
|
|
||||||
clusterctl-repository: true
|
|
||||||
- name: "custom-infra"
|
|
||||||
type: "InfrastructureProvider"
|
|
||||||
url: "/manifests/capi/custom-infra/aws/v0.3.0"
|
|
||||||
clusterctl-repository: true
|
|
||||||
- name: "custom-airship-infra"
|
|
||||||
type: "InfrastructureProvider"
|
|
||||||
versions:
|
|
||||||
v0.3.1: functions/capi/infrastructure/v0.3.1
|
|
||||||
v0.3.2: functions/capi/infrastructure/v0.3.2
|
|
@ -1,2 +0,0 @@
|
|||||||
resources:
|
|
||||||
- clusterctl.yaml
|
|
Loading…
Reference in New Issue
Block a user