Skip to content

Commit 6f175d7

Browse files
authored
ROX-32763: Delete fleetshard-operator (#2549)
1 parent ee177a9 commit 6f175d7

58 files changed

Lines changed: 62 additions & 1849 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/dependabot.yaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,6 @@ updates:
2121
directory: "/probe"
2222
schedule:
2323
interval: "weekly"
24-
- package-ecosystem: "docker"
25-
directory: "/fleetshard-operator"
26-
schedule:
27-
interval: "weekly"
2824
- package-ecosystem: "github-actions"
2925
directory: "/"
3026
schedule:

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ fm-dataplane-config.yaml
4040
cmd/fleet-manager/fleet-manager
4141
/fleetshard-sync
4242
/acsfleetctl
43-
/fleetshard-operator/bin/fleetshard-operator
4443
# Ignore generated templates
4544
/templates/*-template.json
4645

.openshift-ci/tests/e2e.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ log
6060
log "Cluster type: ${CLUSTER_TYPE}"
6161
log "Cluster name: ${CLUSTER_NAME}"
6262
log "Fleet Manager Image: ${FLEET_MANAGER_IMAGE}"
63-
log "Fleetshard Operator Image: ${FLEETSHARD_OPERATOR_IMAGE:-latest}"
6463
log "Log directory: ${LOG_DIR:-(none)}"
6564
log "Executing Auth E2E tests: ${RUN_AUTH_E2E}"
6665

.secrets.baseline

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -296,63 +296,63 @@
296296
"filename": "templates/service-template.yml",
297297
"hashed_secret": "13032f402fed753c2248419ea4f69f99931f6dbc",
298298
"is_verified": false,
299-
"line_number": 460
299+
"line_number": 450
300300
},
301301
{
302302
"type": "Base64 High Entropy String",
303303
"filename": "templates/service-template.yml",
304304
"hashed_secret": "30025f80f6e22cdafb85db387d50f90ea884576a",
305305
"is_verified": false,
306-
"line_number": 460
306+
"line_number": 450
307307
},
308308
{
309309
"type": "Base64 High Entropy String",
310310
"filename": "templates/service-template.yml",
311311
"hashed_secret": "355f24fd038bcaf85617abdcaa64af51ed19bbcf",
312312
"is_verified": false,
313-
"line_number": 460
313+
"line_number": 450
314314
},
315315
{
316316
"type": "Base64 High Entropy String",
317317
"filename": "templates/service-template.yml",
318318
"hashed_secret": "3d8a1dcd2c3c765ce35c9a9552d23273cc4ddace",
319319
"is_verified": false,
320-
"line_number": 460
320+
"line_number": 450
321321
},
322322
{
323323
"type": "Base64 High Entropy String",
324324
"filename": "templates/service-template.yml",
325325
"hashed_secret": "4ac7b0522761eba972467942cd5cd7499dd2c361",
326326
"is_verified": false,
327-
"line_number": 460
327+
"line_number": 450
328328
},
329329
{
330330
"type": "Base64 High Entropy String",
331331
"filename": "templates/service-template.yml",
332332
"hashed_secret": "7639ab2a6bcf2ea30a055a99468c9cd844d4c22a",
333333
"is_verified": false,
334-
"line_number": 460
334+
"line_number": 450
335335
},
336336
{
337337
"type": "Base64 High Entropy String",
338338
"filename": "templates/service-template.yml",
339339
"hashed_secret": "b56360daf4793d2a74991a972b34d95bc00fb2da",
340340
"is_verified": false,
341-
"line_number": 460
341+
"line_number": 450
342342
},
343343
{
344344
"type": "Base64 High Entropy String",
345345
"filename": "templates/service-template.yml",
346346
"hashed_secret": "c9a73ef9ee8ce9f38437227801c70bcc6740d1a1",
347347
"is_verified": false,
348-
"line_number": 460
348+
"line_number": 450
349349
},
350350
{
351351
"type": "Secret Keyword",
352352
"filename": "templates/service-template.yml",
353353
"hashed_secret": "4e199b4a1c40b497a95fcd1cd896351733849949",
354354
"is_verified": false,
355-
"line_number": 643,
355+
"line_number": 633,
356356
"is_secret": false
357357
}
358358
],
@@ -382,5 +382,5 @@
382382
}
383383
]
384384
},
385-
"generated_at": "2025-10-22T10:56:01Z"
385+
"generated_at": "2026-01-23T11:01:34Z"
386386
}

.tekton/acs-fleetshard-operator-push.yaml

Lines changed: 0 additions & 50 deletions
This file was deleted.

CLAUDE.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,6 @@ make image/build/emailsender
113113
2. **Fleetshard-sync** (`fleetshard/`) - Data plane synchronization service
114114
3. **Probe** (`probe/`) - Health check and monitoring service
115115
4. **Emailsender** (`emailsender/`) - Email notification service
116-
5. **Fleetshard Operator** (`fleetshard-operator/`) - Kubernetes operator for fleet management
117116

118117
### Key Directories
119118

Makefile

Lines changed: 4 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,6 @@ CHAMBER_BIN := $(LOCAL_BIN_PATH)/chamber
9595
$(CHAMBER_BIN): $(TOOLS_DIR)/go.mod $(TOOLS_DIR)/go.sum
9696
@cd $(TOOLS_DIR) && GOBIN=${LOCAL_BIN_PATH} $(GO) install github.com/segmentio/chamber/v2
9797

98-
CONTROLLER_GEN_BIN := $(LOCAL_BIN_PATH)/controller-gen
99-
$(CONTROLLER_GEN_BIN): $(TOOLS_DIR)/go.mod $(TOOLS_DIR)/go.sum
100-
@cd $(TOOLS_DIR) && GOBIN=${LOCAL_BIN_PATH} $(GO) install sigs.k8s.io/controller-tools/cmd/controller-gen
101-
10298
GINKGO_BIN := $(LOCAL_BIN_PATH)/ginkgo
10399
$(GINKGO_BIN): go.mod go.sum
104100
@GOBIN=${LOCAL_BIN_PATH} $(GO) install github.com/onsi/ginkgo/v2/ginkgo
@@ -256,8 +252,7 @@ verify: check-gopath openapi/validate
256252
./fleetshard/... \
257253
./probe/... \
258254
./emailsender/... \
259-
./deploy/test/... \
260-
./fleetshard-operator/...
255+
./deploy/test/...
261256
.PHONY: verify
262257

263258
# Runs linter against go files and .y(a)ml files in the templates directory
@@ -283,10 +278,6 @@ fleetshard-sync:
283278
GOOS="$(GOOS)" GOARCH="$(GOARCH)" CGO_ENABLED=0 $(GO) build $(GOARGS) -o fleetshard-sync ./fleetshard
284279
.PHONY: fleetshard-sync
285280

286-
fleetshard-operator:
287-
GOOS="$(GOOS)" GOARCH="$(GOARCH)" CGO_ENABLED=0 $(GO) build $(GOARGS) -o fleetshard-operator/bin/fleetshard-operator ./fleetshard-operator
288-
.PHONY: fleetshard-operator
289-
290281
probe:
291282
GOOS="$(GOOS)" GOARCH="$(GOARCH)" CGO_ENABLED=0 $(GO) build $(GOARGS) -o probe/bin/probe ./probe/cmd/probe
292283
.PHONY: probe
@@ -299,11 +290,11 @@ emailsender:
299290
GOOS="$(GOOS)" GOARCH="$(GOARCH)" CGO_ENABLED=0 $(GO) build $(GOARGS) -o emailsender/bin/emailsender ./emailsender/cmd/app
300291
.PHONY: emailsender
301292

302-
binary: fleet-manager fleetshard-sync probe acsfleetctl emailsender fleetshard-operator
293+
binary: fleet-manager fleetshard-sync probe acsfleetctl emailsender
303294
.PHONY: binary
304295

305296
clean:
306-
rm -f fleet-manager fleetshard-sync probe/bin/probe emailsender/bin/emailsender fleetshard-operator/bin/fleetshard-operator
297+
rm -f fleet-manager fleetshard-sync probe/bin/probe emailsender/bin/emailsender
307298
.PHONY: clean
308299

309300
# Runs the unit tests.
@@ -408,7 +399,7 @@ test/e2e/cleanup:
408399
.PHONY: test/e2e/cleanup
409400

410401
# generate files
411-
generate: $(MOQ_BIN) openapi/generate controller-gen/generate
402+
generate: $(MOQ_BIN) openapi/generate
412403
$(GO) generate ./...
413404
.PHONY: generate
414405

@@ -459,10 +450,6 @@ openapi/generate/emailsender: openapi-generator
459450
$(GOFMT) -w emailsender/pkg/client/openapi
460451
.PHONY: openapi/generate/emailsender
461452

462-
.PHONY: controller-gen/generate
463-
controller-gen/generate: $(CONTROLLER_GEN_BIN)
464-
@$(CONTROLLER_GEN_BIN) object crd paths="./fleetshard-operator/..." output:crd:artifacts:config=fleetshard-operator/config/crd
465-
466453
# fail if formatting is required
467454
code/check:
468455
@if ! [ -z "$$(find . -path './vendor' -prune -o -type f -name '*.go' -print0 | xargs -0 $(GOFMT) -l)" ]; then \
@@ -595,17 +582,6 @@ image/push/internal: docker/login/internal
595582
$(DOCKER) buildx build -t "$(shell oc get route default-route -n openshift-image-registry -o jsonpath="{.spec.host}")/$(NAMESPACE)/$(IMAGE_NAME):$(IMAGE_TAG)" --platform linux/amd64 --push .
596583
.PHONY: image/push/internal
597584

598-
image/build/fleetshard-operator: IMAGE_REF="$(external_image_registry)/fleetshard-operator:$(image_tag)"
599-
image/build/fleetshard-operator:
600-
$(DOCKER) buildx build -t $(IMAGE_REF) --build-arg IMAGE_TAG=$(image_tag) --load -f fleetshard-operator/Dockerfile .
601-
.PHONY: image/build/fleetshard-operator
602-
603-
# push the image to the OpenShift internal registry
604-
image/push/fleetshard-operator/internal: IMAGE_TAG ?= $(image_tag)
605-
image/push/fleetshard-operator/internal: docker/login/internal
606-
$(DOCKER) buildx build -t "$(shell oc get route default-route -n openshift-image-registry -o jsonpath="{.spec.host}")/$(NAMESPACE)/fleetshard-operator:$(IMAGE_TAG)" --platform linux/amd64 --push -f fleetshard-operator/Dockerfile .
607-
.PHONY: image/push/fleetshard-operator/internal
608-
609585
# Touch all necessary secret files for fleet manager to start up
610586
secrets/touch:
611587
touch secrets/aws.accesskey \

docs/auth/jwt-claims.md

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,3 @@ Below is the list of jwt claims used in the fleet-manager
5252
* **rh-user-id** - user id in service account.
5353

5454
* **username** - username of the entity for which the token was issued. Obtained from the short living ocm token used in the http request. Central request owner value is assigned from the username value.
55-
56-
### Token generated by fleetshard-operator service account (https://gitlab.cee.redhat.com/mk-ci-cd/sso-configuration-files/-/blob/master/docs/service-accounts/fleetshard-agent.md)
57-
58-
claim:
59-
60-
* **fleetshard-operator-cluster-id** - used by authenticated context to call dataplane endpoints
61-
62-
Role:
63-
64-
* **fleetshard_operator**

docs/development/implementation.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ api-routes -> http middleware -> handler -> business logic -> database / externa
2828
>NOTE: The inner layers shouldn't know any details about the outer layer. e.g the business logic layer should call methods in the http middleware layer.
2929
3030
The Rest endpoints are of three categories.
31-
- [Public user facing API](../openapi/fleet-manager.yaml)
32-
- [The admin endpoints](../openapi/fleet-manager-private-admin.yaml) to perform some admin tasks like upgrades. The endpoint is not visible to the normal user and it requires special permissions to be accessed
33-
- [The fleetshard synchronisation endpoints](../openapi/fleet-manager-private.yaml) for communication between the fleetshard operator and the fleet manager. The endpoint is not visible to the user and it requires a special _service account_ in sso to be accessed.
31+
- [Public user facing API](../../openapi/fleet-manager.yaml)
32+
- [The admin endpoints](../../openapi/fleet-manager-private-admin.yaml) to perform some admin tasks like upgrades. The endpoint is not visible to the normal user and it requires special permissions to be accessed
33+
- [The fleetshard synchronisation endpoints](../../openapi/fleet-manager-private.yaml) for communication between the fleetshard sync and the fleet manager. The endpoint is not visible to the user and it requires a special _service account_ in sso to be accessed.
3434

3535
They are all setup in the [route_loder.go](../internal/central/pkg/routes/route_loader.go) file.
3636

@@ -66,7 +66,7 @@ There are currently 7 central workers, which are located in the [centrals_mgrs f
6666
- [`deleting_centrals_mgr.go`](../internal/central/pkg/workers/centrals_mgrs/deleting_centrals_mgr.go) responsible for handling the deletion of centrals e.g removing resources like AWS Route53 entry, IAM secrets client
6767
- [`accepted_centrals_mgr.go`](../internal/central/pkg/workers/centrals_mgrs/accepted_centrals_mgr.go) responsible for checking if user is within Quota before provisioning a central. Afterwards, it will periodically reconcile on all pending Central resources, attempt to find a valid OpenShift cluster to fit it's requirements (cloud provider, region, etc.) and provision a Central instance to the cluster. Once a suitable Dataplane cluster has been found, we'll update the status of the Central resource to reflect it's current progress.
6868
- [`preparing_centrals_mgr.go`](../internal/central/pkg/workers/centrals_mgrs/preparing_centrals_mgr.go) responsible for creating external resources e.g AWS Route53 DNS, IAM authentication secrets
69-
- [`provisioning_centrals_mgr.go`](../internal/central/pkg/workers/centrals_mgrs/provisioning_centrals_mgr.go) responsible for checking if a provisioned central is ready as reported by the fleetshard-operator
69+
- [`provisioning_centrals_mgr.go`](../internal/central/pkg/workers/centrals_mgrs/provisioning_centrals_mgr.go) responsible for checking if a provisioned central is ready as reported by the fleetshard-sync
7070
- [`ready_centrals_mgr.go`](../internal/central/pkg/workers/centrals_mgrs/ready_centrals_mgr.go) responsible for reconciling external resources of a ready centrals
7171
- [`centrals_routes_cname_mgr.go`](../internal/central/pkg/workers/centrals_mgrs/centrals_routes_cname_mgr.go) responsible for reconciliation of DNS records for each centrals' routes.
7272

docs/development/test-locally-with-fleetshard-sync.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Test Locally with the fleetshard Synchronizer
22

3-
The communication between the fleetshard operator and the fleet-manager will be handled by the synchronizer module. The communication is established by the synchronizer module, so for it to work it needs to know the url of the control plane. However, when you run the fleet-manager locally and the fleetshard operator on a remote public OSD cluster, this will not work as there is no public URL for the synchronizer to use.
3+
The communication between the fleetshard-sync and the fleet-manager will be handled by the synchronizer module. The communication is established by the synchronizer module, so for it to work it needs to know the url of the control plane. However, when you run the fleet-manager locally and the fleetshard-sync on a remote OpenShift cluster, this will not work as there is no public URL for the synchronizer to use.
44

55
To solve this problem, it is recommended to use a service like [ngrok](https://ngrok.com/). Ngrok will be able to expose your local sever on the public internet.
66

0 commit comments

Comments
 (0)