Skip to content

feat: Rancher Fleet multi-cluster deployment for EdgeKit#5

Draft
Copilot wants to merge 6 commits into
copilot/integrate-edgex-platformfrom
copilot/integrate-rancher
Draft

feat: Rancher Fleet multi-cluster deployment for EdgeKit#5
Copilot wants to merge 6 commits into
copilot/integrate-edgex-platformfrom
copilot/integrate-rancher

Conversation

Copilot AI commented May 25, 2026

Copy link
Copy Markdown

EdgeKit needs to run across two cluster tiers in a SUSE Rancher environment: the MQTT broker on a central k3s cluster and edge agents on individual k3s edge nodes (e.g. ARK-1222 on SL Micro 6.2).

Rancher Fleet GitOps

  • fleet.yaml at repo root — Fleet deploys broker vs. agent based on cluster labels:
    • edgekit/role=central → server only, NodePort exposed
    • edgekit/role=edge → client only, pointed at central node IP
# Label clusters in Rancher, then Fleet handles the rest
kubectl label cluster <central> -n fleet-default edgekit/role=central
kubectl label cluster <edge>    -n fleet-default edgekit/role=edge

Split Helm values

  • values-server.yaml — central cluster: server enabled, client disabled, NodePort service on 31883 (MQTT) / 31901 (WS)
  • values-client.yaml — edge cluster: server disabled, client enabled with external broker URL placeholder
# Central
helm install edgekit ./helm/edgekit -f helm/edgekit/values-server.yaml ...

# Edge
helm install edgekit ./helm/edgekit -f helm/edgekit/values-client.yaml \
  --set client.mqttBrokerUrl="ws://<CENTRAL_NODE_IP>:31901"

Helm chart changes

  • values.yaml — adds server.service.nodePorts.{mqtt,ws} (empty by default, auto-allocated when blank)
  • server-service.yaml — conditionally emits nodePort: fields only when type: NodePort and a port value is set; ClusterIP rendering is unchanged

Docs

  • docs/rancher.md — full deployment guide: Fleet GitOps setup, manual install, LoadBalancer alternative, firewall requirements
  • README.md and docs/quickstart.md updated with Rancher sections

Copilot AI linked an issue May 25, 2026 that may be closed by this pull request
- Add fleet.yaml for Rancher Fleet multi-cluster GitOps deployment
  (central clusters get the broker; edge clusters get the agent)
- Add helm/edgekit/values-server.yaml for central cluster (server only,
  NodePort 31883/31901)
- Add helm/edgekit/values-client.yaml for edge cluster (client only,
  external broker URL)
- Extend helm/edgekit/values.yaml with server.service.nodePorts
- Update server-service.yaml template to emit nodePort fields when
  service type is NodePort
- Add docs/rancher.md: full Rancher / k3s deployment guide
- Update README.md and docs/quickstart.md with Rancher section
Copilot AI changed the title [WIP] Integrate Rancher for client and server environments feat: Rancher Fleet multi-cluster deployment for EdgeKit May 25, 2026
Copilot AI requested a review from tomgrv May 25, 2026 21:27
Copilot finished work on behalf of tomgrv May 25, 2026 21:27
@tomgrv tomgrv changed the base branch from develop to copilot/integrate-edgex-platform May 26, 2026 16:27

@tomgrv tomgrv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot Update as per new branch and updated codebase

…r topology

- Merge origin/copilot/integrate-edgex-platform (EdgeX Foundry 4.0 integration)
- Resolve conflicts in fleet.yaml, values-server.yaml, values-client.yaml:
  use valuesFiles references and LoadBalancer service type from base branch
- Fix cross-cluster broker URL placeholder (was in-cluster DNS, now
  CENTRAL_LB_IP_OR_HOSTNAME) in values-client.yaml and values-thin-client.yaml
- Add NodePort alternative comment to values-server.yaml for bare-metal k3s
- Update docs/rancher.md: three cluster roles (central/edge/edge-thin),
  LoadBalancer as primary with NodePort fallback, thin-client section
- Update README.md Rancher section: add edge-thin cluster type, fix commands
- Update docs/quickstart.md: reference three cluster roles

Copilot AI commented May 26, 2026

Copy link
Copy Markdown
Author

@copilot Update as per new branch and updated codebase

Updated in commit 9aae886 — same changes as noted in the reply above.

Copilot finished work on behalf of tomgrv May 26, 2026 16:51
Copilot AI requested a review from tomgrv May 26, 2026 16:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

integrate rancher

2 participants