Leverage Scores to implement the ApplicationFeatures #103

Open
opened 2025-08-11 20:29:09 +00:00 by letian · 0 comments
Owner

A Score is meant to be a very flexible, reusable component in Harmony. It describes a very specific action we apply on our Topology to prepare our environment as needed.

An ApplicationFeature is a higher level concept used to enrich how an Application is supposed to run on our environment.

Current behavior

Currently, as we can see for example in the ContinuousDelivery feature, each step is "harcoded" within the feature. It could be greatly improved if it was leveraging Scores to apply these actions instead. This could provide better progress tracking within the CLI as well, thanks to the automatic progress tracking of Scores.

Expected behavior

Add new scores when needed and use them to ensure the existing ApplicationFeature are installed properly.

For example for ContinuousDelivery, we could have a PackageHelmChartScore, PushHelmChartScore, BuildDockerImageScore, PushDockerImageScore, etc.

A `Score` is meant to be a very flexible, reusable component in Harmony. It describes a very specific action we apply on our `Topology` to prepare our environment as needed. An `ApplicationFeature` is a higher level concept used to enrich how an `Application` is supposed to run on our environment. ## Current behavior Currently, as we can see for example in the [ContinuousDelivery](https://git.nationtech.io/NationTech/harmony/src/branch/master/harmony/src/modules/application/features/continuous_delivery.rs) feature, each step is "harcoded" within the feature. It could be greatly improved if it was leveraging `Scores` to apply these actions instead. This could provide better progress tracking within the CLI as well, thanks to the automatic progress tracking of Scores. ## Expected behavior Add new scores when needed and use them to ensure the existing `ApplicationFeature` are installed properly. For example for `ContinuousDelivery`, we could have a `PackageHelmChartScore`, `PushHelmChartScore`, `BuildDockerImageScore`, `PushDockerImageScore`, etc.
letian added the
Good first issue
label 2025-08-11 20:31:05 +00:00
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#103
No description provided.