diff --git a/cmd/flux/create_image_policy.go b/cmd/flux/create_image_policy.go index 1c77113c..287e3dcd 100644 --- a/cmd/flux/create_image_policy.go +++ b/cmd/flux/create_image_policy.go @@ -38,8 +38,9 @@ the status of the object.`, RunE: createImagePolicyRun} type imagePolicyFlags struct { - imageRef string - semver string + imageRef string + semver string + filterRegex string } var imagePolicyArgs = imagePolicyFlags{} @@ -48,6 +49,7 @@ func init() { flags := createImagePolicyCmd.Flags() flags.StringVar(&imagePolicyArgs.imageRef, "image-ref", "", "the name of an image repository object") flags.StringVar(&imagePolicyArgs.semver, "semver", "", "a semver range to apply to tags; e.g., '1.x'") + flags.StringVar(&imagePolicyArgs.filterRegex, "filter-regex", "", " regular expression pattern used to filter the image tags") createImageCmd.AddCommand(createImagePolicyCmd) } @@ -95,6 +97,12 @@ func createImagePolicyRun(cmd *cobra.Command, args []string) error { return fmt.Errorf("a policy must be provided with --semver") } + if imagePolicyArgs.filterRegex != "" { + policy.Spec.FilterTags = &imagev1.TagFilter{ + Pattern: imagePolicyArgs.filterRegex, + } + } + if export { return printExport(exportImagePolicy(&policy)) } diff --git a/cmd/flux/create_image_updateauto.go b/cmd/flux/create_image_updateauto.go index 0f1935f3..4379ed4d 100644 --- a/cmd/flux/create_image_updateauto.go +++ b/cmd/flux/create_image_updateauto.go @@ -50,7 +50,7 @@ var imageUpdateArgs = imageUpdateFlags{} func init() { flags := createImageUpdateCmd.Flags() flags.StringVar(&imageUpdateArgs.gitRepoRef, "git-repo-ref", "", "the name of a GitRepository resource with details of the upstream git repository") - flags.StringVar(&imageUpdateArgs.branch, "branch", "", "the branch to push commits to") + flags.StringVar(&imageUpdateArgs.branch, "branch", "", "the branch to checkout and push commits to") flags.StringVar(&imageUpdateArgs.commitTemplate, "commit-template", "", "a template for commit messages") flags.StringVar(&imageUpdateArgs.authorName, "author-name", "", "the name to use for commit author") flags.StringVar(&imageUpdateArgs.authorEmail, "author-email", "", "the email to use for commit author") @@ -68,6 +68,10 @@ func createImageUpdateRun(cmd *cobra.Command, args []string) error { return fmt.Errorf("a reference to a GitRepository is required (--git-repo-ref)") } + if imageUpdateArgs.branch == "" { + return fmt.Errorf("the Git repoistory branch is required (--branch)") + } + labels, err := parseLabels() if err != nil { return err diff --git a/docs/cmd/flux_create_image_policy.md b/docs/cmd/flux_create_image_policy.md index c311ed16..5a9db5f6 100644 --- a/docs/cmd/flux_create_image_policy.md +++ b/docs/cmd/flux_create_image_policy.md @@ -18,9 +18,10 @@ flux create image policy [flags] ### Options ``` - -h, --help help for policy - --image-ref string the name of an image repository object - --semver string a semver range to apply to tags; e.g., '1.x' + --filter-regex string regular expression pattern used to filter the image tags + -h, --help help for policy + --image-ref string the name of an image repository object + --semver string a semver range to apply to tags; e.g., '1.x' ``` ### Options inherited from parent commands diff --git a/docs/cmd/flux_create_image_update.md b/docs/cmd/flux_create_image_update.md index 7d96fa74..c5ea5140 100644 --- a/docs/cmd/flux_create_image_update.md +++ b/docs/cmd/flux_create_image_update.md @@ -17,7 +17,7 @@ flux create image update [flags] ``` --author-email string the email to use for commit author --author-name string the name to use for commit author - --branch string the branch to push commits to + --branch string the branch to checkout and push commits to --commit-template string a template for commit messages --git-repo-ref string the name of a GitRepository resource with details of the upstream git repository -h, --help help for update