Skip to content

Commit e6425b2

Browse files
committed
fix(helm): make services conditional on component (#16860)
1 parent d5190e3 commit e6425b2

File tree

28 files changed

+448
-154
lines changed

28 files changed

+448
-154
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package tests
2+
3+
import (
4+
"testing"
5+
6+
helmtests "github.com/airbytehq/airbyte-platform-internal/oss/charts/helm-tests"
7+
"github.com/stretchr/testify/assert"
8+
)
9+
10+
func TestConnectorBuilderServerDisabled(t *testing.T) {
11+
opts := helmtests.BaseHelmOptions()
12+
opts.SetValues["connectorBuilderServer.enabled"] = "false"
13+
14+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
15+
assert.NoError(t, err)
16+
17+
// Verify connector-builder-server resources are not created when disabled
18+
helmtests.AssertNoResource(t, chartYaml.String(), "Deployment", "airbyte-connector-builder-server")
19+
helmtests.AssertNoResource(t, chartYaml.String(), "Service", "airbyte-airbyte-connector-builder-server-svc")
20+
}
21+
22+
func TestConnectorBuilderServerEnabled(t *testing.T) {
23+
opts := helmtests.BaseHelmOptions()
24+
opts.SetValues["connectorBuilderServer.enabled"] = "true"
25+
26+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
27+
assert.NoError(t, err)
28+
29+
// Verify connector-builder-server resources are created when enabled
30+
assert.NotNil(t, helmtests.GetDeployment(chartYaml.String(), "airbyte-connector-builder-server"))
31+
assert.NotNil(t, helmtests.GetService(chartYaml.String(), "airbyte-airbyte-connector-builder-server-svc"))
32+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package tests
2+
3+
import (
4+
"testing"
5+
6+
helmtests "github.com/airbytehq/airbyte-platform-internal/oss/charts/helm-tests"
7+
"github.com/stretchr/testify/assert"
8+
)
9+
10+
func TestConnectorRolloutWorkerDisabled(t *testing.T) {
11+
opts := helmtests.BaseHelmOptions()
12+
opts.SetValues["connectorRolloutWorker.enabled"] = "false"
13+
14+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
15+
assert.NoError(t, err)
16+
17+
// Verify connector-rollout-worker resources are not created when disabled
18+
helmtests.AssertNoResource(t, chartYaml.String(), "Deployment", "airbyte-connector-rollout-worker")
19+
}
20+
21+
func TestConnectorRolloutWorkerEnabled(t *testing.T) {
22+
opts := helmtests.BaseHelmOptions()
23+
opts.SetValues["connectorRolloutWorker.enabled"] = "true"
24+
25+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
26+
assert.NoError(t, err)
27+
28+
// Verify connector-rollout-worker resources are created when enabled
29+
assert.NotNil(t, helmtests.GetDeployment(chartYaml.String(), "airbyte-connector-rollout-worker"))
30+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package tests
2+
3+
import (
4+
"testing"
5+
6+
helmtests "github.com/airbytehq/airbyte-platform-internal/oss/charts/helm-tests"
7+
"github.com/stretchr/testify/assert"
8+
)
9+
10+
func TestCronDisabled(t *testing.T) {
11+
opts := helmtests.BaseHelmOptions()
12+
opts.SetValues["cron.enabled"] = "false"
13+
14+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
15+
assert.NoError(t, err)
16+
17+
// Verify cron resources are not created when disabled
18+
helmtests.AssertNoResource(t, chartYaml.String(), "Deployment", "airbyte-cron")
19+
}
20+
21+
func TestCronEnabled(t *testing.T) {
22+
opts := helmtests.BaseHelmOptions()
23+
opts.SetValues["cron.enabled"] = "true"
24+
25+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
26+
assert.NoError(t, err)
27+
28+
// Verify cron resources are created when enabled
29+
assert.NotNil(t, helmtests.GetDeployment(chartYaml.String(), "airbyte-cron"))
30+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package tests
2+
3+
import (
4+
"testing"
5+
6+
helmtests "github.com/airbytehq/airbyte-platform-internal/oss/charts/helm-tests"
7+
"github.com/stretchr/testify/assert"
8+
)
9+
10+
func TestFeatureflagServerDisabled(t *testing.T) {
11+
opts := helmtests.BaseHelmOptions()
12+
opts.SetValues["featureflagServer.enabled"] = "false"
13+
14+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
15+
assert.NoError(t, err)
16+
17+
// Verify featureflag-server resources are not created when disabled
18+
helmtests.AssertNoResource(t, chartYaml.String(), "Deployment", "airbyte-featureflag-server")
19+
helmtests.AssertNoResource(t, chartYaml.String(), "Service", "airbyte-featureflag-server-svc")
20+
}
21+
22+
func TestFeatureflagServerEnabled(t *testing.T) {
23+
opts := helmtests.BaseHelmOptions()
24+
opts.SetValues["featureflagServer.enabled"] = "true"
25+
26+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
27+
assert.NoError(t, err)
28+
29+
// Verify featureflag-server resources are created when enabled
30+
assert.NotNil(t, helmtests.GetDeployment(chartYaml.String(), "airbyte-featureflag-server"))
31+
assert.NotNil(t, helmtests.GetService(chartYaml.String(), "airbyte-featureflag-server-svc"))
32+
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
package tests
2+
3+
import (
4+
"testing"
5+
6+
helmtests "github.com/airbytehq/airbyte-platform-internal/oss/charts/helm-tests"
7+
"github.com/stretchr/testify/assert"
8+
)
9+
10+
func TestKeycloakDisabledCommunityEdition(t *testing.T) {
11+
opts := helmtests.BaseHelmOptions()
12+
opts.SetValues["global.edition"] = "community"
13+
opts.SetValues["keycloak.enabled"] = "false"
14+
15+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
16+
assert.NoError(t, err)
17+
18+
// Verify keycloak resources are not created when disabled or community edition
19+
helmtests.AssertNoResource(t, chartYaml.String(), "StatefulSet", "airbyte-keycloak")
20+
helmtests.AssertNoResource(t, chartYaml.String(), "Service", "airbyte-airbyte-keycloak-svc")
21+
helmtests.AssertNoResource(t, chartYaml.String(), "Service", "airbyte-airbyte-keycloak-headless-svc")
22+
}
23+
24+
func TestKeycloakDisabledEnterpriseEdition(t *testing.T) {
25+
opts := helmtests.BaseHelmOptionsForEnterprise()
26+
opts.SetValues["keycloak.enabled"] = "false"
27+
28+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
29+
assert.NoError(t, err)
30+
31+
// Verify keycloak resources are not created when disabled even with enterprise edition
32+
helmtests.AssertNoResource(t, chartYaml.String(), "StatefulSet", "airbyte-keycloak")
33+
helmtests.AssertNoResource(t, chartYaml.String(), "Service", "airbyte-airbyte-keycloak-svc")
34+
helmtests.AssertNoResource(t, chartYaml.String(), "Service", "airbyte-airbyte-keycloak-headless-svc")
35+
}
36+
37+
func TestKeycloakEnabledEnterpriseEdition(t *testing.T) {
38+
opts := helmtests.BaseHelmOptionsForEnterprise()
39+
opts.SetValues["keycloak.enabled"] = "true"
40+
41+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
42+
assert.NoError(t, err)
43+
44+
// Verify keycloak resources are created when enabled and enterprise edition
45+
assert.NotNil(t, helmtests.GetStatefulSet(chartYaml.String(), "airbyte-keycloak"))
46+
assert.NotNil(t, helmtests.GetService(chartYaml.String(), "airbyte-airbyte-keycloak-svc"))
47+
assert.NotNil(t, helmtests.GetService(chartYaml.String(), "airbyte-airbyte-keycloak-headless-svc"))
48+
}
49+
50+
func TestKeycloakEnabledCommunityEdition(t *testing.T) {
51+
opts := helmtests.BaseHelmOptions()
52+
opts.SetValues["global.edition"] = "community"
53+
opts.SetValues["keycloak.enabled"] = "true"
54+
55+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
56+
assert.NoError(t, err)
57+
58+
// Verify keycloak resources are not created when community edition (even if enabled)
59+
helmtests.AssertNoResource(t, chartYaml.String(), "StatefulSet", "airbyte-keycloak")
60+
helmtests.AssertNoResource(t, chartYaml.String(), "Service", "airbyte-airbyte-keycloak-svc")
61+
helmtests.AssertNoResource(t, chartYaml.String(), "Service", "airbyte-airbyte-keycloak-headless-svc")
62+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package tests
2+
3+
import (
4+
"testing"
5+
6+
helmtests "github.com/airbytehq/airbyte-platform-internal/oss/charts/helm-tests"
7+
"github.com/stretchr/testify/assert"
8+
)
9+
10+
func TestMetricsDisabled(t *testing.T) {
11+
opts := helmtests.BaseHelmOptions()
12+
opts.SetValues["metrics.enabled"] = "false"
13+
14+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
15+
assert.NoError(t, err)
16+
17+
// Verify metrics resources are not created when disabled
18+
helmtests.AssertNoResource(t, chartYaml.String(), "Deployment", "airbyte-metrics")
19+
}
20+
21+
func TestMetricsEnabled(t *testing.T) {
22+
opts := helmtests.BaseHelmOptions()
23+
opts.SetValues["metrics.enabled"] = "true"
24+
25+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
26+
assert.NoError(t, err)
27+
28+
// Verify metrics resources are created when enabled
29+
assert.NotNil(t, helmtests.GetDeployment(chartYaml.String(), "airbyte-metrics"))
30+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package tests
2+
3+
import (
4+
"testing"
5+
6+
helmtests "github.com/airbytehq/airbyte-platform-internal/oss/charts/helm-tests"
7+
"github.com/stretchr/testify/assert"
8+
)
9+
10+
func TestServerDisabled(t *testing.T) {
11+
opts := helmtests.BaseHelmOptions()
12+
opts.SetValues["server.enabled"] = "false"
13+
14+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
15+
assert.NoError(t, err)
16+
17+
// Verify server resources are not created when disabled
18+
helmtests.AssertNoResource(t, chartYaml.String(), "Deployment", "airbyte-server")
19+
helmtests.AssertNoResource(t, chartYaml.String(), "Service", "airbyte-airbyte-server-svc")
20+
}
21+
22+
func TestServerEnabled(t *testing.T) {
23+
opts := helmtests.BaseHelmOptions()
24+
opts.SetValues["server.enabled"] = "true"
25+
26+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
27+
assert.NoError(t, err)
28+
29+
// Verify server resources are created when enabled
30+
assert.NotNil(t, helmtests.GetDeployment(chartYaml.String(), "airbyte-server"))
31+
assert.NotNil(t, helmtests.GetService(chartYaml.String(), "airbyte-airbyte-server-svc"))
32+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package tests
2+
3+
import (
4+
"testing"
5+
6+
helmtests "github.com/airbytehq/airbyte-platform-internal/oss/charts/helm-tests"
7+
"github.com/stretchr/testify/assert"
8+
)
9+
10+
func TestTemporalDisabled(t *testing.T) {
11+
opts := helmtests.BaseHelmOptions()
12+
opts.SetValues["temporal.enabled"] = "false"
13+
14+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
15+
assert.NoError(t, err)
16+
17+
// Verify temporal resources are not created when disabled
18+
helmtests.AssertNoResource(t, chartYaml.String(), "Deployment", "airbyte-temporal")
19+
helmtests.AssertNoResource(t, chartYaml.String(), "Service", "airbyte-temporal")
20+
helmtests.AssertNoResource(t, chartYaml.String(), "ConfigMap", "airbyte-temporal-config")
21+
}
22+
23+
func TestTemporalEnabled(t *testing.T) {
24+
opts := helmtests.BaseHelmOptions()
25+
opts.SetValues["temporal.enabled"] = "true"
26+
27+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
28+
assert.NoError(t, err)
29+
30+
// Verify temporal resources are created when enabled
31+
assert.NotNil(t, helmtests.GetDeployment(chartYaml.String(), "airbyte-temporal"))
32+
assert.NotNil(t, helmtests.GetService(chartYaml.String(), "airbyte-temporal"))
33+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package tests
2+
3+
import (
4+
"testing"
5+
6+
helmtests "github.com/airbytehq/airbyte-platform-internal/oss/charts/helm-tests"
7+
"github.com/stretchr/testify/assert"
8+
)
9+
10+
func TestTemporalUiDisabled(t *testing.T) {
11+
opts := helmtests.BaseHelmOptions()
12+
opts.SetValues["temporalUi.enabled"] = "false"
13+
14+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
15+
assert.NoError(t, err)
16+
17+
// Verify temporal-ui resources are not created when disabled
18+
helmtests.AssertNoResource(t, chartYaml.String(), "Deployment", "airbyte-temporal-ui")
19+
helmtests.AssertNoResource(t, chartYaml.String(), "Service", "airbyte-airbyte-temporal-ui-svc")
20+
}
21+
22+
func TestTemporalUiEnabled(t *testing.T) {
23+
opts := helmtests.BaseHelmOptions()
24+
opts.SetValues["temporalUi.enabled"] = "true"
25+
26+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
27+
assert.NoError(t, err)
28+
29+
// Verify temporal-ui resources are created when enabled
30+
assert.NotNil(t, helmtests.GetDeployment(chartYaml.String(), "airbyte-temporal-ui"))
31+
assert.NotNil(t, helmtests.GetService(chartYaml.String(), "airbyte-airbyte-temporal-ui-svc"))
32+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package tests
2+
3+
import (
4+
"testing"
5+
6+
helmtests "github.com/airbytehq/airbyte-platform-internal/oss/charts/helm-tests"
7+
"github.com/stretchr/testify/assert"
8+
)
9+
10+
func TestWebappDisabled(t *testing.T) {
11+
opts := helmtests.BaseHelmOptions()
12+
opts.SetValues["webapp.enabled"] = "false"
13+
14+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
15+
assert.NoError(t, err)
16+
17+
// Verify webapp resources are not created when disabled
18+
helmtests.AssertNoResource(t, chartYaml.String(), "Deployment", "airbyte-webapp")
19+
helmtests.AssertNoResource(t, chartYaml.String(), "Service", "airbyte-airbyte-webapp-svc")
20+
}
21+
22+
func TestWebappEnabled(t *testing.T) {
23+
opts := helmtests.BaseHelmOptions()
24+
opts.SetValues["webapp.enabled"] = "true"
25+
26+
chartYaml, err := helmtests.RenderHelmChart(t, opts, chartPath, "airbyte", nil)
27+
assert.NoError(t, err)
28+
29+
// Verify webapp resources are created when enabled
30+
assert.NotNil(t, helmtests.GetDeployment(chartYaml.String(), "airbyte-webapp"))
31+
assert.NotNil(t, helmtests.GetService(chartYaml.String(), "airbyte-airbyte-webapp-svc"))
32+
}

0 commit comments

Comments
 (0)