diff --git a/install/installer/cmd/testdata/render/aws-setup/output.golden b/install/installer/cmd/testdata/render/aws-setup/output.golden index 7b6a2fcfa2ba3b..2280f94fca2572 100644 --- a/install/installer/cmd/testdata/render/aws-setup/output.golden +++ b/install/installer/cmd/testdata/render/aws-setup/output.golden @@ -1458,6 +1458,9 @@ data: "serviceWaiter": { "version": "test" }, + "toxic-config": { + "version": "test" + }, "usage": { "version": "test" }, diff --git a/install/installer/cmd/testdata/render/azure-setup/output.golden b/install/installer/cmd/testdata/render/azure-setup/output.golden index c5c14dabea0935..154e24a6af93ed 100644 --- a/install/installer/cmd/testdata/render/azure-setup/output.golden +++ b/install/installer/cmd/testdata/render/azure-setup/output.golden @@ -1415,6 +1415,9 @@ data: "serviceWaiter": { "version": "test" }, + "toxic-config": { + "version": "test" + }, "usage": { "version": "test" }, diff --git a/install/installer/cmd/testdata/render/customization/output.golden b/install/installer/cmd/testdata/render/customization/output.golden index 7138d7dbcc8801..9478d6005dade6 100644 --- a/install/installer/cmd/testdata/render/customization/output.golden +++ b/install/installer/cmd/testdata/render/customization/output.golden @@ -1672,6 +1672,9 @@ data: "serviceWaiter": { "version": "test" }, + "toxic-config": { + "version": "test" + }, "usage": { "version": "test" }, diff --git a/install/installer/cmd/testdata/render/external-registry/output.golden b/install/installer/cmd/testdata/render/external-registry/output.golden index 59e9d2e9182619..64ca01846a82f1 100644 --- a/install/installer/cmd/testdata/render/external-registry/output.golden +++ b/install/installer/cmd/testdata/render/external-registry/output.golden @@ -1462,6 +1462,9 @@ data: "serviceWaiter": { "version": "test" }, + "toxic-config": { + "version": "test" + }, "usage": { "version": "test" }, diff --git a/install/installer/cmd/testdata/render/gcp-setup/output.golden b/install/installer/cmd/testdata/render/gcp-setup/output.golden index 35c9ac5df7eb39..545ea2cbca7e5e 100644 --- a/install/installer/cmd/testdata/render/gcp-setup/output.golden +++ b/install/installer/cmd/testdata/render/gcp-setup/output.golden @@ -1393,6 +1393,9 @@ data: "serviceWaiter": { "version": "test" }, + "toxic-config": { + "version": "test" + }, "usage": { "version": "test" }, diff --git a/install/installer/cmd/testdata/render/http-proxy/output.golden b/install/installer/cmd/testdata/render/http-proxy/output.golden index c3122edad7755d..84958800fb18f0 100644 --- a/install/installer/cmd/testdata/render/http-proxy/output.golden +++ b/install/installer/cmd/testdata/render/http-proxy/output.golden @@ -1531,6 +1531,9 @@ data: "serviceWaiter": { "version": "test" }, + "toxic-config": { + "version": "test" + }, "usage": { "version": "test" }, diff --git a/install/installer/cmd/testdata/render/insecure-s3-setup/output.golden b/install/installer/cmd/testdata/render/insecure-s3-setup/output.golden index 5462f07acf942c..ccc93e262d1c90 100644 --- a/install/installer/cmd/testdata/render/insecure-s3-setup/output.golden +++ b/install/installer/cmd/testdata/render/insecure-s3-setup/output.golden @@ -1502,6 +1502,9 @@ data: "serviceWaiter": { "version": "test" }, + "toxic-config": { + "version": "test" + }, "usage": { "version": "test" }, diff --git a/install/installer/cmd/testdata/render/minimal/output.golden b/install/installer/cmd/testdata/render/minimal/output.golden index e21caa8bfac291..61eb7925790e7a 100644 --- a/install/installer/cmd/testdata/render/minimal/output.golden +++ b/install/installer/cmd/testdata/render/minimal/output.golden @@ -1528,6 +1528,9 @@ data: "serviceWaiter": { "version": "test" }, + "toxic-config": { + "version": "test" + }, "usage": { "version": "test" }, diff --git a/install/installer/cmd/testdata/render/shortname/output.golden b/install/installer/cmd/testdata/render/shortname/output.golden index 48e8030f70d9c1..30838cfb6b1bdd 100644 --- a/install/installer/cmd/testdata/render/shortname/output.golden +++ b/install/installer/cmd/testdata/render/shortname/output.golden @@ -1528,6 +1528,9 @@ data: "serviceWaiter": { "version": "test" }, + "toxic-config": { + "version": "test" + }, "usage": { "version": "test" }, diff --git a/install/installer/cmd/testdata/render/statefulset-customization/output.golden b/install/installer/cmd/testdata/render/statefulset-customization/output.golden index c98c5fd5065079..0c4345c05e84ee 100644 --- a/install/installer/cmd/testdata/render/statefulset-customization/output.golden +++ b/install/installer/cmd/testdata/render/statefulset-customization/output.golden @@ -1540,6 +1540,9 @@ data: "serviceWaiter": { "version": "test" }, + "toxic-config": { + "version": "test" + }, "usage": { "version": "test" }, diff --git a/install/installer/cmd/testdata/render/use-pod-security-policies/output.golden b/install/installer/cmd/testdata/render/use-pod-security-policies/output.golden index 76be9744730151..d96b7aaba405ec 100644 --- a/install/installer/cmd/testdata/render/use-pod-security-policies/output.golden +++ b/install/installer/cmd/testdata/render/use-pod-security-policies/output.golden @@ -1750,6 +1750,9 @@ data: "serviceWaiter": { "version": "test" }, + "toxic-config": { + "version": "test" + }, "usage": { "version": "test" }, diff --git a/install/installer/cmd/testdata/render/versions.yaml b/install/installer/cmd/testdata/render/versions.yaml index c035d6365ef281..79a7cd664bdf93 100644 --- a/install/installer/cmd/testdata/render/versions.yaml +++ b/install/installer/cmd/testdata/render/versions.yaml @@ -54,6 +54,8 @@ components: version: test serviceWaiter: version: test + toxic-config: + version: test usage: version: test workspace: diff --git a/install/installer/cmd/testdata/render/workspace-requests-limits/output.golden b/install/installer/cmd/testdata/render/workspace-requests-limits/output.golden index 2b79488fb487f1..028293acbe3339 100644 --- a/install/installer/cmd/testdata/render/workspace-requests-limits/output.golden +++ b/install/installer/cmd/testdata/render/workspace-requests-limits/output.golden @@ -1531,6 +1531,9 @@ data: "serviceWaiter": { "version": "test" }, + "toxic-config": { + "version": "test" + }, "usage": { "version": "test" }, diff --git a/install/installer/pkg/components/toxiproxy/configmap.go b/install/installer/pkg/components/toxiproxy/configmap.go index 6dbbbb0a2e1adc..c6675538680386 100644 --- a/install/installer/pkg/components/toxiproxy/configmap.go +++ b/install/installer/pkg/components/toxiproxy/configmap.go @@ -14,6 +14,7 @@ import ( ) const ( + proxyName = "mysql" configFilename = "toxiproxy.json" ) @@ -29,7 +30,7 @@ func configmap(ctx *common.RenderContext) ([]runtime.Object, error) { txcfg := []ToxiproxyConfig{ { - Name: "mysql", + Name: proxyName, Listen: fmt.Sprintf("[::]:%d", dbPort), Upstream: fmt.Sprintf("%s:%d", dbHost, dbPort), Enabled: true, diff --git a/install/installer/pkg/components/toxiproxy/constants.go b/install/installer/pkg/components/toxiproxy/constants.go index 257d0679bd0bbe..861ebb7bda569f 100644 --- a/install/installer/pkg/components/toxiproxy/constants.go +++ b/install/installer/pkg/components/toxiproxy/constants.go @@ -5,6 +5,7 @@ package toxiproxy const ( Component = "toxiproxy" + ConfigComponent = "toxic-config" HttpPortName = "http" HttpContainerPort = 8474 HttpServicePort = 8474 diff --git a/install/installer/pkg/components/toxiproxy/deployment.go b/install/installer/pkg/components/toxiproxy/deployment.go index 8b186a6ae3e0b3..37177e9f664a65 100644 --- a/install/installer/pkg/components/toxiproxy/deployment.go +++ b/install/installer/pkg/components/toxiproxy/deployment.go @@ -4,6 +4,7 @@ package toxiproxy import ( + "fmt" "path/filepath" "github.com/gitpod-io/gitpod/installer/pkg/cluster" @@ -102,6 +103,15 @@ func deployment(ctx *common.RenderContext) ([]runtime.Object, error) { }, Env: common.CustomizeEnvvar(ctx, Component, common.MergeEnv(common.DefaultEnv(&ctx.Config))), VolumeMounts: volumeMounts, + }, { + Name: "toxic-config", + Image: ctx.ImageName(ctx.Config.Repository, ConfigComponent, ctx.VersionManifest.Components.ToxicConfig.Version), + Args: []string{ + fmt.Sprintf("--proxy=%s", proxyName), + "--latency=1000", + "--jitter=250", + "--wait=true", + }, }, *common.KubeRBACProxyContainerWithConfig(ctx), }, diff --git a/install/installer/pkg/components/toxiproxy/objects_test.go b/install/installer/pkg/components/toxiproxy/objects_test.go index 5b7c8e4d9c1b0f..87b556b479f488 100644 --- a/install/installer/pkg/components/toxiproxy/objects_test.go +++ b/install/installer/pkg/components/toxiproxy/objects_test.go @@ -40,7 +40,10 @@ func renderContextWithSlowDatabaseEnabled(t *testing.T) *common.RenderContext { SlowDatabase: true, }, }, - }, versions.Manifest{}, "test-namespace") + }, versions.Manifest{ + Version: "test", + Components: versions.Components{ToxicConfig: versions.Versioned{Version: "test"}}, + }, "test-namespace") require.NoError(t, err) return ctx diff --git a/install/installer/pkg/config/versions/versions.go b/install/installer/pkg/config/versions/versions.go index d15389bb4d2c47..ccdf427a4b934f 100644 --- a/install/installer/pkg/config/versions/versions.go +++ b/install/installer/pkg/config/versions/versions.go @@ -38,6 +38,7 @@ type Components struct { RegistryFacade Versioned `json:"registryFacade"` Server Versioned `json:"server"` ServiceWaiter Versioned `json:"serviceWaiter"` + ToxicConfig Versioned `json:"toxic-config"` Usage Versioned `json:"usage"` Workspace struct { CodeImage Versioned `json:"codeImage"`