Przeglądaj źródła

AWS ACK Feature Flag (#4000)

Stefan McShane 2 lat temu
rodzic
commit
374f4fb29a
4 zmienionych plików z 11 dodań i 3 usunięć
  1. 1 0
      api/types/project.go
  2. 1 1
      go.mod
  3. 2 2
      go.sum
  4. 7 0
      internal/models/project.go

+ 1 - 0
api/types/project.go

@@ -46,6 +46,7 @@ type Project struct {
 	ValidateApplyV2        bool    `json:"validate_apply_v2"`
 	QuotaIncrease          bool    `json:"quota_increase"`
 	BetaFeaturesEnabled    bool    `json:"beta_features_enabled"`
+	AWSACKAuthEnabled      bool    `json:"aws_ack_auth_enabled"`
 }
 
 type FeatureFlags struct {

+ 1 - 1
go.mod

@@ -83,7 +83,7 @@ require (
 	github.com/matryer/is v1.4.0
 	github.com/nats-io/nats.go v1.24.0
 	github.com/open-policy-agent/opa v0.44.0
-	github.com/porter-dev/api-contracts v0.2.51
+	github.com/porter-dev/api-contracts v0.2.53
 	github.com/riandyrn/otelchi v0.5.1
 	github.com/santhosh-tekuri/jsonschema/v5 v5.0.1
 	github.com/stefanmcshane/helm v0.0.0-20221213002717-88a4a2c6e77d

+ 2 - 2
go.sum

@@ -1520,8 +1520,8 @@ github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/polyfloyd/go-errorlint v0.0.0-20210722154253-910bb7978349/go.mod h1:wi9BfjxjF/bwiZ701TzmfKu6UKC357IOAtNr0Td0Lvw=
-github.com/porter-dev/api-contracts v0.2.51 h1:xGl2i+djCwGoenK/AIwVNtBgGZhnnxklNJry0jwror0=
-github.com/porter-dev/api-contracts v0.2.51/go.mod h1:fX6JmP5QuzxDLvqP3evFOTXjI4dHxsG0+VKNTjImZU8=
+github.com/porter-dev/api-contracts v0.2.53 h1:dksPN2aPsN/LT97b0pMXqbGt2E/0YKJt0o0XR1ipqNs=
+github.com/porter-dev/api-contracts v0.2.53/go.mod h1:fX6JmP5QuzxDLvqP3evFOTXjI4dHxsG0+VKNTjImZU8=
 github.com/porter-dev/switchboard v0.0.3 h1:dBuYkiVLa5Ce7059d6qTe9a1C2XEORFEanhbtV92R+M=
 github.com/porter-dev/switchboard v0.0.3/go.mod h1:xSPzqSFMQ6OSbp42fhCi4AbGbQbsm6nRvOkrblFeXU4=
 github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=

+ 7 - 0
internal/models/project.go

@@ -69,6 +69,9 @@ const (
 
 	// BetaFeaturesEnabled controls whether a project uses beta features
 	BetaFeaturesEnabled FeatureFlagLabel = "beta_features_enabled"
+
+	// AWSACKAuthEnabled controls whether a project's AWS access is governed through AWS ACK
+	AWSACKAuthEnabled FeatureFlagLabel = "aws_ack_auth_enabled"
 )
 
 // ProjectFeatureFlags keeps track of all project-related feature flags
@@ -91,6 +94,7 @@ var ProjectFeatureFlags = map[FeatureFlagLabel]bool{
 	StacksEnabled:          false,
 	ValidateApplyV2:        true,
 	BetaFeaturesEnabled:    false,
+	AWSACKAuthEnabled:      false,
 }
 
 type ProjectPlan string
@@ -225,6 +229,8 @@ func (p *Project) GetFeatureFlag(flagName FeatureFlagLabel, launchDarklyClient *
 			return p.ValidateApplyV2
 		case "efs_enabled":
 			return false
+		case "aws_ack_auth_enabled":
+			return false
 		}
 	}
 
@@ -270,6 +276,7 @@ func (p *Project) ToProjectType(launchDarklyClient *features.Client) types.Proje
 		QuotaIncrease:          p.GetFeatureFlag(QuotaIncrease, launchDarklyClient),
 		EFSEnabled:             p.GetFeatureFlag(EFSEnabled, launchDarklyClient),
 		BetaFeaturesEnabled:    p.GetFeatureFlag(BetaFeaturesEnabled, launchDarklyClient),
+		AWSACKAuthEnabled:      p.GetFeatureFlag(AWSACKAuthEnabled, launchDarklyClient),
 	}
 }