mirror of https://github.com/fluxcd/flux2.git
Implement flux [reconcile|suspend|resume] image policy commands
Signed-off-by: lukas8219 <lucas.c4d@gmail.com>pull/5492/head
parent
948ed45f10
commit
48d509d838
@ -0,0 +1,40 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2025 The Flux authors
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
imagev1 "github.com/fluxcd/image-reflector-controller/api/v1"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var reconcileImagePolicyCmd = &cobra.Command{
|
||||||
|
Use: "policy [name]",
|
||||||
|
Short: "Reconcile an ImagePolicy",
|
||||||
|
Long: `The reconcile image policy command triggers a reconciliation of an ImagePolicy resource and waits for it to finish.`,
|
||||||
|
Example: `
|
||||||
|
# Trigger a reconciliation for an existing image policy called 'alpine'
|
||||||
|
flux reconcile image policy alpine`,
|
||||||
|
ValidArgsFunction: resourceNamesCompletionFunc(imagev1.GroupVersion.WithKind(imagev1.ImagePolicyKind)),
|
||||||
|
RunE: reconcileCommand{
|
||||||
|
apiType: imagePolicyType,
|
||||||
|
object: imagePolicyAdapter{&imagev1.ImagePolicy{}},
|
||||||
|
}.run,
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
reconcileImageCmd.AddCommand(reconcileImagePolicyCmd)
|
||||||
|
}
|
@ -0,0 +1,40 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2025 The Flux authors
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
imagev1 "github.com/fluxcd/image-reflector-controller/api/v1"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var resumeImagePolicyCmd = &cobra.Command{
|
||||||
|
Use: "policy [name]",
|
||||||
|
Short: "Resume an ImagePolicy",
|
||||||
|
Long: `The resume image policy command resumes a suspended ImagePolicy resource.`,
|
||||||
|
Example: `
|
||||||
|
# Resume a suspended image policy called 'alpine'
|
||||||
|
flux resume image policy alpine`,
|
||||||
|
ValidArgsFunction: resourceNamesCompletionFunc(imagev1.GroupVersion.WithKind(imagev1.ImagePolicyKind)),
|
||||||
|
RunE: resumeCommand{
|
||||||
|
apiType: imagePolicyType,
|
||||||
|
list: imagePolicyListAdapter{&imagev1.ImagePolicyList{}},
|
||||||
|
}.run,
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
resumeImageCmd.AddCommand(resumeImagePolicyCmd)
|
||||||
|
}
|
@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2025 The Flux authors
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
imagev1 "github.com/fluxcd/image-reflector-controller/api/v1"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var suspendImagePolicyCmd = &cobra.Command{
|
||||||
|
Use: "policy [name]",
|
||||||
|
Short: "Suspend an ImagePolicy",
|
||||||
|
Long: `The suspend image policy command suspends the reconciliation of an ImagePolicy resource.`,
|
||||||
|
ValidArgsFunction: resourceNamesCompletionFunc(imagev1.GroupVersion.WithKind(imagev1.ImagePolicyKind)),
|
||||||
|
RunE: suspendCommand{
|
||||||
|
apiType: imagePolicyType,
|
||||||
|
list: imagePolicyListAdapter{&imagev1.ImagePolicyList{}},
|
||||||
|
}.run,
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
suspendImageCmd.AddCommand(suspendImagePolicyCmd)
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
► annotating ImagePolicy podinfo-semver in tis-2 namespace
|
||||||
|
✔ ImagePolicy annotated
|
||||||
|
◎ waiting for ImagePolicy reconciliation
|
||||||
|
✔ selected ref ghcr.io/stefanprodan/podinfo:5.0.3@sha256:8704da90172710d422af855049175c1a8295731cbe2ad3b9a1c1074feecf8c10
|
@ -0,0 +1,5 @@
|
|||||||
|
► resuming image policy podinfo-semver in tis-2 namespace
|
||||||
|
✔ image policy resumed
|
||||||
|
◎ waiting for ImagePolicy reconciliation
|
||||||
|
✔ ImagePolicy podinfo-semver reconciliation completed
|
||||||
|
✔ selected ref ghcr.io/stefanprodan/podinfo:5.0.3@sha256:8704da90172710d422af855049175c1a8295731cbe2ad3b9a1c1074feecf8c10
|
@ -0,0 +1,2 @@
|
|||||||
|
► suspending image policy podinfo-semver in tis-2 namespace
|
||||||
|
✔ image policy suspended
|
Loading…
Reference in New Issue