Skip to content

Commit 7729574

Browse files
committed
ROX-31352: Move fleetshard-sync to a dedicated chart
1 parent 4fa2f88 commit 7729574

36 files changed

Lines changed: 243 additions & 620 deletions

File tree

.github/workflows/aws-integration.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ on:
1717
- 'docs/**'
1818
- 'pkg/api/openapi/docs/**'
1919
- 'pkg/api/openapi/.openapi-generator-ignore'
20-
- 'dp-terraform/**'
2120
- 'deploy/**'
2221
- '.design-proposals/**'
2322

@@ -35,7 +34,6 @@ on:
3534
- 'docs/**'
3635
- 'pkg/api/openapi/docs/**'
3736
- 'pkg/api/openapi/.openapi-generator-ignore'
38-
- 'dp-terraform/**'
3937
- 'deploy/**'
4038
- '.design-proposals/**'
4139

.github/workflows/emailsender-central-compatibility.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ jobs:
3232
uses: n1hility/cancel-previous-runs@v3
3333
with:
3434
token: ${{ secrets.GITHUB_TOKEN }}
35+
- name: Install OpenShift CLI tools
36+
uses: redhat-actions/openshift-tools-installer@v1
3537
- name: Set up Go
3638
uses: actions/setup-go@v6
3739
with:

.github/workflows/multicluster-e2e.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@ jobs:
7878
steps:
7979
- name: Install infractl
8080
uses: stackrox/actions/infra/install-infractl@v1
81-
- name: Install oc
82-
uses: redhat-actions/oc-installer@v1
81+
- name: Install OpenShift CLI tools
82+
uses: redhat-actions/openshift-tools-installer@v1
8383
- name: Check out code
8484
uses: actions/checkout@v4
8585
- name: Set cluster credentials

Makefile

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ verify: check-gopath openapi/validate
256256
./fleetshard/... \
257257
./probe/... \
258258
./emailsender/... \
259-
./dp-terraform/test/... \
259+
./deploy/test/... \
260260
./fleetshard-operator/...
261261
.PHONY: verify
262262

@@ -342,12 +342,12 @@ test/integration/central: $(GOTESTSUM_BIN)
342342
./internal/central/test/integration/...
343343
.PHONY: test/integration/central
344344

345-
test/dp-terraform: $(GOTESTSUM_BIN)
345+
test/deploy: $(GOTESTSUM_BIN)
346346
$(GOTESTSUM_BIN) --format $(GOTESTSUM_FORMAT) -- -p 1 -ldflags -s -v -timeout $(TEST_TIMEOUT) -count=1 $(TESTFLAGS) \
347-
./dp-terraform/test/...
348-
.PHONY: test/dp-terraform
347+
./deploy/test...
348+
.PHONY: test/deploy
349349

350-
test/integration: test/integration/central test/dp-terraform
350+
test/integration: test/integration/central test/deploy
351351
.PHONY: test/integration
352352

353353
# remove OSD cluster after running tests against real OCM
@@ -897,14 +897,29 @@ run/emailsender:
897897
deploy/emailsender: IMAGE_REPO?="$(external_image_registry)/$(emailsender_image_repository)"
898898
deploy/emailsender: IMAGE_TAG?="$(image_tag)"
899899
deploy/emailsender:
900-
@kubectl apply -n "$(NAMESPACE)" -f "dev/env/manifests/emailsender-db"
900+
@oc apply -n "$(NAMESPACE)" -f "dev/env/manifests/emailsender-db"
901901
@helm upgrade --install -n "$(NAMESPACE)" emailsender "deploy/charts/emailsender" \
902902
--values "dev/env/values/emailsender/values.yaml" \
903903
--set image.repo="$(IMAGE_REPO)" \
904904
--set image.tag="$(IMAGE_TAG)"
905905
.PHONY: deploy/emailsender
906906

907907
undeploy/emailsender:
908-
@helm uninstall -n "$(NAMESPACE)" emailsender
909-
@kubectl delete -n "$(NAMESPACE)" -f "dev/env/manifests/emailsender-db"
908+
@helm uninstall -n "$(NAMESPACE)" emailsender --ignore-not-found
909+
@oc delete -n "$(NAMESPACE)" -f "dev/env/manifests/emailsender-db" --ignore-not-found=true
910910
.PHONY: undeploy/emailsender
911+
912+
deploy/fleetshard-sync:
913+
@helm upgrade --install -n "$(NAMESPACE)" fleetshard-sync "deploy/charts/fleetshard-sync" \
914+
--values "dev/env/values/fleetshard-sync/values.yaml" \
915+
--set image.ref="$${FLEET_MANAGER_IMAGE:-$$(make full-image-tag)}" \
916+
--set tenantDefaultAppSourceTargetRevision="$${ARGOCD_TENANT_APP_TARGET_REVISION:-HEAD}" \
917+
--set argoCdNamespace="$${ARGOCD_NAMESPACE:-openshift-gitops}" \
918+
--set managedDB.enabled="$${MANAGED_DB_ENABLED:-false}" \
919+
--set managedDB.subnetGroup="$(MANAGED_DB_SUBNET_GROUP)" \
920+
--set managedDB.securityGroup="$(MANAGED_DB_SECURITY_GROUP)"
921+
.PHONY: deploy/fleetshard-sync
922+
923+
undeploy/fleetshard-sync:
924+
@helm uninstall -n "$(NAMESPACE)" fleetshard-sync --ignore-not-found
925+
.PHONY: undeploy/fleetshard-sync

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ ACS fleet-manager repository for the ACS managed service.
1212
├── cmd -- cmd entry points
1313
├── config -- various fleet-manager configurations
1414
├── dashboards -- grafana dashboards
15+
├── deploy -- helm charts for application deployment
1516
├── docs -- documentation
1617
├── docker -- docker images
17-
├── dp-terraform -- terraforming scripts for data-plane clusters
1818
├── e2e -- e2e tests
1919
├── fleetshard -- source code for fleetshard-synchronizer
2020
├── internal -- internal source code
File renamed without changes.
Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
apiVersion: v2
2-
name: rhacs-terraform
3-
description: "Chart to terraform data plane OSD clusters"
2+
name: fleetshard-sync
3+
description: Chart to deploy fleetshard-sync component to RHACS dataplane clusters
44

55
# A chart can be either an 'application' or a 'library' chart.
66
#
@@ -15,13 +15,10 @@ type: application
1515
# This is the chart version. This version number should be incremented each time you make changes
1616
# to the chart and its templates, including the app version.
1717
# Versions are expected to follow Semantic Versioning (https://semver.org/)
18-
version: "0.5.0"
18+
version: 0.1.0
1919

2020
# This is the version number of the application being deployed. This version number should be
2121
# incremented each time you make changes to the application. Versions are not expected to
2222
# follow Semantic Versioning. They should reflect the version the application is using.
2323
# It is recommended to use it with quotes.
24-
appVersion: "0.5.0"
25-
26-
# List of sub-charts and other dependencies
27-
dependencies: []
24+
appVersion: "0.1.0"

dp-terraform/helm/rhacs-terraform/templates/fleetshard-sync.yaml renamed to deploy/charts/fleetshard-sync/templates/deployment.yaml

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -15,103 +15,103 @@ spec:
1515
template:
1616
metadata:
1717
annotations:
18-
rhacs.redhat.com/cluster-name: {{ .Values.fleetshardSync.clusterName | quote }}
19-
rhacs.redhat.com/environment: {{ .Values.fleetshardSync.environment | quote }}
18+
rhacs.redhat.com/cluster-name: {{ .Values.clusterName | quote }}
19+
rhacs.redhat.com/environment: {{ .Values.environment | quote }}
2020
labels:
2121
app: fleetshard-sync
2222
spec:
23-
{{- with .Values.fleetshardSync.affinity }}
23+
{{- with .Values.affinity }}
2424
affinity:
2525
{{- toYaml . | nindent 8 }}
2626
{{- end }}
27-
{{- with .Values.fleetshardSync.tolerations }}
27+
{{- with .Values.tolerations }}
2828
tolerations:
2929
{{- toYaml . | nindent 8 }}
3030
{{- end }}
31-
{{- with .Values.fleetshardSync.nodeSelector }}
31+
{{- with .Values.nodeSelector }}
3232
nodeSelector:
3333
{{- toYaml . | nindent 8 }}
3434
{{- end }}
3535
serviceAccountName: fleetshard-sync
3636
containers:
3737
- name: fleetshard-sync
38-
{{- with .Values.fleetshardSync.image }}
38+
{{- with .Values.image }}
3939
{{- if .ref }}
4040
image: "{{ .ref }}"
4141
{{- else }}
42-
image: "{{ .repo }}:{{ .tag | default $.Values.global.image.tag }}"
42+
image: "{{ .repo }}:{{ .tag }}"
4343
{{- end }}
4444
{{- end }}
4545
imagePullPolicy: IfNotPresent
4646
command:
4747
- /usr/local/bin/fleetshard-sync
4848
env:
4949
- name: OCM_TOKEN
50-
value: {{ .Values.fleetshardSync.ocmToken }}
50+
value: {{ .Values.ocmToken }}
5151
- name: FLEET_MANAGER_ENDPOINT
52-
value: {{ .Values.fleetshardSync.fleetManagerEndpoint }}
52+
value: {{ .Values.fleetManagerEndpoint }}
5353
- name: CLUSTER_ID
54-
value: {{ .Values.fleetshardSync.clusterId }}
54+
value: {{ .Values.clusterId }}
5555
- name: CLUSTER_NAME
56-
value: {{ .Values.fleetshardSync.clusterName }}
56+
value: {{ .Values.clusterName }}
5757
- name: ENVIRONMENT
58-
value: {{ .Values.fleetshardSync.environment }}
58+
value: {{ .Values.environment }}
5959
- name: CREATE_AUTH_PROVIDER
60-
value: "{{ .Values.fleetshardSync.createAuthProvider }}"
60+
value: "{{ .Values.createAuthProvider }}"
6161
- name: AUTH_TYPE
62-
value: {{ .Values.fleetshardSync.authType }}
63-
{{- if eq "STATIC_TOKEN" .Values.fleetshardSync.authType }}
62+
value: {{ .Values.authType }}
63+
{{- if eq "STATIC_TOKEN" .Values.authType }}
6464
- name: STATIC_TOKEN
65-
value: {{ .Values.fleetshardSync.staticToken }}
65+
value: {{ .Values.staticToken }}
6666
{{- end }}
6767
- name: AUDIT_LOG_ENABLED
68-
value: {{ .Values.fleetshardSync.auditLogs.enabled | quote }}
68+
value: {{ .Values.auditLogs.enabled | quote }}
6969
- name: AUDIT_LOG_SKIP_TLS_VERIFY
70-
value: {{ .Values.fleetshardSync.auditLogs.skipTLSVerify | quote }}
70+
value: {{ .Values.auditLogs.skipTLSVerify | quote }}
7171
- name: MANAGED_DB_ENABLED
72-
value: {{ .Values.fleetshardSync.managedDB.enabled | quote }}
73-
{{- if eq .Values.fleetshardSync.managedDB.enabled true }}
72+
value: {{ .Values.managedDB.enabled | quote }}
73+
{{- if eq .Values.managedDB.enabled true }}
7474
- name: MANAGED_DB_SUBNET_GROUP
75-
value: {{ required "fleetshardSync.managedDB.subnetGroup is required when fleetshardSync.managedDB.enabled = true" .Values.fleetshardSync.managedDB.subnetGroup }}
75+
value: {{ required "managedDB.subnetGroup is required when managedDB.enabled = true" .Values.managedDB.subnetGroup }}
7676
- name: MANAGED_DB_SECURITY_GROUP
77-
value: {{ required "fleetshardSync.managedDB.securityGroup is required when fleetshardSync.managedDB.enabled = true" .Values.fleetshardSync.managedDB.securityGroup }}
77+
value: {{ required "managedDB.securityGroup is required when managedDB.enabled = true" .Values.managedDB.securityGroup }}
7878
- name: MANAGED_DB_PERFORMANCE_INSIGHTS
79-
value: {{ .Values.fleetshardSync.managedDB.performanceInsights | quote }}
79+
value: {{ .Values.managedDB.performanceInsights | quote }}
8080
- name: MANAGED_DB_ENGINE_VERSION
81-
value: {{ .Values.fleetshardSync.managedDB.engineVersion | quote }}
81+
value: {{ .Values.managedDB.engineVersion | quote }}
8282
- name: MANAGED_DB_AUTO_VERSION_UPGRADE
83-
value: {{ .Values.fleetshardSync.managedDB.autoVersionUpgrade | quote }}
83+
value: {{ .Values.managedDB.autoVersionUpgrade | quote }}
8484
- name: MANAGED_DB_BACKUP_RETENTION_PERIOD
85-
value: {{ .Values.fleetshardSync.managedDB.backupRetentionPeriod }}
85+
value: {{ .Values.managedDB.backupRetentionPeriod }}
8686
- name: MANAGED_DB_CLUSTER_PARAMETER_GROUP
87-
value: {{ .Values.fleetshardSync.managedDB.clusterParameterGroup | quote }}
87+
value: {{ .Values.managedDB.clusterParameterGroup | quote }}
8888
- name: MANAGED_DB_MIN_CAPACITY_ACU
89-
value: {{ .Values.fleetshardSync.managedDB.minCapacityACU }}
89+
value: {{ .Values.managedDB.minCapacityACU }}
9090
- name: MANAGED_DB_MAX_CAPACITY_ACU
91-
value: {{ .Values.fleetshardSync.managedDB.maxCapacityACU }}
92-
{{- range $i, $tag := .Values.fleetshardSync.managedDB.sharedTags }}
91+
value: {{ .Values.managedDB.maxCapacityACU }}
92+
{{- range $i, $tag := .Values.managedDB.sharedTags }}
9393
- name: MANAGED_DB_TAGS_{{ $i }}_KEY
9494
value: {{ $tag.key | quote }}
9595
- name: MANAGED_DB_TAGS_{{ $i }}_VALUE
9696
value: {{ $tag.value | quote }}
9797
{{- end }}
9898
- name: SECRET_ENCRYPTION_TYPE
99-
value: {{ .Values.fleetshardSync.secretEncryption.type | quote }}
99+
value: {{ .Values.secretEncryption.type | quote }}
100100
- name: SECRET_ENCRYPTION_KEY_ID
101-
value: {{ .Values.fleetshardSync.secretEncryption.keyID | quote }}
101+
value: {{ .Values.secretEncryption.keyID | quote }}
102102
{{- end }}
103103
- name: AWS_REGION
104-
value: {{ .Values.fleetshardSync.aws.region }}
104+
value: {{ .Values.aws.region }}
105105
- name: AWS_ROLE_ARN
106-
value: {{ .Values.fleetshardSync.aws.roleArn | quote }}
106+
value: {{ .Values.aws.roleArn | quote }}
107107
- name: TELEMETRY_STORAGE_ENDPOINT
108-
value: {{ .Values.fleetshardSync.telemetry.storage.endpoint | quote }}
108+
value: {{ .Values.telemetry.storage.endpoint | quote }}
109109
- name: TELEMETRY_STORAGE_KEY
110110
valueFrom:
111111
secretKeyRef:
112112
name: fleetshard-sync
113113
key: "telemetry-storage-key"
114-
{{- if .Values.fleetshardSync.aws.enableTokenAuth }}
114+
{{- if .Values.aws.enableTokenAuth }}
115115
- name: AWS_WEB_IDENTITY_TOKEN_FILE
116116
value: "/var/run/secrets/tokens/aws-token"
117117
{{- else }}
@@ -127,47 +127,47 @@ spec:
127127
key: "aws-secret-access-key"
128128
{{- end }}
129129
- name: RHACS_GITOPS_ENABLED
130-
value: {{ .Values.fleetshardSync.gitops.enabled | quote }}
130+
value: {{ .Values.gitops.enabled | quote }}
131131
- name: RHACS_TARGETED_OPERATOR_UPGRADES
132-
value: {{ .Values.fleetshardSync.targetedOperatorUpgrades.enabled | quote }}
132+
value: {{ .Values.targetedOperatorUpgrades.enabled | quote }}
133133
- name: RHACS_ADDON_AUTO_UPGRADE
134-
value: {{ .Values.fleetshardSync.addonAutoUpgradeEnabled | quote }}
134+
value: {{ .Values.addonAutoUpgradeEnabled | quote }}
135135
- name: FLEETSHARD_ADDON_NAME
136-
value: {{ .Values.fleetshardSync.addonName | quote }}
137-
{{- if eq "SERVICE_ACCOUNT_TOKEN" .Values.fleetshardSync.authType }}
136+
value: {{ .Values.addonName | quote }}
137+
{{- if eq "SERVICE_ACCOUNT_TOKEN" .Values.authType }}
138138
- name: FLEET_MANAGER_TOKEN_FILE
139139
value: "/var/run/secrets/tokens/fleet-manager-token"
140140
{{- end }}
141-
{{- if .Values.fleetshardSync.tenantImagePullSecret.name }}
141+
{{- if .Values.tenantImagePullSecret.name }}
142142
- name: TENANT_IMAGE_PULL_SECRET
143143
valueFrom:
144144
secretKeyRef:
145-
name: {{ .Values.fleetshardSync.tenantImagePullSecret.name | quote }}
146-
key: {{ .Values.fleetshardSync.tenantImagePullSecret.key | quote }}
145+
name: {{ .Values.tenantImagePullSecret.name | quote }}
146+
key: {{ .Values.tenantImagePullSecret.key | quote }}
147147
{{- end }}
148148
- name: RHACS_PRINT_CENTRAL_UPDATE_DIFF
149-
value: {{ .Values.fleetshardSync.printCentralUpdateDiff | quote }}
149+
value: {{ .Values.printCentralUpdateDiff | quote }}
150150
- name: ARGOCD_NAMESPACE
151-
value: {{ .Values.fleetshardSync.argoCdNamespace | quote }}
152-
{{- if .Values.fleetshardSync.gitops.tenantDefaultAppSourceRepoUrl }}
151+
value: {{ .Values.argoCdNamespace | quote }}
152+
{{- if .Values.gitops.tenantDefaultAppSourceRepoUrl }}
153153
- name: TENANT_DEFAULT_ARGOCD_APP_SOURCE_REPO_URL
154-
value: {{ .Values.fleetshardSync.gitops.tenantDefaultAppSourceRepoUrl | quote }}
154+
value: {{ .Values.gitops.tenantDefaultAppSourceRepoUrl | quote }}
155155
{{- end }}
156-
{{- if .Values.fleetshardSync.gitops.tenantDefaultAppSourceTargetRevision }}
156+
{{- if .Values.gitops.tenantDefaultAppSourceTargetRevision }}
157157
- name: TENANT_DEFAULT_ARGOCD_APP_SOURCE_TARGET_REVISION
158-
value: {{ .Values.fleetshardSync.gitops.tenantDefaultAppSourceTargetRevision | quote }}
158+
value: {{ .Values.gitops.tenantDefaultAppSourceTargetRevision | quote }}
159159
{{- end }}
160-
{{- if .Values.fleetshardSync.gitops.tenantDefaultAppSourcePath }}
160+
{{- if .Values.gitops.tenantDefaultAppSourcePath }}
161161
- name: TENANT_DEFAULT_ARGOCD_APP_SOURCE_PATH
162-
value: {{ .Values.fleetshardSync.gitops.tenantDefaultAppSourcePath | quote }}
162+
value: {{ .Values.gitops.tenantDefaultAppSourcePath | quote }}
163163
{{- end }}
164164
volumeMounts:
165165
- mountPath: /var/run/secrets/tokens
166166
name: tokens
167167
ports:
168168
- name: monitoring
169169
containerPort: 8080
170-
{{- with .Values.fleetshardSync.resources }}
170+
{{- with .Values.resources }}
171171
resources: {{- toYaml . | nindent 10 }}
172172
{{- end }}
173173
volumes:
@@ -178,7 +178,7 @@ spec:
178178
path: aws-token
179179
audience: sts.amazonaws.com
180180
expirationSeconds: 3600
181-
{{- if eq "SERVICE_ACCOUNT_TOKEN" .Values.fleetshardSync.authType }}
181+
{{- if eq "SERVICE_ACCOUNT_TOKEN" .Values.authType }}
182182
- serviceAccountToken:
183183
path: fleet-manager-token
184184
audience: acs-fleet-manager-private-api

dp-terraform/helm/rhacs-terraform/templates/fleetshard-sync-rbac.yaml renamed to deploy/charts/fleetshard-sync/templates/rbac.yaml

File renamed without changes.

dp-terraform/helm/rhacs-terraform/templates/fleetshard-sync-secret.yaml renamed to deploy/charts/fleetshard-sync/templates/secret.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
{{- if and (.Capabilities.APIVersions.Has "external-secrets.io/v1beta1") .Values.global.createExternalSecrets }}
1+
{{- if and (.Capabilities.APIVersions.Has "external-secrets.io/v1beta1") .Values.createExternalSecrets }}
22
apiVersion: external-secrets.io/v1beta1
33
kind: ExternalSecret
44
metadata:
55
name: fleetshard-sync-ext-secret
66
namespace: {{ .Release.Namespace }}
77
spec:
88
secretStoreRef:
9-
name: {{ .Values.global.secretStore.aws.secretsManagerSecretStoreName }}
9+
name: {{ .Values.secretStore.aws.secretsManagerSecretStoreName }}
1010
kind: ClusterSecretStore
1111
target:
1212
name: fleetshard-sync
@@ -16,7 +16,7 @@ spec:
1616
remoteRef:
1717
key: "fleetshard-sync"
1818
property: "telemetry_storage_key"
19-
{{- if not .Values.fleetshardSync.aws.enableTokenAuth }}
19+
{{- if not .Values.aws.enableTokenAuth }}
2020
- secretKey: aws-access-key-id # pragma: allowlist secret
2121
remoteRef:
2222
key: "fleetshard-sync"
@@ -26,7 +26,7 @@ spec:
2626
key: "fleetshard-sync"
2727
property: "aws_secret_access_key"
2828
{{- end }}
29-
{{- with .Values.fleetshardSync.tenantImagePullSecret }}
29+
{{- with .Values.tenantImagePullSecret }}
3030
{{- if and .create .name }}
3131
---
3232
apiVersion: external-secrets.io/v1beta1
@@ -36,7 +36,7 @@ metadata:
3636
namespace: {{ $.Release.Namespace }}
3737
spec:
3838
secretStoreRef:
39-
name: {{ $.Values.global.secretStore.aws.secretsManagerSecretStoreName }}
39+
name: {{ $.Values.secretStore.aws.secretsManagerSecretStoreName }}
4040
kind: ClusterSecretStore
4141
target:
4242
name: {{ .name }}

0 commit comments

Comments
 (0)