df9e21807e
fix: git conflict
2025-07-04 16:22:39 -04:00
b1bf4fd4d5
fix: cargo fmt
2025-07-04 16:14:47 -04:00
f702ecd8c9
fix: deploys a lighter weight prometheus and grafana which is limited to their respective namespaces
2025-07-04 16:13:41 -04:00
a19b52e690
fix: properly append YAML in correct places in argoapplication ( #80 )
...
Co-authored-by: tahahawa <tahahawa@gmail.com>
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/80
2025-07-04 15:32:02 +00:00
b73f2e76d0
Merge pull request 'refact: Make RustWebappScore generic, it is now Application score and takes an application and list of features to attach to the application' ( #81 ) from refact/application into master
...
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/81
Reviewed-by: wjro <wrolleman@nationtech.io>
2025-07-04 14:31:38 +00:00
b4534c6ee0
refact: Make RustWebappScore generic, it is now Application score and takes an application and list of features to attach to the application
2025-07-04 10:27:16 -04:00
6149249a6c
feat: create Argo interpret and kube client apply_yaml to install Argo Applications. Very messy implementation though, must be refactored/improved
2025-07-04 09:49:43 -04:00
d9935e20cb
Merge pull request 'feat: harmony now defaults to using local k3d cluster. Also created OCICompliant: Application trait to make building images cleaner' ( #76 ) from feat/oci into master
...
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/76
2025-07-03 19:37:46 +00:00
7b0f3b79b1
Merge remote-tracking branch 'origin/master' into feat/oci
2025-07-03 15:36:52 -04:00
e6612245a5
Merge pull request 'feat/cd/localdeploymentdemo' ( #79 ) from feat/cd/localdeploymentdemo into feat/oci
...
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/79
2025-07-03 19:31:45 +00:00
b4f5b91a57
feat: WIP argocd_score ( #78 )
...
Co-authored-by: tahahawa <tahahawa@gmail.com>
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/78
Reviewed-by: johnride <jg@nationtech.io>
Co-authored-by: Taha Hawa <taha@taha.dev>
Co-committed-by: Taha Hawa <taha@taha.dev>
2025-07-03 19:30:00 +00:00
d317c0ba76
fix: Continuous delivery now works with rust example to deploy on local k3d, ingress and everything
2025-07-03 15:25:43 -04:00
539b8299ae
feat(continuousdelivery): Local deployment implementation for demo purposes. Needs a lot of refactoring but it works (or almost works)
2025-07-03 11:55:10 -04:00
5a89495c61
feat: implement helm chart generation and publishing
...
- Added functionality to generate a Helm chart for the application.
- Implemented chart packaging and pushing to an OCI registry.
- Utilized `helm package` and `helm push` commands.
- Included configurable registry URL and project name.
- Added tests to verify chart generation and packaging.
- Improved error handling and logging.
2025-07-03 07:19:37 -04:00
fb7849c010
feat: Add sample leptos webapp as example
2025-07-02 23:13:08 -04:00
6371009c6f
breaking: Rename Maestro::new to Maestro::new_without_initialization. This improves UX as it makes it more obvious to users that this method should rarely be used
2025-07-02 17:47:23 -04:00
a4aa685a4f
feat: harmony now defaults to using local k3d cluster. Also created OCICompliant: Application trait to make building images cleaner
2025-07-02 17:42:29 -04:00
6bf10b093c
Merge pull request 'refactor/ns' ( #74 ) from refactor/ns into master
...
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/74
Reviewed-by: taha <taha@noreply.git.nationtech.io>
2025-07-02 19:54:28 +00:00
3eecc2f590
fix: K8sTenantManager is responsible for concrete implementation. K8sAnywhere should delegate
2025-07-02 15:51:30 -04:00
3959c07261
Merge remote-tracking branch 'origin/master' into refactor/ns
2025-07-02 15:13:13 -04:00
e50c01c0b3
fix: Forgotten file 🙈
2025-07-02 15:11:03 -04:00
286460d59e
Merge pull request 'feat: added default resource limit and request to k8s tenant' ( #75 ) from feat/tenant_limit_range into master
...
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/75
Reviewed-by: taha <taha@noreply.git.nationtech.io>
2025-07-02 18:55:04 +00:00
4baa3ae707
feat: added default resource limit and request to k8s tenant
2025-07-02 14:06:08 -04:00
82119076cf
fix: merge conflict
2025-07-02 13:46:26 -04:00
f2a350fae6
fix: comments from pr
2025-07-02 13:35:20 -04:00
197770a603
feat: Add ntfy score ( #69 )
...
Co-authored-by: tahahawa <tahahawa@gmail.com>
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/69
2025-07-02 16:19:35 +00:00
ab69a2c264
feat: add service monitors support to prom ( #66 )
...
Co-authored-by: tahahawa <tahahawa@gmail.com>
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/66
Co-authored-by: taha <taha@noreply.git.nationtech.io>
Co-committed-by: taha <taha@noreply.git.nationtech.io>
2025-07-02 15:29:16 +00:00
e857efa92f
fix merge conflict
2025-07-02 11:26:27 -04:00
2ff3f4afa9
Merge pull request 'feat: Introduce Application trait, not too sure how it will evolve but it makes sense, at the very least to identify the Application, also some minor refactoring' ( #73 ) from feat/applicationTrait into master
...
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/73
2025-07-02 15:25:26 +00:00
2f6a11ead7
Merge pull request 'feat: Application Interpret still WIP but now call ensure_installed on features, also introduced a rust app example, completed work on clone_box behavior' ( #72 ) from feat/rust_cd into master
...
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/72
2025-07-02 15:20:24 +00:00
7de9860dcf
refactor: monitoring takes namespace from tenant
2025-07-02 11:14:24 -04:00
6e884cff3a
feat: Start default implementation to ArgoCD for ContinuousDelivery feature
2025-07-02 11:14:24 -04:00
c74c51090a
feat: Introduce Application trait, not too sure how it will evolve but it makes sense, at the very least to identify the Application, also some minor refactoring
2025-07-02 09:48:26 -04:00
8ae0d6b548
feat: Application Interpret still WIP but now call ensure_installed on features, also introduced a rust app example, completed work on clone_box behavior
2025-07-01 22:44:44 -04:00
ee02906ce9
fix(composer): spawn commands to allow interaction ( #71 )
...
Using `Command::output()` executes the command and wait for it to be finished before returning the output.
Though in some cases the user might need to interact with the CLI before continuing, which hangs the command execution.
Instead, using `Command::spawn()` allows to forward stdin/stdout to the parent process.
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/71
Reviewed-by: johnride <jg@nationtech.io>
2025-07-01 21:08:19 +00:00
284cc6afd7
feat: Application module architecture and placeholder features ( #70 )
...
With this architecture, we have an extensible application module for which we can easily define new features and add them to application scores.
All this is driven by the ApplicationInterpret, who understands features and make sure they are "installed".
The drawback of this design is that we now have three different places to launch scores within Harmony : Maestro, Topology and Interpret. This is an architectural smell and I am not sure how to deal with it at the moment.
However, all these places where execution is performed make sense semantically : an ApplicationInterpret must understand ApplicationFeatures and can very well be responsible of them. Same goes for a Topology which provides features itself by composition (ex. K8sAnywhereTopology implements TenantManager) so it is natural for this very imp
lementation to know how to install itself.
Co-authored-by: Ian Letourneau <ian@noma.to>
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/70
Co-authored-by: Jean-Gabriel Gill-Couture <jg@nationtech.io>
Co-committed-by: Jean-Gabriel Gill-Couture <jg@nationtech.io>
2025-07-01 19:40:30 +00:00
9bf6aac82e
doc: Fix curl command for environments without ~/.local/bin/ folder
2025-07-01 11:32:24 -04:00
460c8b59e1
wip: helm chart deploys to namespace with resource limits and requests, trying to fix connection refused to api error
2025-06-27 14:47:28 -04:00
8e857bc72a
wip: using the name from tenant config as deployment namespace for kubeprometheus deployment or defaulting to monitoring if no tenant config exists
2025-06-26 16:24:19 -04:00
e8d55d27e4
Merge pull request 'feat: added webhook receiver to alertchannels' ( #68 ) from feat/webhook_receiver into master
...
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/68
Reviewed-by: taha <taha@noreply.git.nationtech.io>
2025-06-26 16:43:25 +00:00
fea7e9ddb9
doc: Improve harmony_composer README single command usage
2025-06-26 12:40:39 -04:00
7ec89cdac5
fix: cargo fmt
2025-06-26 11:26:07 -04:00
55143dcad4
Merge pull request 'feat: add dry-run functionality and similar dependency' ( #62 ) from feat/dryRun into master
...
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/62
Reviewed-by: wjro <wrolleman@nationtech.io>
2025-06-26 15:14:25 +00:00
17ad92402d
feat: added webhook receiver to alertchannels
2025-06-26 10:12:18 -04:00
29e74a2712
Merge pull request 'feat: added alert rule and impl for prometheus as well as a few preconfigured bmc alerts for dell server that are used in the monitoring example' ( #67 ) from feat/alert_rules into master
...
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/67
2025-06-26 13:16:38 +00:00
e16f8fa82e
fix: modified directory names to be in line with alert functions and deployment environments
2025-06-25 16:10:45 -04:00
c21f3084dc
feat: added alert rule and impl for prometheus as well as a few preconfigured bmc alerts for dell server that are used in the monitoring example
2025-06-25 15:10:16 -04:00
2c706225a1
feat: Publishing a release of harmony composer binary as latest-snapshot ( #65 )
...
Co-authored-by: tahahawa <tahahawa@gmail.com>
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/65
Reviewed-by: taha <taha@noreply.git.nationtech.io>
Co-authored-by: Jean-Gabriel Gill-Couture <jg@nationtech.io>
Co-committed-by: Jean-Gabriel Gill-Couture <jg@nationtech.io>
2025-06-25 15:14:45 +00:00
acfb93f1a2
feat: add dry-run functionality and similar dependency
...
- Implemented a dry-run mode for K8s resource patching, displaying diffs before applying changes.
- Added the `similar` dependency for calculating and displaying text diffs.
- Enhanced K8s resource application to handle various port specifications in NetworkPolicy ingress rules.
- Added support for port ranges and lists of ports in NetworkPolicy rules.
- Updated K8s client to utilize the dry-run configuration setting.
- Added configuration option `HARMONY_DRY_RUN` to enable or disable dry-run mode.
2025-06-24 14:54:22 -04:00
f437c40428
impl_monitoring_alerting_kube_prometheus ( #64 )
...
Co-authored-by: tahahawa <tahahawa@gmail.com>
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/64
Co-authored-by: Willem <wrolleman@nationtech.io>
Co-committed-by: Willem <wrolleman@nationtech.io>
2025-06-24 18:54:15 +00:00