AB#2064 Feat/config/dev config to config (#139)

Renamed dev-config to config, additionally changed cdbg config to yaml.
This commit is contained in:
Fabian Kammel 2022-05-13 11:56:43 +02:00 committed by GitHub
parent fde7304d78
commit 83857b142c
20 changed files with 175 additions and 189 deletions

View file

@ -68,7 +68,7 @@ func create(cmd *cobra.Command, creator cloudCreator, fileHandler file.Handler,
return err
}
config, err := config.FromFile(fileHandler, flags.devConfigPath)
config, err := config.FromFile(fileHandler, flags.configPath)
if err != nil {
return err
}
@ -146,7 +146,7 @@ func parseCreateFlags(cmd *cobra.Command, provider cloudprovider.Provider) (crea
return createFlags{}, err
}
devConfigPath, err := cmd.Flags().GetString("dev-config")
configPath, err := cmd.Flags().GetString("config")
if err != nil {
return createFlags{}, err
}
@ -156,7 +156,7 @@ func parseCreateFlags(cmd *cobra.Command, provider cloudprovider.Provider) (crea
workerCount: workerCount,
insType: insType,
name: name,
devConfigPath: devConfigPath,
configPath: configPath,
yes: yes,
}, nil
}
@ -167,7 +167,7 @@ type createFlags struct {
workerCount int
insType string
name string
devConfigPath string
configPath string
yes bool
}

View file

@ -57,7 +57,7 @@ func TestCreate(t *testing.T) {
controllerCountFlag *int
workerCountFlag *int
insTypeFlag string
devConfigFlag string
configFlag string
nameFlag string
stdin string
wantErr bool
@ -187,14 +187,14 @@ func TestCreate(t *testing.T) {
yesFlag: true,
wantErr: true,
},
"dev config does not exist": {
"config does not exist": {
setupFs: func(require *require.Assertions) afero.Fs { return afero.NewMemMapFs() },
creator: &stubCloudCreator{},
provider: cloudprovider.GCP,
controllerCountFlag: intPtr(1),
workerCountFlag: intPtr(1),
yesFlag: true,
devConfigFlag: "dev-config.json",
configFlag: constants.ConfigFilename,
wantErr: true,
},
"create error": {
@ -229,15 +229,15 @@ func TestCreate(t *testing.T) {
cmd.SetOut(&bytes.Buffer{})
cmd.SetErr(&bytes.Buffer{})
cmd.SetIn(bytes.NewBufferString(tc.stdin))
cmd.Flags().String("dev-config", "", "") // register persisten flag manually
cmd.Flags().String("config", "", "") // register persisten flag manually
if tc.yesFlag {
require.NoError(cmd.Flags().Set("yes", "true"))
}
if tc.nameFlag != "" {
require.NoError(cmd.Flags().Set("name", tc.nameFlag))
}
if tc.devConfigFlag != "" {
require.NoError(cmd.Flags().Set("dev-config", tc.devConfigFlag))
if tc.configFlag != "" {
require.NoError(cmd.Flags().Set("config", tc.configFlag))
}
if tc.controllerCountFlag != nil {
require.NoError(cmd.Flags().Set("control-plane-nodes", strconv.Itoa(*tc.controllerCountFlag)))

View file

@ -72,7 +72,7 @@ func initialize(ctx context.Context, cmd *cobra.Command, protCl protoClient, ser
return err
}
config, err := config.FromFile(fileHandler, flags.devConfigPath)
config, err := config.FromFile(fileHandler, flags.configPath)
if err != nil {
return err
}
@ -290,13 +290,13 @@ func evalFlagArgs(cmd *cobra.Command, fileHandler file.Handler) (initFlags, erro
if err != nil {
return initFlags{}, err
}
devConfigPath, err := cmd.Flags().GetString("dev-config")
configPath, err := cmd.Flags().GetString("config")
if err != nil {
return initFlags{}, err
}
return initFlags{
devConfigPath: devConfigPath,
configPath: configPath,
userPrivKey: userPrivKey,
userPubKey: userPubKey,
autoconfigureWG: autoconfigureWG,
@ -307,7 +307,7 @@ func evalFlagArgs(cmd *cobra.Command, fileHandler file.Handler) (initFlags, erro
// initFlags are the resulting values of flag preprocessing.
type initFlags struct {
devConfigPath string
configPath string
userPrivKey []byte
userPubKey []byte
masterSecret []byte

View file

@ -296,7 +296,7 @@ func TestInitialize(t *testing.T) {
cmd.SetOut(&out)
var errOut bytes.Buffer
cmd.SetErr(&errOut)
cmd.Flags().String("dev-config", "", "") // register persisten flag manually
cmd.Flags().String("config", "", "") // register persisten flag manually
fs := afero.NewMemMapFs()
fileHandler := file.NewHandler(fs)
require.NoError(fileHandler.WriteJSON(constants.StateFilename, tc.existingState, file.OptNone))
@ -603,7 +603,7 @@ func TestAutoscaleFlag(t *testing.T) {
cmd.SetOut(&out)
var errOut bytes.Buffer
cmd.SetErr(&errOut)
cmd.Flags().String("dev-config", "", "") // register persisten flag manually
cmd.Flags().String("config", "", "") // register persisten flag manually
fs := afero.NewMemMapFs()
fileHandler := file.NewHandler(fs)
vpnHandler := stubVPNHandler{}

View file

@ -51,7 +51,7 @@ func recover(ctx context.Context, cmd *cobra.Command, fileHandler file.Handler,
return err
}
config, err := config.FromFile(fileHandler, flags.devConfigPath)
config, err := config.FromFile(fileHandler, flags.configPath)
if err != nil {
return err
}
@ -112,24 +112,24 @@ func parseRecoverFlags(cmd *cobra.Command, fileHandler file.Handler) (recoverFla
return recoverFlags{}, err
}
devConfigPath, err := cmd.Flags().GetString("dev-config")
configPath, err := cmd.Flags().GetString("config")
if err != nil {
return recoverFlags{}, err
}
return recoverFlags{
endpoint: endpoint,
diskUUID: diskUUID,
masterSecret: masterSecret,
devConfigPath: devConfigPath,
endpoint: endpoint,
diskUUID: diskUUID,
masterSecret: masterSecret,
configPath: configPath,
}, nil
}
type recoverFlags struct {
endpoint string
diskUUID string
masterSecret []byte
devConfigPath string
endpoint string
diskUUID string
masterSecret []byte
configPath string
}
// readMasterSecret reads a base64 encoded master secret from file.

View file

@ -50,7 +50,7 @@ func TestRecover(t *testing.T) {
endpointFlag string
diskUUIDFlag string
masterSecretFlag string
devConfigFlag string
configFlag string
stateless bool
wantErr bool
wantKey []byte
@ -95,16 +95,16 @@ func TestRecover(t *testing.T) {
setupFs: func(require *require.Assertions) afero.Fs { return afero.NewMemMapFs() },
wantErr: true,
},
"missing dev-config": {
"missing config": {
setupFs: func(require *require.Assertions) afero.Fs {
fs := afero.NewMemMapFs()
require.NoError(afero.WriteFile(fs, "constellation-mastersecret.base64", []byte("Y29uc3RlbGxhdGlvbi1tYXN0ZXItc2VjcmV0LWxlbmc="), 0o777))
return fs
},
endpointFlag: "192.0.2.1",
diskUUIDFlag: "00000000-0000-0000-0000-000000000000",
devConfigFlag: "nonexistent-dev-config",
wantErr: true,
endpointFlag: "192.0.2.1",
diskUUIDFlag: "00000000-0000-0000-0000-000000000000",
configFlag: "nonexistent-config",
wantErr: true,
},
"missing state": {
setupFs: func(require *require.Assertions) afero.Fs {
@ -161,7 +161,7 @@ func TestRecover(t *testing.T) {
require := require.New(t)
cmd := newRecoverCmd()
cmd.Flags().String("dev-config", "", "") // register persisten flag manually
cmd.Flags().String("config", "", "") // register persisten flag manually
out := &bytes.Buffer{}
cmd.SetOut(out)
cmd.SetErr(&bytes.Buffer{})
@ -174,8 +174,8 @@ func TestRecover(t *testing.T) {
if tc.masterSecretFlag != "" {
require.NoError(cmd.Flags().Set("master-secret", tc.masterSecretFlag))
}
if tc.devConfigFlag != "" {
require.NoError(cmd.Flags().Set("dev-config", tc.devConfigFlag))
if tc.configFlag != "" {
require.NoError(cmd.Flags().Set("config", tc.configFlag))
}
fileHandler := file.NewHandler(tc.setupFs(require))
if !tc.stateless {
@ -229,13 +229,13 @@ func TestParseRecoverFlags(t *testing.T) {
"all args set": {
args: []string{
"-e", "192.0.2.1:2", "--disk-uuid", "12345678-1234-1234-1234-123456789012",
"--master-secret", "constellation-mastersecret.base64", "--dev-config", "dev-config-path",
"--master-secret", "constellation-mastersecret.base64", "--config", "config-path",
},
wantFlags: recoverFlags{
endpoint: "192.0.2.1:2",
diskUUID: "12345678-1234-1234-1234-123456789012",
masterSecret: []byte("constellation-master-secret-leng"),
devConfigPath: "dev-config-path",
endpoint: "192.0.2.1:2",
diskUUID: "12345678-1234-1234-1234-123456789012",
masterSecret: []byte("constellation-master-secret-leng"),
configPath: "config-path",
},
},
"uppercase disk-uuid is converted to lowercase": {
@ -256,7 +256,7 @@ func TestParseRecoverFlags(t *testing.T) {
fs := afero.NewMemMapFs()
require.NoError(afero.WriteFile(fs, "constellation-mastersecret.base64", []byte("Y29uc3RlbGxhdGlvbi1tYXN0ZXItc2VjcmV0LWxlbmc="), 0o777))
cmd := newRecoverCmd()
cmd.Flags().String("dev-config", "", "") // register persistent flag manually
cmd.Flags().String("config", "", "") // register persistent flag manually
require.NoError(cmd.ParseFlags(tc.args))
flags, err := parseRecoverFlags(cmd, file.NewHandler(fs))

View file

@ -6,6 +6,7 @@ import (
"os"
"os/signal"
"github.com/edgelesssys/constellation/internal/constants"
"github.com/spf13/cobra"
)
@ -29,8 +30,8 @@ func NewRootCmd() *cobra.Command {
// Set output of cmd.Print to stdout. (By default, it's stderr.)
rootCmd.SetOut(os.Stdout)
rootCmd.PersistentFlags().String("dev-config", "", "use settings from a development config")
must(rootCmd.MarkPersistentFlagFilename("dev-config", "json"))
rootCmd.PersistentFlags().String("config", constants.ConfigFilename, "use settings from a config")
must(rootCmd.MarkPersistentFlagFilename("config", "json"))
rootCmd.AddCommand(newCreateCmd())
rootCmd.AddCommand(newInitCmd())

View file

@ -49,7 +49,7 @@ func verify(ctx context.Context, cmd *cobra.Command, provider cloudprovider.Prov
return err
}
config, err := config.FromFile(fileHandler, flags.devConfigPath)
config, err := config.FromFile(fileHandler, flags.configPath)
if err != nil {
return err
}
@ -102,24 +102,24 @@ func parseVerifyFlags(cmd *cobra.Command) (verifyFlags, error) {
return verifyFlags{}, err
}
devConfigPath, err := cmd.Flags().GetString("dev-config")
configPath, err := cmd.Flags().GetString("config")
if err != nil {
return verifyFlags{}, err
}
return verifyFlags{
endpoint: endpoint,
devConfigPath: devConfigPath,
ownerID: ownerID,
clusterID: clusterID,
endpoint: endpoint,
configPath: configPath,
ownerID: ownerID,
clusterID: clusterID,
}, nil
}
type verifyFlags struct {
endpoint string
ownerID string
clusterID string
devConfigPath string
endpoint string
ownerID string
clusterID string
configPath string
}
// verifyCompletion handels the completion of CLI arguments. It is frequently called

View file

@ -53,7 +53,7 @@ func TestVerify(t *testing.T) {
provider cloudprovider.Provider
protoClient protoClient
nodeEndpointFlag string
devConfigFlag string
configFlag string
ownerIDFlag string
clusterIDFlag string
wantErr bool
@ -93,12 +93,12 @@ func TestVerify(t *testing.T) {
nodeEndpointFlag: "192.0.2.1:1234",
wantErr: true,
},
"dev config file not existing": {
"config file not existing": {
setupFs: func(require *require.Assertions) afero.Fs { return afero.NewMemMapFs() },
provider: cloudprovider.GCP,
ownerIDFlag: zeroBase64,
nodeEndpointFlag: "192.0.2.1:1234",
devConfigFlag: "./file",
configFlag: "./file",
wantErr: true,
},
"error protoClient Connect": {
@ -133,12 +133,12 @@ func TestVerify(t *testing.T) {
require := require.New(t)
cmd := newVerifyCmd()
cmd.Flags().String("dev-config", "", "") // register persisten flag manually
cmd.Flags().String("config", "", "") // register persisten flag manually
out := &bytes.Buffer{}
cmd.SetOut(out)
cmd.SetErr(&bytes.Buffer{})
if tc.devConfigFlag != "" {
require.NoError(cmd.Flags().Set("dev-config", tc.devConfigFlag))
if tc.configFlag != "" {
require.NoError(cmd.Flags().Set("config", tc.configFlag))
}
if tc.ownerIDFlag != "" {
require.NoError(cmd.Flags().Set("owner-id", tc.ownerIDFlag))