diff --git a/docs/cmd/jx-gitops_annotate.md b/docs/cmd/jx-gitops_annotate.md index 695ad2f76..9756b7072 100644 --- a/docs/cmd/jx-gitops_annotate.md +++ b/docs/cmd/jx-gitops_annotate.md @@ -31,7 +31,7 @@ Annotates all kubernetes resources in the given directory tree --kind-ignore stringArray adds Kubernetes resource kinds to exclude. For kind expressions see: https://github.com/jenkins-x/jx-helpers/tree/master/docs/kind_filters.md --overwrite Set to false to not overwrite any existing value (default true) -p, --pod-spec annotate the PodSpec in spec.template.metadata.annotations (or spec.jobTemplate.spec.template.metadata.annotations for CronJobs) rather than the top level annotations - --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=pusher-wave,heritage=Helm (default []) + --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=wave,heritage=Helm (default []) --selector-target string sets which path in the Kubernetes resources to select on instead of metadata.labels. ``` @@ -39,4 +39,4 @@ Annotates all kubernetes resources in the given directory tree * [jx-gitops](jx-gitops.md) - commands for working with GitOps based git repositories -###### Auto generated by spf13/cobra on 7-Oct-2024 +###### Auto generated by spf13/cobra on 29-Apr-2026 diff --git a/docs/cmd/jx-gitops_helmfile_move.md b/docs/cmd/jx-gitops_helmfile_move.md index 250fec1cd..bdc5493fe 100644 --- a/docs/cmd/jx-gitops_helmfile_move.md +++ b/docs/cmd/jx-gitops_helmfile_move.md @@ -42,7 +42,7 @@ The annotation "meta.helm.sh/release-namespace" will be added by default and con --kind-ignore stringArray adds Kubernetes resource kinds to exclude. For kind expressions see: https://github.com/jenkins-x/jx-helpers/tree/master/docs/kind_filters.md -o, --output-dir string the output directory (default "config-root") --override-namespace applies the namespace specified in helmfile to all the generated resources (default true) - --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=pusher-wave,heritage=Helm (default []) + --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=wave,heritage=Helm (default []) --selector-target string sets which path in the Kubernetes resources to select on instead of metadata.labels. ``` @@ -50,4 +50,4 @@ The annotation "meta.helm.sh/release-namespace" will be added by default and con * [jx-gitops helmfile](jx-gitops_helmfile.md) - Commands for working with helmfile -###### Auto generated by spf13/cobra on 6-Nov-2024 +###### Auto generated by spf13/cobra on 29-Apr-2026 diff --git a/docs/cmd/jx-gitops_image.md b/docs/cmd/jx-gitops_image.md index 6b5db40aa..50ea078e0 100644 --- a/docs/cmd/jx-gitops_image.md +++ b/docs/cmd/jx-gitops_image.md @@ -29,7 +29,7 @@ Updates images in the kubernetes resources from the version stream -k, --kind stringArray adds Kubernetes resource kinds to filter on. For kind expressions see: https://github.com/jenkins-x/jx-helpers/tree/master/docs/kind_filters.md --kind-ignore stringArray adds Kubernetes resource kinds to exclude. For kind expressions see: https://github.com/jenkins-x/jx-helpers/tree/master/docs/kind_filters.md --log-level string Sets the logging level. If not specified defaults to $JX_LOG_LEVEL - --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=pusher-wave,heritage=Helm (default []) + --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=wave,heritage=Helm (default []) --selector-target string sets which path in the Kubernetes resources to select on instead of metadata.labels. -s, --source-dir string the directory to recursively look for the *.yaml files to modify (default "content-root") --verbose Enables verbose output. The environment variable JX_LOG_LEVEL has precedence over this flag and allows setting the logging level to any value of: panic, fatal, error, warn, info, debug, trace @@ -40,4 +40,4 @@ Updates images in the kubernetes resources from the version stream * [jx-gitops](jx-gitops.md) - commands for working with GitOps based git repositories -###### Auto generated by spf13/cobra on 7-Oct-2024 +###### Auto generated by spf13/cobra on 29-Apr-2026 diff --git a/docs/cmd/jx-gitops_label.md b/docs/cmd/jx-gitops_label.md index 248d15d63..09bd1de97 100644 --- a/docs/cmd/jx-gitops_label.md +++ b/docs/cmd/jx-gitops_label.md @@ -31,7 +31,7 @@ Labels all kubernetes resources in the given directory tree --kind-ignore stringArray adds Kubernetes resource kinds to exclude. For kind expressions see: https://github.com/jenkins-x/jx-helpers/tree/master/docs/kind_filters.md --overwrite Set to false to not overwrite any existing value (default true) -p, --pod-spec label the PodSpec in spec.template.metadata.labels (or spec.jobTemplate.spec.template.metadata.labels for CronJobs) rather than the top level labels - --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=pusher-wave,heritage=Helm (default []) + --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=wave,heritage=Helm (default []) --selector-target string sets which path in the Kubernetes resources to select on instead of metadata.labels. ``` @@ -39,4 +39,4 @@ Labels all kubernetes resources in the given directory tree * [jx-gitops](jx-gitops.md) - commands for working with GitOps based git repositories -###### Auto generated by spf13/cobra on 7-Oct-2024 +###### Auto generated by spf13/cobra on 29-Apr-2026 diff --git a/docs/cmd/jx-gitops_namespace.md b/docs/cmd/jx-gitops_namespace.md index 21b7cf3cb..43a24c023 100644 --- a/docs/cmd/jx-gitops_namespace.md +++ b/docs/cmd/jx-gitops_namespace.md @@ -36,7 +36,7 @@ Updates all kubernetes resources in the given directory to the given namespace -k, --kind stringArray adds Kubernetes resource kinds to filter on. For kind expressions see: https://github.com/jenkins-x/jx-helpers/tree/master/docs/kind_filters.md --kind-ignore stringArray adds Kubernetes resource kinds to exclude. For kind expressions see: https://github.com/jenkins-x/jx-helpers/tree/master/docs/kind_filters.md -n, --namespace string the namespace to modify the resources to - --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=pusher-wave,heritage=Helm (default []) + --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=wave,heritage=Helm (default []) --selector-target string sets which path in the Kubernetes resources to select on instead of metadata.labels. ``` @@ -44,4 +44,4 @@ Updates all kubernetes resources in the given directory to the given namespace * [jx-gitops](jx-gitops.md) - commands for working with GitOps based git repositories -###### Auto generated by spf13/cobra on 7-Oct-2024 +###### Auto generated by spf13/cobra on 29-Apr-2026 diff --git a/docs/cmd/jx-gitops_repository_add.md b/docs/cmd/jx-gitops_repository_add.md index 90add51b7..06b7143cc 100644 --- a/docs/cmd/jx-gitops_repository_add.md +++ b/docs/cmd/jx-gitops_repository_add.md @@ -30,7 +30,7 @@ Add one or more repositories to the SourceConfig --kind-ignore stringArray adds Kubernetes resource kinds to exclude. For kind expressions see: https://github.com/jenkins-x/jx-helpers/tree/master/docs/kind_filters.md --namespace string the namespace to discover SourceRepository resources to default the GitKind. If not specified then use the current namespace -s, --scheduler string the name of the Scheduler to use for the repository - --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=pusher-wave,heritage=Helm (default []) + --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=wave,heritage=Helm (default []) --selector-target string sets which path in the Kubernetes resources to select on instead of metadata.labels. ``` @@ -38,4 +38,4 @@ Add one or more repositories to the SourceConfig * [jx-gitops repository](jx-gitops_repository.md) - Commands for working with source repositories -###### Auto generated by spf13/cobra on 19-Feb-2025 +###### Auto generated by spf13/cobra on 29-Apr-2026 diff --git a/docs/cmd/jx-gitops_repository_create.md b/docs/cmd/jx-gitops_repository_create.md index 7a757533c..ec7280c14 100644 --- a/docs/cmd/jx-gitops_repository_create.md +++ b/docs/cmd/jx-gitops_repository_create.md @@ -21,7 +21,7 @@ Creates any missing SourceRepository resources --invert-selector inverts the effect of selector to exclude resources matched by selector -k, --kind stringArray adds Kubernetes resource kinds to filter on. For kind expressions see: https://github.com/jenkins-x/jx-helpers/tree/master/docs/kind_filters.md --kind-ignore stringArray adds Kubernetes resource kinds to exclude. For kind expressions see: https://github.com/jenkins-x/jx-helpers/tree/master/docs/kind_filters.md - --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=pusher-wave,heritage=Helm (default []) + --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=wave,heritage=Helm (default []) --selector-target string sets which path in the Kubernetes resources to select on instead of metadata.labels. -s, --source-dir string the directory to look for and generate the SourceConfig files ``` @@ -30,4 +30,4 @@ Creates any missing SourceRepository resources * [jx-gitops repository](jx-gitops_repository.md) - Commands for working with source repositories -###### Auto generated by spf13/cobra on 19-Feb-2025 +###### Auto generated by spf13/cobra on 29-Apr-2026 diff --git a/docs/cmd/jx-gitops_repository_export.md b/docs/cmd/jx-gitops_repository_export.md index 301a2f4cb..d26abafbf 100644 --- a/docs/cmd/jx-gitops_repository_export.md +++ b/docs/cmd/jx-gitops_repository_export.md @@ -28,7 +28,7 @@ jx-gitops repository export -k, --kind stringArray adds Kubernetes resource kinds to filter on. For kind expressions see: https://github.com/jenkins-x/jx-helpers/tree/master/docs/kind_filters.md --kind-ignore stringArray adds Kubernetes resource kinds to exclude. For kind expressions see: https://github.com/jenkins-x/jx-helpers/tree/master/docs/kind_filters.md -n, --namespace string the namespace to look for SourceRepository, SourceRepositoryGroup and Scheduler resources - --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=pusher-wave,heritage=Helm (default []) + --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=wave,heritage=Helm (default []) --selector-target string sets which path in the Kubernetes resources to select on instead of metadata.labels. ``` @@ -36,4 +36,4 @@ jx-gitops repository export * [jx-gitops repository](jx-gitops_repository.md) - Commands for working with source repositories -###### Auto generated by spf13/cobra on 19-Feb-2025 +###### Auto generated by spf13/cobra on 29-Apr-2026 diff --git a/docs/cmd/jx-gitops_repository_resolve.md b/docs/cmd/jx-gitops_repository_resolve.md index a85e5e3de..2ba0ffec1 100644 --- a/docs/cmd/jx-gitops_repository_resolve.md +++ b/docs/cmd/jx-gitops_repository_resolve.md @@ -27,7 +27,7 @@ Resolves the git repository URL for the cluster/environment --invert-selector inverts the effect of selector to exclude resources matched by selector -k, --kind stringArray adds Kubernetes resource kinds to filter on. For kind expressions see: https://github.com/jenkins-x/jx-helpers/tree/master/docs/kind_filters.md --kind-ignore stringArray adds Kubernetes resource kinds to exclude. For kind expressions see: https://github.com/jenkins-x/jx-helpers/tree/master/docs/kind_filters.md - --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=pusher-wave,heritage=Helm (default []) + --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=wave,heritage=Helm (default []) --selector-target string sets which path in the Kubernetes resources to select on instead of metadata.labels. -s, --source-dir string the directory to recursively look for the *.yaml or *.yml source Environment/SourceRepository files (default ".") ``` @@ -36,4 +36,4 @@ Resolves the git repository URL for the cluster/environment * [jx-gitops repository](jx-gitops_repository.md) - Commands for working with source repositories -###### Auto generated by spf13/cobra on 7-Oct-2024 +###### Auto generated by spf13/cobra on 29-Apr-2026 diff --git a/docs/cmd/jx-gitops_requirement_edit.md b/docs/cmd/jx-gitops_requirement_edit.md index e59eb5504..747e68725 100644 --- a/docs/cmd/jx-gitops_requirement_edit.md +++ b/docs/cmd/jx-gitops_requirement_edit.md @@ -36,7 +36,6 @@ Edits the local 'jx-requirements.yml file --git-name string the name of the git repository --git-server string the git server host such as https://github.com or https://gitlab.com -h, --help help for edit - --kaniko-sa string configures the Kaniko service account name --project string configures the Google Project ID -p, --provider string configures the kubernetes provider -r, --region string configures the cloud region @@ -58,4 +57,4 @@ Edits the local 'jx-requirements.yml file * [jx-gitops requirement](jx-gitops_requirement.md) - Commands for working with jx-requirements.yml -###### Auto generated by spf13/cobra on 5-Oct-2022 +###### Auto generated by spf13/cobra on 29-Apr-2026 diff --git a/docs/cmd/jx-gitops_sa_secret.md b/docs/cmd/jx-gitops_sa_secret.md index 655110c99..5b87bf6ea 100644 --- a/docs/cmd/jx-gitops_sa_secret.md +++ b/docs/cmd/jx-gitops_sa_secret.md @@ -26,7 +26,7 @@ Adds one or more secrets to the given ServiceAccount files -k, --kind stringArray adds Kubernetes resource kinds to filter on. For kind expressions see: https://github.com/jenkins-x/jx-helpers/tree/master/docs/kind_filters.md --kind-ignore stringArray adds Kubernetes resource kinds to exclude. For kind expressions see: https://github.com/jenkins-x/jx-helpers/tree/master/docs/kind_filters.md -s, --secret stringArray the Secret names to add to the ServiceAccount - --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=pusher-wave,heritage=Helm (default []) + --selector stringToString adds Kubernetes label selector to filter on, e.g. --selector app=wave,heritage=Helm (default []) --selector-target string sets which path in the Kubernetes resources to select on instead of metadata.labels. ``` @@ -34,4 +34,4 @@ Adds one or more secrets to the given ServiceAccount files * [jx-gitops sa](jx-gitops_sa.md) - Commands for working with kubernetes ServiceAccount resources -###### Auto generated by spf13/cobra on 19-Feb-2025 +###### Auto generated by spf13/cobra on 29-Apr-2026 diff --git a/docs/cmd/jx-gitops_upgrade.md b/docs/cmd/jx-gitops_upgrade.md index 67f10976b..acb1cf0cb 100644 --- a/docs/cmd/jx-gitops_upgrade.md +++ b/docs/cmd/jx-gitops_upgrade.md @@ -30,6 +30,7 @@ Upgrades the GitOps git repository with the latest configuration and versions th --log-level string Sets the logging level. If not specified defaults to $JX_LOG_LEVEL --namespace string the default namespace if none is specified in the helmfile.yaml (default "jx") -o, --owner string filter on the Kptfile repository owner (user/organisation) for which packages to update + --release-notes-file string the file to save any release notes in. By default any release notes will be rendered in the console -r, --repo string filter on the Kptfile repository name for which packages to update -s, --strategy string the 'kpt' strategy to use. To see available strategies type 'kpt pkg update --help'. Typical values are: resource-merge, fast-forward, force-delete-replace (default "resource-merge") -u, --url string filter on the Kptfile repository URL for which packages to update @@ -42,4 +43,4 @@ Upgrades the GitOps git repository with the latest configuration and versions th * [jx-gitops](jx-gitops.md) - commands for working with GitOps based git repositories -###### Auto generated by spf13/cobra on 22-Jan-2024 +###### Auto generated by spf13/cobra on 29-Apr-2026 diff --git a/docs/config.md b/docs/config.md index b76d4a36e..12267ea25 100644 --- a/docs/config.md +++ b/docs/config.md @@ -1747,5 +1747,5 @@ string

Generated with gen-crd-api-reference-docs -on git commit 060775df. +on git commit 1e7e7641.

diff --git a/docs/man/man1/jx-gitops-annotate.1 b/docs/man/man1/jx-gitops-annotate.1 index 99db2c3f5..b25937d81 100644 --- a/docs/man/man1/jx-gitops-annotate.1 +++ b/docs/man/man1/jx-gitops-annotate.1 @@ -51,7 +51,7 @@ Annotates all kubernetes resources in the given directory tree .PP \fB\-\-selector\fP=[] - adds Kubernetes label selector to filter on, e.g. \-\-selector app=pusher\-wave,heritage=Helm + adds Kubernetes label selector to filter on, e.g. \-\-selector app=wave,heritage=Helm .PP \fB\-\-selector\-target\fP="" diff --git a/docs/man/man1/jx-gitops-helmfile-move.1 b/docs/man/man1/jx-gitops-helmfile-move.1 index cbb037c9f..866ba0008 100644 --- a/docs/man/man1/jx-gitops-helmfile-move.1 +++ b/docs/man/man1/jx-gitops-helmfile-move.1 @@ -78,7 +78,7 @@ The annotation "meta.helm.sh/release\-namespace" will be added by default and co .PP \fB\-\-selector\fP=[] - adds Kubernetes label selector to filter on, e.g. \-\-selector app=pusher\-wave,heritage=Helm + adds Kubernetes label selector to filter on, e.g. \-\-selector app=wave,heritage=Helm .PP \fB\-\-selector\-target\fP="" diff --git a/docs/man/man1/jx-gitops-image.1 b/docs/man/man1/jx-gitops-image.1 index 7a948ef06..f0e9b5b1c 100644 --- a/docs/man/man1/jx-gitops-image.1 +++ b/docs/man/man1/jx-gitops-image.1 @@ -51,7 +51,7 @@ Updates images in the kubernetes resources from the version stream .PP \fB\-\-selector\fP=[] - adds Kubernetes label selector to filter on, e.g. \-\-selector app=pusher\-wave,heritage=Helm + adds Kubernetes label selector to filter on, e.g. \-\-selector app=wave,heritage=Helm .PP \fB\-\-selector\-target\fP="" diff --git a/docs/man/man1/jx-gitops-label.1 b/docs/man/man1/jx-gitops-label.1 index 5a1f660b1..c2d971797 100644 --- a/docs/man/man1/jx-gitops-label.1 +++ b/docs/man/man1/jx-gitops-label.1 @@ -51,7 +51,7 @@ Labels all kubernetes resources in the given directory tree .PP \fB\-\-selector\fP=[] - adds Kubernetes label selector to filter on, e.g. \-\-selector app=pusher\-wave,heritage=Helm + adds Kubernetes label selector to filter on, e.g. \-\-selector app=wave,heritage=Helm .PP \fB\-\-selector\-target\fP="" diff --git a/docs/man/man1/jx-gitops-namespace.1 b/docs/man/man1/jx-gitops-namespace.1 index dc60e1e2b..0c0a18479 100644 --- a/docs/man/man1/jx-gitops-namespace.1 +++ b/docs/man/man1/jx-gitops-namespace.1 @@ -55,7 +55,7 @@ Updates all kubernetes resources in the given directory to the given namespace .PP \fB\-\-selector\fP=[] - adds Kubernetes label selector to filter on, e.g. \-\-selector app=pusher\-wave,heritage=Helm + adds Kubernetes label selector to filter on, e.g. \-\-selector app=wave,heritage=Helm .PP \fB\-\-selector\-target\fP="" diff --git a/docs/man/man1/jx-gitops-repository-add.1 b/docs/man/man1/jx-gitops-repository-add.1 index 9ce8ae728..eec86b0df 100644 --- a/docs/man/man1/jx-gitops-repository-add.1 +++ b/docs/man/man1/jx-gitops-repository-add.1 @@ -63,7 +63,7 @@ Add one or more repositories to the SourceConfig .PP \fB\-\-selector\fP=[] - adds Kubernetes label selector to filter on, e.g. \-\-selector app=pusher\-wave,heritage=Helm + adds Kubernetes label selector to filter on, e.g. \-\-selector app=wave,heritage=Helm .PP \fB\-\-selector\-target\fP="" diff --git a/docs/man/man1/jx-gitops-repository-create.1 b/docs/man/man1/jx-gitops-repository-create.1 index e793b1bfc..8919c3283 100644 --- a/docs/man/man1/jx-gitops-repository-create.1 +++ b/docs/man/man1/jx-gitops-repository-create.1 @@ -47,7 +47,7 @@ Creates any missing SourceRepository resources .PP \fB\-\-selector\fP=[] - adds Kubernetes label selector to filter on, e.g. \-\-selector app=pusher\-wave,heritage=Helm + adds Kubernetes label selector to filter on, e.g. \-\-selector app=wave,heritage=Helm .PP \fB\-\-selector\-target\fP="" diff --git a/docs/man/man1/jx-gitops-repository-export.1 b/docs/man/man1/jx-gitops-repository-export.1 index 05d4c030e..da74ab2bd 100644 --- a/docs/man/man1/jx-gitops-repository-export.1 +++ b/docs/man/man1/jx-gitops-repository-export.1 @@ -55,7 +55,7 @@ jx\-gitops\-repository\-export \- Exports the 'source\-config.yaml' file from th .PP \fB\-\-selector\fP=[] - adds Kubernetes label selector to filter on, e.g. \-\-selector app=pusher\-wave,heritage=Helm + adds Kubernetes label selector to filter on, e.g. \-\-selector app=wave,heritage=Helm .PP \fB\-\-selector\-target\fP="" diff --git a/docs/man/man1/jx-gitops-repository-resolve.1 b/docs/man/man1/jx-gitops-repository-resolve.1 index d9d80997a..97e3da102 100644 --- a/docs/man/man1/jx-gitops-repository-resolve.1 +++ b/docs/man/man1/jx-gitops-repository-resolve.1 @@ -43,7 +43,7 @@ Resolves the git repository URL for the cluster/environment .PP \fB\-\-selector\fP=[] - adds Kubernetes label selector to filter on, e.g. \-\-selector app=pusher\-wave,heritage=Helm + adds Kubernetes label selector to filter on, e.g. \-\-selector app=wave,heritage=Helm .PP \fB\-\-selector\-target\fP="" diff --git a/docs/man/man1/jx-gitops-requirement-edit.1 b/docs/man/man1/jx-gitops-requirement-edit.1 index 1773c45be..7a1779edb 100644 --- a/docs/man/man1/jx-gitops-requirement-edit.1 +++ b/docs/man/man1/jx-gitops-requirement-edit.1 @@ -85,10 +85,6 @@ Edits the local 'jx\-requirements.yml file \fB\-h\fP, \fB\-\-help\fP[=false] help for edit -.PP -\fB\-\-kaniko\-sa\fP="" - configures the Kaniko service account name - .PP \fB\-\-project\fP="" configures the Google Project ID diff --git a/docs/man/man1/jx-gitops-sa-secret.1 b/docs/man/man1/jx-gitops-sa-secret.1 index a78658a43..05302bfd3 100644 --- a/docs/man/man1/jx-gitops-sa-secret.1 +++ b/docs/man/man1/jx-gitops-sa-secret.1 @@ -47,7 +47,7 @@ Adds one or more secrets to the given ServiceAccount files .PP \fB\-\-selector\fP=[] - adds Kubernetes label selector to filter on, e.g. \-\-selector app=pusher\-wave,heritage=Helm + adds Kubernetes label selector to filter on, e.g. \-\-selector app=wave,heritage=Helm .PP \fB\-\-selector\-target\fP="" diff --git a/docs/man/man1/jx-gitops-upgrade.1 b/docs/man/man1/jx-gitops-upgrade.1 index 8e44806a2..f18ae298c 100644 --- a/docs/man/man1/jx-gitops-upgrade.1 +++ b/docs/man/man1/jx-gitops-upgrade.1 @@ -71,6 +71,10 @@ Upgrades the GitOps git repository with the latest configuration and versions th \fB\-o\fP, \fB\-\-owner\fP="" filter on the Kptfile repository owner (user/organisation) for which packages to update +.PP +\fB\-\-release\-notes\-file\fP="" + the file to save any release notes in. By default any release notes will be rendered in the console + .PP \fB\-r\fP, \fB\-\-repo\fP="" filter on the Kptfile repository name for which packages to update diff --git a/docs/scheduler-config.md b/docs/scheduler-config.md index 818c4846a..bc6d30540 100644 --- a/docs/scheduler-config.md +++ b/docs/scheduler-config.md @@ -567,7 +567,7 @@ namespace provided, or the default if it is not set.

map
-map[string]./pkg/apis/scheduler/v1alpha1.ConfigMapSpec +map[string]ConfigMapSpec @@ -846,6 +846,47 @@ which eliminates the need to re-lgtm minor fixes/updates.

+

MergeCommitTemplate +

+

+(Appears on: +Merger) +

+

+

MergeCommitTemplate holds templates to use for merge commits.

+

+ + + + + + + + + + + + + + + + + +
FieldDescription
+title
+ +string + +
+

Title is a Go template for the merge commit title.

+
+body
+ +string + +
+

Body is a Go template for the merge commit body.

+

Merger

@@ -983,6 +1024,21 @@ string +merge_commit_template
+ + +MergeCommitTemplate + + + + +

MergeCommitTemplate defines a template for the merge commit title and body. +Template fields available: .Number, .Title, .Body, .Author.Login, .Repository.Name, +.Repository.NameWithOwner, .Repository.Owner.Login, .HeadRefName, .BaseRef.Name

+ + + + policy
@@ -1170,7 +1226,7 @@ bool entries
-map[string]*./pkg/apis/scheduler/v1alpha1.ProtectionPolicy +map[string]ProtectionPolicy @@ -1388,7 +1444,7 @@ bool Items
-map[string]*./pkg/apis/scheduler/v1alpha1.ContextPolicy +map[string]ContextPolicy @@ -2096,5 +2152,5 @@ string

Generated with gen-crd-api-reference-docs -on git commit 060775df. +on git commit 1e7e7641.

diff --git a/go.mod b/go.mod index f471c6ea4..e42145eed 100644 --- a/go.mod +++ b/go.mod @@ -238,6 +238,7 @@ require ( github.com/itchyny/gojq v0.12.16 // indirect github.com/itchyny/timefmt-go v0.1.6 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect + github.com/jenkins-x/gen-crd-api-reference-docs v0.1.8 // indirect github.com/jenkins-x/logrus-stackdriver-formatter v0.2.7 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect @@ -368,6 +369,7 @@ require ( k8s.io/apiextensions-apiserver v0.33.3 // indirect k8s.io/cli-runtime v0.33.3 // indirect k8s.io/component-base v0.33.3 // indirect + k8s.io/gengo/v2 v2.0.0-20250207200755-1244d31929d7 // indirect k8s.io/klog/v2 v2.130.1 // indirect k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect k8s.io/kubectl v0.33.3 // indirect diff --git a/go.sum b/go.sum index dcff2a850..4bcee838c 100644 --- a/go.sum +++ b/go.sum @@ -1351,6 +1351,8 @@ github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOl github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jenkins-x-plugins/jx-charter v0.0.30 h1:auJrCef13bShZrnJVXJEBk+n9nzxJFWbFpUScVR3jGo= github.com/jenkins-x-plugins/jx-charter v0.0.30/go.mod h1:Lb++3nwa3kz9rlg4aSHzNsUudBcDVoefQk0UCOCC4Pg= +github.com/jenkins-x/gen-crd-api-reference-docs v0.1.8 h1:OPhXFSKEA15jcmZ+iMPeqirOOcBnk/hioxaUIxmSrXw= +github.com/jenkins-x/gen-crd-api-reference-docs v0.1.8/go.mod h1:uHNXzg/ohtmPL/XEnNmQKzNr9oUljH3VhcfLo8S2haI= github.com/jenkins-x/go-scm v1.15.1 h1:QcN/iPOYljpRby95NgBOK9NGQX8Z5k04mYf4pP76Cjo= github.com/jenkins-x/go-scm v1.15.1/go.mod h1:1RPxLZndnvu31XhFZ+RTvXiHmMX70HkQ17bRupTQxGs= github.com/jenkins-x/jx-api/v4 v4.8.1 h1:YXbNIyVChc2UIXiOnolk6xLhq6RZEISRKVPUi/vmEWg= @@ -2599,6 +2601,9 @@ k8s.io/client-go v0.33.3 h1:M5AfDnKfYmVJif92ngN532gFqakcGi6RvaOF16efrpA= k8s.io/client-go v0.33.3/go.mod h1:luqKBQggEf3shbxHY4uVENAxrDISLOarxpTKMiUuujg= k8s.io/component-base v0.33.3 h1:mlAuyJqyPlKZM7FyaoM/LcunZaaY353RXiOd2+B5tGA= k8s.io/component-base v0.33.3/go.mod h1:ktBVsBzkI3imDuxYXmVxZ2zxJnYTZ4HAsVj9iF09qp4= +k8s.io/gengo v0.0.0-20240404160639-a0386bf69313 h1:wBIDZID8ju9pwOiLlV22YYKjFGtiNSWgHf5CnKLRUuM= +k8s.io/gengo/v2 v2.0.0-20250207200755-1244d31929d7 h1:2OX19X59HxDprNCVrWi6jb7LW1PoqTlYqEq5H2oetog= +k8s.io/gengo/v2 v2.0.0-20250207200755-1244d31929d7/go.mod h1:EJykeLsmFC60UQbYJezXkEsG2FLrt0GPNkU5iK5GWxU= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff h1:/usPimJzUKKu+m+TE36gUyGcf03XZEP0ZIKgKj35LS4= diff --git a/pkg/apis/scheduler/v1alpha1/types.go b/pkg/apis/scheduler/v1alpha1/types.go index 3493b5faf..5c62a5663 100644 --- a/pkg/apis/scheduler/v1alpha1/types.go +++ b/pkg/apis/scheduler/v1alpha1/types.go @@ -300,6 +300,11 @@ type Merger struct { // Override the default method of merge. Valid options are squash, rebase, and merge. MergeType *string `json:"merge_method,omitempty"` + // MergeCommitTemplate defines a template for the merge commit title and body. + // Template fields available: .Number, .Title, .Body, .Author.Login, .Repository.Name, + // .Repository.NameWithOwner, .Repository.Owner.Login, .HeadRefName, .BaseRef.Name + MergeCommitTemplate *MergeCommitTemplate `json:"merge_commit_template,omitempty"` + // ContextOptions defines the default merge options. If not set it will infer // the required and optional contexts from the jobs configured and use the Git Provider // combined status; otherwise it may apply the branch protection setting or let user @@ -343,6 +348,14 @@ type ContextPolicy struct { FromBranchProtection *bool `json:"from-branch-protection,omitempty"` } +// MergeCommitTemplate holds templates to use for merge commits. +type MergeCommitTemplate struct { + // Title is a Go template for the merge commit title. + Title string `json:"title,omitempty"` + // Body is a Go template for the merge commit body. + Body string `json:"body,omitempty"` +} + // Welcome welcome plugin config type Welcome struct { MessageTemplate *string `json:"message_template,omitempty"` diff --git a/pkg/pipelinescheduler/builder.go b/pkg/pipelinescheduler/builder.go index 95ff03ac7..d67c62b9a 100644 --- a/pkg/pipelinescheduler/builder.go +++ b/pkg/pipelinescheduler/builder.go @@ -150,6 +150,9 @@ func applyToMerger(parent, child *schedulerapi.Merger) { if child.MergeType == nil { child.MergeType = parent.MergeType } + if child.MergeCommitTemplate == nil { + child.MergeCommitTemplate = parent.MergeCommitTemplate + } if child.MaxGoroutines == nil { child.MaxGoroutines = parent.MaxGoroutines } diff --git a/pkg/pipelinescheduler/builder_test.go b/pkg/pipelinescheduler/builder_test.go index 146cca5d5..56317cbb4 100644 --- a/pkg/pipelinescheduler/builder_test.go +++ b/pkg/pipelinescheduler/builder_test.go @@ -73,3 +73,14 @@ func TestBuildWithEmptyMerger(t *testing.T) { assert.NoError(t, err) assert.Equal(t, parent.Merger, merged.Merger) } + +func TestBuildWithMergeCommitTemplateInheritance(t *testing.T) { + t.Parallel() + child := testhelpers.CompleteScheduler() + child.Merger.MergeCommitTemplate = nil + parent := testhelpers.CompleteScheduler() + merged, err := pipelinescheduler.Build([]*schedulerapi.SchedulerSpec{parent, child}) + assert.NoError(t, err) + assert.Equal(t, parent.Merger.MergeCommitTemplate, merged.Merger.MergeCommitTemplate) + assert.Equal(t, child.Merger.SquashLabel, merged.Merger.SquashLabel) +} diff --git a/pkg/pipelinescheduler/config_builder.go b/pkg/pipelinescheduler/config_builder.go index 2c7384808..04709e568 100644 --- a/pkg/pipelinescheduler/config_builder.go +++ b/pkg/pipelinescheduler/config_builder.go @@ -538,6 +538,15 @@ func buildMerger(answer *keeper.Config, merger *schedulerapi.Merger, org, repo s } answer.MergeType[fmt.Sprintf("%s/%s", org, repo)] = keeper.PullRequestMergeType(*merger.MergeType) } + if merger.MergeCommitTemplate != nil { + if answer.MergeTemplate == nil { + answer.MergeTemplate = make(map[string]keeper.MergeCommitTemplate) + } + answer.MergeTemplate[fmt.Sprintf("%s/%s", org, repo)] = keeper.MergeCommitTemplate{ + TitleTemplate: merger.MergeCommitTemplate.Title, + BodyTemplate: merger.MergeCommitTemplate.Body, + } + } if merger.ContextPolicy != nil { buildContextPolicy(&answer.ContextOptions.ContextPolicy, merger.ContextPolicy) } diff --git a/pkg/pipelinescheduler/config_builder_test.go b/pkg/pipelinescheduler/config_builder_test.go index a21903507..12c65d37b 100644 --- a/pkg/pipelinescheduler/config_builder_test.go +++ b/pkg/pipelinescheduler/config_builder_test.go @@ -131,6 +131,19 @@ func TestMergerWithMergeMethod(t *testing.T) { }) } +func TestMergerWithMergeCommitTemplate(t *testing.T) { + wd, err := os.Getwd() + assert.NoError(t, err) + testhelpers.BuildAndValidateProwConfig(t, filepath.Join(wd, "testdata", "merger_with_merge_commit_template"), "config.yaml", + "plugins.yaml", []testhelpers.SchedulerFile{ + { + Filenames: []string{"parent.yaml", "repo.yaml"}, + Org: "acme", + Repo: "dummy", + }, + }) +} + func TestOnlyWithParent(t *testing.T) { wd, err := os.Getwd() assert.NoError(t, err) diff --git a/pkg/pipelinescheduler/testdata/merger_with_merge_commit_template/config.yaml b/pkg/pipelinescheduler/testdata/merger_with_merge_commit_template/config.yaml new file mode 100644 index 000000000..0bfc3d83b --- /dev/null +++ b/pkg/pipelinescheduler/testdata/merger_with_merge_commit_template/config.yaml @@ -0,0 +1,37 @@ +postsubmits: + acme/dummy: + - agent: tekton + branches: + - master + context: "" + name: release +presubmits: + acme/dummy: + - agent: tekton + always_run: true + context: integration + name: integration + rerun_command: /test this + trigger: (?m)^/test( all| this),?(\s+|$) +push_gateway: + serve_metrics: true +tide: + merge_method: + acme/dummy: squash + merge_commit_template: + acme/dummy: + title: "{{.Title}} ({{.Repository.NameWithOwner}}#{{.Number}})" + body: "{{.Body}}" + blocker_label: hold + max_goroutines: 5 + queries: + - labels: + - approved + missingLabels: + - do-not-merge + - do-not-merge/hold + - do-not-merge/work-in-progress + - needs-ok-to-test + - needs-rebase + repos: + - acme/dummy \ No newline at end of file diff --git a/pkg/pipelinescheduler/testdata/merger_with_merge_commit_template/parent.yaml b/pkg/pipelinescheduler/testdata/merger_with_merge_commit_template/parent.yaml new file mode 100644 index 000000000..15a3c63fb --- /dev/null +++ b/pkg/pipelinescheduler/testdata/merger_with_merge_commit_template/parent.yaml @@ -0,0 +1,42 @@ +trigger: + trusted_org: roadrunner-corp +approve: + lgtm_acts_as_approve: true + ignore_review_state: false +schedulerAgent: + agent: prow +merger: + blocker_label: hold + max_goroutines: 5 +postsubmits: + entries: + - name: release + context: "" + branches: + - master + agent: tekton + +presubmits: + entries: + - name: integration + agent: tekton + always_run: true + context: integration + rerun_command: /test this + trigger: (?m)^/test( all| this),?(\s+|$) + +queries: + - labels: + entries: + - approved + missingLabels: + entries: + - do-not-merge + - do-not-merge/hold + - do-not-merge/work-in-progress + - needs-ok-to-test + - needs-rebase +plugins: + entries: + - approve + - trigger \ No newline at end of file diff --git a/pkg/pipelinescheduler/testdata/merger_with_merge_commit_template/plugins.yaml b/pkg/pipelinescheduler/testdata/merger_with_merge_commit_template/plugins.yaml new file mode 100644 index 000000000..3f76bc36e --- /dev/null +++ b/pkg/pipelinescheduler/testdata/merger_with_merge_commit_template/plugins.yaml @@ -0,0 +1,13 @@ +approve: + - ignore_review_state: false + lgtm_acts_as_approve: true + repos: + - acme/dummy +plugins: + acme/dummy: + - approve + - trigger +triggers: + - repos: + - acme/dummy + trusted_org: roadrunner-corp \ No newline at end of file diff --git a/pkg/pipelinescheduler/testdata/merger_with_merge_commit_template/repo.yaml b/pkg/pipelinescheduler/testdata/merger_with_merge_commit_template/repo.yaml new file mode 100644 index 000000000..92c15d975 --- /dev/null +++ b/pkg/pipelinescheduler/testdata/merger_with_merge_commit_template/repo.yaml @@ -0,0 +1,5 @@ +merger: + merge_method: squash + merge_commit_template: + title: "{{.Title}} ({{.Repository.NameWithOwner}}#{{.Number}})" + body: "{{.Body}}" \ No newline at end of file diff --git a/pkg/pipelinescheduler/testhelpers/helpers.go b/pkg/pipelinescheduler/testhelpers/helpers.go index 321528fea..e3bc08075 100644 --- a/pkg/pipelinescheduler/testhelpers/helpers.go +++ b/pkg/pipelinescheduler/testhelpers/helpers.go @@ -39,6 +39,10 @@ func CompleteScheduler() *schedulerapi.SchedulerSpec { MaxGoroutines: pointerToRandomNumber(), StatusUpdatePeriod: pointerToRandomDuration(), SyncPeriod: pointerToRandomDuration(), + MergeCommitTemplate: &schedulerapi.MergeCommitTemplate{ + Title: "{{.Title}} ({{.Repository.NameWithOwner}}#{{.Number}})", + Body: "{{.Body}}", + }, }, Presubmits: &schedulerapi.Presubmits{ Items: []*job.Presubmit{