mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-05-04 15:25:00 -04:00
cli: install helm charts in cli instead of bootstrapper (#2136)
* init * fixup! init * gcp working? * fixup! fixup! init * azure cfg for microService installation * fixup! azure cfg for microService installation * fixup! azure cfg for microService installation * cleanup bootstrapper code * cleanup helminstall code * fixup! cleanup helminstall code * Update internal/deploy/helm/install.go Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com> * daniel feedback * TODO add provider (also to CreateCluster) so we can ensure that provider specific output * fixup! daniel feedback * use debugLog in helm installer * placeholderHelmInstaller * rename to stub --------- Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com>
This commit is contained in:
parent
ef60d00a60
commit
26305e8f80
38 changed files with 775 additions and 970 deletions
|
@ -17,7 +17,6 @@ import (
|
|||
"github.com/edgelesssys/constellation/v2/cli/internal/terraform"
|
||||
"github.com/edgelesssys/constellation/v2/internal/cloud/cloudprovider"
|
||||
"github.com/edgelesssys/constellation/v2/internal/cloud/gcpshared"
|
||||
tfjson "github.com/hashicorp/terraform-json"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
@ -83,7 +82,7 @@ func TestIAMCreator(t *testing.T) {
|
|||
}
|
||||
|
||||
testCases := map[string]struct {
|
||||
tfClient terraformClient
|
||||
tfClient tfIAMClient
|
||||
newTfClientErr error
|
||||
config *IAMConfigOptions
|
||||
provider cloudprovider.Provider
|
||||
|
@ -125,7 +124,7 @@ func TestIAMCreator(t *testing.T) {
|
|||
|
||||
creator := &IAMCreator{
|
||||
out: &bytes.Buffer{},
|
||||
newTerraformClient: func(ctx context.Context) (terraformClient, error) {
|
||||
newTerraformClient: func(ctx context.Context) (tfIAMClient, error) {
|
||||
return tc.tfClient, tc.newTfClientErr
|
||||
},
|
||||
}
|
||||
|
@ -225,13 +224,9 @@ func TestGetTfstateServiceAccountKey(t *testing.T) {
|
|||
}{
|
||||
"valid": {
|
||||
cl: &stubTerraformClient{
|
||||
tfjsonState: &tfjson.State{
|
||||
Values: &tfjson.StateValues{
|
||||
Outputs: map[string]*tfjson.StateOutput{
|
||||
"sa_key": {
|
||||
Value: gcpFileB64,
|
||||
},
|
||||
},
|
||||
iamOutput: terraform.IAMOutput{
|
||||
GCP: terraform.GCPIAMOutput{
|
||||
SaKey: gcpFileB64,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -247,31 +242,16 @@ func TestGetTfstateServiceAccountKey(t *testing.T) {
|
|||
},
|
||||
"nil tfstate values": {
|
||||
cl: &stubTerraformClient{
|
||||
tfjsonState: &tfjson.State{
|
||||
Values: nil,
|
||||
},
|
||||
},
|
||||
wantErr: true,
|
||||
wantShowCalled: true,
|
||||
},
|
||||
"no key": {
|
||||
cl: &stubTerraformClient{
|
||||
tfjsonState: &tfjson.State{
|
||||
Values: &tfjson.StateValues{},
|
||||
},
|
||||
iamOutput: terraform.IAMOutput{},
|
||||
},
|
||||
wantErr: true,
|
||||
wantShowCalled: true,
|
||||
},
|
||||
"invalid base64": {
|
||||
cl: &stubTerraformClient{
|
||||
tfjsonState: &tfjson.State{
|
||||
Values: &tfjson.StateValues{
|
||||
Outputs: map[string]*tfjson.StateOutput{
|
||||
"sa_key": {
|
||||
Value: "iamnotvalid",
|
||||
},
|
||||
},
|
||||
iamOutput: terraform.IAMOutput{
|
||||
GCP: terraform.GCPIAMOutput{
|
||||
SaKey: "iamnotvalid",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -280,28 +260,9 @@ func TestGetTfstateServiceAccountKey(t *testing.T) {
|
|||
},
|
||||
"valid base64 invalid json": {
|
||||
cl: &stubTerraformClient{
|
||||
tfjsonState: &tfjson.State{
|
||||
Values: &tfjson.StateValues{
|
||||
Outputs: map[string]*tfjson.StateOutput{
|
||||
"sa_key": {
|
||||
Value: base64.StdEncoding.EncodeToString([]byte("asdf")),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
wantErr: true,
|
||||
wantShowCalled: true,
|
||||
},
|
||||
"not string": {
|
||||
cl: &stubTerraformClient{
|
||||
tfjsonState: &tfjson.State{
|
||||
Values: &tfjson.StateValues{
|
||||
Outputs: map[string]*tfjson.StateOutput{
|
||||
"sa_key": {
|
||||
Value: 1,
|
||||
},
|
||||
},
|
||||
iamOutput: terraform.IAMOutput{
|
||||
GCP: terraform.GCPIAMOutput{
|
||||
SaKey: base64.StdEncoding.EncodeToString([]byte("asdf")),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue