You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|**Kargo**| git commits, image tags, or Helm chart versions | A variety of options (PRs, commits, out-of-sync apps) | Defined by a DAG and a variety of rules |
33
-
|**Codefresh Products**| json-path-specified fields | Codefresh backend | Manually or according to promotion rules|
33
+
|**Codefresh GitOps**| json-paths in Helm/Kustomize/or other manifests | Automated PR or commit (DRY) in folder or branch| When promotion policies are met|
34
34
35
35
## GitOps Promoter
36
36
@@ -71,14 +71,18 @@ be assembled in a DAG. You can interact with the DAG via a custom UI/CLI.
71
71
pushing a commit, leaving "freight" as "unqualified" (represented as status fields on CRs)
72
72
3. When to promote: defined by a DAG and a variety of rules such as manual approval or Argo CD app health
73
73
74
-
## Codefresh Products
74
+
## Codefresh GitOps
75
75
76
-
This tool uses file selectors and json paths. You can structure your git repo however you want. Then you write file
76
+
[Codefresh GitOps' promotion feature](https://codefresh.io/docs/docs/promotions/promotions-overview/) uses file selectors and json paths. You can structure your git repo however you want. Then you write file
77
77
selectors and json paths to determine which parts of the repo should be moved from file to file. For example, if your
78
78
app is structured as a Helm chart with environment-specific values files, you can define your promotion rules to copy
79
79
the .image.tag field from the values-dev.yaml file to the values-prod.yaml file.
80
80
81
-
1. What to promote: json-path-specified fields from lower-env yaml files to higher-env files
82
-
2. How to "hold" the change: Codefresh backend
83
-
3. When to promote: manually or according to promotion rules (TODO: further research this part)
81
+
This tool tracks the relationship between Argo CD applications by using a "product" name and then groups those products by "environment". An Environment can be any combination of clusters, namespaces, or Application annotations. Changes are coordinated by the GitOps control plane across any number of Argo instances, clusters, or applications.
82
+
83
+
Currently, diffing is limited to DRY manifests with [hydrated server-side rendered diffs planned](https://roadmap.codefresh.io/c/128-promotion-preview).
84
+
85
+
1. What to promote: json-path-specified fields from lower-env yaml files to higher-env files between Argo CD applications linked by a "product" name"
86
+
2. How to "hold" the change: Pull Request or Commit
87
+
3. When to promote: when promotion policies are met, for example, tests pass, approvals are given, pull request requirements are met, environment has certain tags, or manual promotion is allowed (drag and drop).
0 commit comments