[ContinuousDelivery] Delegate deployment responsibilities to the Topology #106

Open
opened 2025-08-12 00:14:52 +00:00 by letian · 0 comments
Owner

Current behavior

ConttinuousDelivery knows way too much about implementation details and on which actual environment it is running. Which means there are a lot of responsibilities in the wrong place and that could be hard to maintain.

Expected behavior

Delegate as much as possible to the Topology considering its their responsibility to know about their environment and how to actually apply changes on it.

It needs a lot more thinking, but achieving something as simple as that could be interesting:

topology.install_applications(vec![CDApplicationConfig {
  version: Version::from("0.1.0").unwrap(),
  repo_url: "hub.nationtech.io/harmony".to_string(),
  release_name: "harmony-example-rust-webapp-chart".to_string(),
  name: "harmony-example-rust-webapp".to_string()
}]);

Refs:

match topology.current_target() {

"FIXME This works only with local k3d installations, which is fine only for current demo purposes. We assume usage of K8sAnywhereTopology"

## Current behavior `ConttinuousDelivery` knows way too much about implementation details and on which actual environment it is running. Which means there are a lot of responsibilities in the wrong place and that could be hard to maintain. ## Expected behavior Delegate as much as possible to the `Topology` considering its their responsibility to know about their environment and how to actually apply changes on it. It needs a lot more thinking, but achieving something as simple as that could be interesting: ```rs topology.install_applications(vec![CDApplicationConfig { version: Version::from("0.1.0").unwrap(), repo_url: "hub.nationtech.io/harmony".to_string(), release_name: "harmony-example-rust-webapp-chart".to_string(), name: "harmony-example-rust-webapp".to_string() }]); ``` Refs: https://git.nationtech.io/NationTech/harmony/src/commit/bd214f8fb8b68f8d9730875affe06ead13765113/harmony/src/modules/application/features/continuous_delivery.rs#L174 https://git.nationtech.io/NationTech/harmony/src/commit/bd214f8fb8b68f8d9730875affe06ead13765113/harmony/src/modules/application/features/continuous_delivery.rs#L60
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: NationTech/harmony#106
No description provided.