Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 16b08d136f | |||
| 23727f7d76 | |||
| f0437e0a8c | |||
| ddf3d9e835 | |||
| 75f808c6a6 | |||
| 4778834fb4 | |||
| 6dbec927e5 | |||
| 4d7f7b4356 | |||
| f61952f598 | |||
| 9344c1e978 | |||
| 006ecb6b04 | |||
| 93174b454f | |||
| c1f7f0b86a | |||
| 1275f96e06 |
+3
-3
@@ -44,12 +44,12 @@
|
||||
description: Feature request proposals in the RFC format
|
||||
color: '#D621C3'
|
||||
aliases: ['area/RFC']
|
||||
- name: backport:release/v2.6.x
|
||||
description: To be backported to release/v2.6.x
|
||||
color: '#ffd700'
|
||||
- name: backport:release/v2.7.x
|
||||
description: To be backported to release/v2.7.x
|
||||
color: '#ffd700'
|
||||
- name: backport:release/v2.8.x
|
||||
description: To be backported to release/v2.8.x
|
||||
color: '#ffd700'
|
||||
- name: backport:release/v2.9.x
|
||||
description: To be backported to release/v2.9.x
|
||||
color: '#ffd700'
|
||||
|
||||
@@ -43,10 +43,12 @@ jobs:
|
||||
- name: Setup SOPS
|
||||
run: |
|
||||
mkdir -p $HOME/.local/bin
|
||||
wget -O $HOME/.local/bin/sops https://github.com/mozilla/sops/releases/download/v$SOPS_VER/sops-v$SOPS_VER.linux
|
||||
wget -O $HOME/.local/bin/sops https://github.com/getsops/sops/releases/download/v$SOPS_VER/sops-v$SOPS_VER.linux
|
||||
echo "$SOPS_CHECKSUM $HOME/.local/bin/sops" | sha256sum -c -
|
||||
chmod +x $HOME/.local/bin/sops
|
||||
env:
|
||||
SOPS_VER: 3.7.1
|
||||
SOPS_CHECKSUM: "185348fd77fc160d5bdf3cd20ecbc796163504fd3df196d7cb29000773657b74"
|
||||
- name: Authenticate to Azure
|
||||
uses: Azure/login@532459ea530d8321f2fb9bb10d1e0bcf23869a43 # v1.4.6
|
||||
with:
|
||||
|
||||
@@ -43,10 +43,12 @@ jobs:
|
||||
- name: Setup SOPS
|
||||
run: |
|
||||
mkdir -p $HOME/.local/bin
|
||||
wget -O $HOME/.local/bin/sops https://github.com/mozilla/sops/releases/download/v$SOPS_VER/sops-v$SOPS_VER.linux
|
||||
wget -O $HOME/.local/bin/sops https://github.com/getsops/sops/releases/download/v$SOPS_VER/sops-v$SOPS_VER.linux
|
||||
echo "$SOPS_CHECKSUM $HOME/.local/bin/sops" | sha256sum -c -
|
||||
chmod +x $HOME/.local/bin/sops
|
||||
env:
|
||||
SOPS_VER: 3.7.1
|
||||
SOPS_CHECKSUM: "185348fd77fc160d5bdf3cd20ecbc796163504fd3df196d7cb29000773657b74"
|
||||
- name: Authenticate to Google Cloud
|
||||
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0
|
||||
id: 'auth'
|
||||
|
||||
@@ -52,17 +52,35 @@ type buildArtifactFlags struct {
|
||||
output string
|
||||
path string
|
||||
ignorePaths []string
|
||||
addIgnorePaths []string
|
||||
resolveSymlinks bool
|
||||
}
|
||||
|
||||
var excludeOCI = append(strings.Split(sourceignore.ExcludeVCS, ","), strings.Split(sourceignore.ExcludeExt, ",")...)
|
||||
|
||||
// composeIgnorePaths returns the concatenation of two ignore-path slices,
|
||||
// preserving order. It is used by build, push and diff artifact commands
|
||||
// to combine --ignore-paths (which replaces the defaults) with
|
||||
// --add-ignore-paths (which appends to whatever ignore set is currently
|
||||
// in effect). Duplicate patterns are passed through unchanged since the
|
||||
// underlying gitignore matcher treats redundant patterns as no-ops.
|
||||
func composeIgnorePaths(ignorePaths, addIgnorePaths []string) []string {
|
||||
if len(ignorePaths) == 0 && len(addIgnorePaths) == 0 {
|
||||
return nil
|
||||
}
|
||||
result := make([]string, 0, len(ignorePaths)+len(addIgnorePaths))
|
||||
result = append(result, ignorePaths...)
|
||||
result = append(result, addIgnorePaths...)
|
||||
return result
|
||||
}
|
||||
|
||||
var buildArtifactArgs buildArtifactFlags
|
||||
|
||||
func init() {
|
||||
buildArtifactCmd.Flags().StringVarP(&buildArtifactArgs.path, "path", "p", "", "Path to the directory where the Kubernetes manifests are located.")
|
||||
buildArtifactCmd.Flags().StringVarP(&buildArtifactArgs.output, "output", "o", "artifact.tgz", "Path to where the artifact tgz file should be written.")
|
||||
buildArtifactCmd.Flags().StringSliceVar(&buildArtifactArgs.ignorePaths, "ignore-paths", excludeOCI, "set paths to ignore in .gitignore format")
|
||||
buildArtifactCmd.Flags().StringSliceVar(&buildArtifactArgs.addIgnorePaths, "add-ignore-paths", nil, "additional paths to ignore in .gitignore format (appended to --ignore-paths)")
|
||||
buildArtifactCmd.Flags().BoolVar(&buildArtifactArgs.resolveSymlinks, "resolve-symlinks", false, "resolve symlinks by copying their targets into the artifact")
|
||||
|
||||
buildCmd.AddCommand(buildArtifactCmd)
|
||||
@@ -100,7 +118,7 @@ func buildArtifactCmdRun(cmd *cobra.Command, args []string) error {
|
||||
logger.Actionf("building artifact from %s", path)
|
||||
|
||||
ociClient := oci.NewClient(oci.DefaultOptions())
|
||||
if err := ociClient.Build(buildArtifactArgs.output, path, buildArtifactArgs.ignorePaths); err != nil {
|
||||
if err := ociClient.Build(buildArtifactArgs.output, path, composeIgnorePaths(buildArtifactArgs.ignorePaths, buildArtifactArgs.addIgnorePaths)); err != nil {
|
||||
return fmt.Errorf("building artifact failed, error: %w", err)
|
||||
}
|
||||
|
||||
|
||||
@@ -180,6 +180,60 @@ func Test_resolveSymlinks_cycle(t *testing.T) {
|
||||
g.Expect(os.IsNotExist(err)).To(BeTrue())
|
||||
}
|
||||
|
||||
func Test_composeIgnorePaths(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
ignorePaths []string
|
||||
addIgnorePaths []string
|
||||
want []string
|
||||
}{
|
||||
{
|
||||
name: "both nil returns nil",
|
||||
ignorePaths: nil,
|
||||
addIgnorePaths: nil,
|
||||
want: nil,
|
||||
},
|
||||
{
|
||||
name: "only ignore-paths passes through",
|
||||
ignorePaths: []string{"foo", "bar"},
|
||||
addIgnorePaths: nil,
|
||||
want: []string{"foo", "bar"},
|
||||
},
|
||||
{
|
||||
name: "only add-ignore-paths passes through",
|
||||
ignorePaths: nil,
|
||||
addIgnorePaths: []string{"baz"},
|
||||
want: []string{"baz"},
|
||||
},
|
||||
{
|
||||
name: "both provided, order preserved",
|
||||
ignorePaths: []string{"foo", "bar"},
|
||||
addIgnorePaths: []string{"baz", "qux"},
|
||||
want: []string{"foo", "bar", "baz", "qux"},
|
||||
},
|
||||
{
|
||||
name: "duplicates retained as-is",
|
||||
ignorePaths: []string{"foo", "bar"},
|
||||
addIgnorePaths: []string{"foo"},
|
||||
want: []string{"foo", "bar", "foo"},
|
||||
},
|
||||
{
|
||||
name: "defaults plus add",
|
||||
ignorePaths: excludeOCI,
|
||||
addIgnorePaths: []string{"my-secrets/"},
|
||||
want: append(append([]string{}, excludeOCI...), "my-secrets/"),
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
g := NewWithT(t)
|
||||
got := composeIgnorePaths(tt.ignorePaths, tt.addIgnorePaths)
|
||||
g.Expect(got).To(Equal(tt.want))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func Test_resolveSymlinks_multipleLinksSameTarget(t *testing.T) {
|
||||
g := NewWithT(t)
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ func init() {
|
||||
"When enabled, the post build substitutions will fail if a var without a default value is declared in files but is missing from the input vars.")
|
||||
buildKsCmd.Flags().BoolVarP(&buildKsArgs.recursive, "recursive", "r", false, "Recursively build Kustomizations")
|
||||
buildKsCmd.Flags().StringToStringVar(&buildKsArgs.localSources, "local-sources", nil, "Comma-separated list of repositories in format: Kind/namespace/name=path")
|
||||
buildKsCmd.Flags().BoolVar(&buildKsArgs.inMemoryBuild, "in-memory-build", true,
|
||||
buildKsCmd.Flags().BoolVar(&buildKsArgs.inMemoryBuild, "in-memory-build", false,
|
||||
"Use in-memory filesystem during build.")
|
||||
buildCmd.AddCommand(buildKsCmd)
|
||||
}
|
||||
|
||||
@@ -23,6 +23,8 @@ import (
|
||||
"bytes"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
"testing"
|
||||
"text/template"
|
||||
)
|
||||
@@ -53,8 +55,8 @@ func TestBuildKustomization(t *testing.T) {
|
||||
assertFunc: "assertGoldenTemplateFile",
|
||||
},
|
||||
{
|
||||
name: "build podinfo (on-disk)",
|
||||
args: "build kustomization podinfo --path ./testdata/build-kustomization/podinfo --in-memory-build=false",
|
||||
name: "build podinfo (in-memory)",
|
||||
args: "build kustomization podinfo --path ./testdata/build-kustomization/podinfo --in-memory-build=true",
|
||||
resultFile: "./testdata/build-kustomization/podinfo-result.yaml",
|
||||
assertFunc: "assertGoldenTemplateFile",
|
||||
},
|
||||
@@ -77,8 +79,8 @@ func TestBuildKustomization(t *testing.T) {
|
||||
assertFunc: "assertGoldenTemplateFile",
|
||||
},
|
||||
{
|
||||
name: "build ignore (on-disk)",
|
||||
args: "build kustomization podinfo --path ./testdata/build-kustomization/ignore --ignore-paths \"!configmap.yaml,!secret.yaml\" --in-memory-build=false",
|
||||
name: "build ignore (in-memory)",
|
||||
args: "build kustomization podinfo --path ./testdata/build-kustomization/ignore --ignore-paths \"!configmap.yaml,!secret.yaml\" --in-memory-build=true",
|
||||
resultFile: "./testdata/build-kustomization/podinfo-with-ignore-result.yaml",
|
||||
assertFunc: "assertGoldenTemplateFile",
|
||||
},
|
||||
@@ -89,8 +91,8 @@ func TestBuildKustomization(t *testing.T) {
|
||||
assertFunc: "assertGoldenTemplateFile",
|
||||
},
|
||||
{
|
||||
name: "build with recursive (on-disk)",
|
||||
args: "build kustomization podinfo --path ./testdata/build-kustomization/podinfo-with-my-app --recursive --local-sources GitRepository/default/podinfo=./testdata/build-kustomization --in-memory-build=false",
|
||||
name: "build with recursive (in-memory)",
|
||||
args: "build kustomization podinfo --path ./testdata/build-kustomization/podinfo-with-my-app --recursive --local-sources GitRepository/default/podinfo=./testdata/build-kustomization --in-memory-build=true",
|
||||
resultFile: "./testdata/build-kustomization/podinfo-with-my-app-result.yaml",
|
||||
assertFunc: "assertGoldenTemplateFile",
|
||||
},
|
||||
@@ -164,8 +166,8 @@ spec:
|
||||
assertFunc: "assertGoldenTemplateFile",
|
||||
},
|
||||
{
|
||||
name: "build podinfo (on-disk)",
|
||||
args: "build kustomization podinfo --kustomization-file " + tmpFile + " --path ./testdata/build-kustomization/podinfo --in-memory-build=false",
|
||||
name: "build podinfo (in-memory)",
|
||||
args: "build kustomization podinfo --kustomization-file " + tmpFile + " --path ./testdata/build-kustomization/podinfo --in-memory-build=true",
|
||||
resultFile: "./testdata/build-kustomization/podinfo-result.yaml",
|
||||
assertFunc: "assertGoldenTemplateFile",
|
||||
},
|
||||
@@ -200,14 +202,14 @@ spec:
|
||||
assertFunc: "assertGoldenTemplateFile",
|
||||
},
|
||||
{
|
||||
name: "build with recursive (on-disk)",
|
||||
args: "build kustomization podinfo --kustomization-file " + tmpFile + " --path ./testdata/build-kustomization/podinfo-with-my-app --recursive --local-sources GitRepository/default/podinfo=./testdata/build-kustomization --in-memory-build=false",
|
||||
name: "build with recursive (in-memory)",
|
||||
args: "build kustomization podinfo --kustomization-file " + tmpFile + " --path ./testdata/build-kustomization/podinfo-with-my-app --recursive --local-sources GitRepository/default/podinfo=./testdata/build-kustomization --in-memory-build=true",
|
||||
resultFile: "./testdata/build-kustomization/podinfo-with-my-app-result.yaml",
|
||||
assertFunc: "assertGoldenTemplateFile",
|
||||
},
|
||||
{
|
||||
name: "build with recursive in dry-run mode (on-disk)",
|
||||
args: "build kustomization podinfo --kustomization-file " + tmpFile + " --path ./testdata/build-kustomization/podinfo-with-my-app --recursive --local-sources GitRepository/default/podinfo=./testdata/build-kustomization --in-memory-build=false --dry-run",
|
||||
name: "build with recursive in dry-run mode (in-memory)",
|
||||
args: "build kustomization podinfo --kustomization-file " + tmpFile + " --path ./testdata/build-kustomization/podinfo-with-my-app --recursive --local-sources GitRepository/default/podinfo=./testdata/build-kustomization --in-memory-build=true --dry-run",
|
||||
resultFile: "./testdata/build-kustomization/podinfo-with-my-app-result.yaml",
|
||||
assertFunc: "assertGoldenTemplateFile",
|
||||
},
|
||||
@@ -255,6 +257,104 @@ spec:
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuildKustomizationDefaultBuildsAbsolutePathOutsideCwd(t *testing.T) {
|
||||
cwdDir, sourceDir, kustomizationFile := newOutsideCwdKustomization(t, "default", "")
|
||||
|
||||
restore := chdirForTest(t, cwdDir)
|
||||
defer restore()
|
||||
|
||||
flag := buildKsCmd.Flags().Lookup("in-memory-build")
|
||||
if flag == nil {
|
||||
t.Fatal("missing in-memory-build flag")
|
||||
}
|
||||
defaultValue, err := strconv.ParseBool(flag.DefValue)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
buildKsArgs.inMemoryBuild = defaultValue
|
||||
|
||||
output, err := executeCommand("build kustomization app --path " + sourceDir +
|
||||
" --kustomization-file " + kustomizationFile +
|
||||
" --namespace default --dry-run")
|
||||
if err != nil {
|
||||
t.Fatalf("expected build to succeed with default backend, got: %v", err)
|
||||
}
|
||||
if !strings.Contains(output, "name: outside-cwd") {
|
||||
t.Fatalf("expected rendered ConfigMap in output, got:\n%s", output)
|
||||
}
|
||||
}
|
||||
|
||||
func chdirForTest(t *testing.T, dir string) func() {
|
||||
t.Helper()
|
||||
orig, err := os.Getwd()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := os.Chdir(dir); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
return func() {
|
||||
if err := os.Chdir(orig); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func newOutsideCwdKustomization(t *testing.T, namespace, targetNamespace string) (string, string, string) {
|
||||
t.Helper()
|
||||
parentDir := t.TempDir()
|
||||
|
||||
cwdDir := filepath.Join(parentDir, "cwd")
|
||||
if err := os.MkdirAll(cwdDir, 0o755); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
sourceDir := filepath.Join(parentDir, "source")
|
||||
if err := os.MkdirAll(sourceDir, 0o755); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if err := os.WriteFile(filepath.Join(sourceDir, "kustomization.yaml"), []byte(`apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- configmap.yaml
|
||||
`), 0o644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if err := os.WriteFile(filepath.Join(sourceDir, "configmap.yaml"), []byte(`apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: outside-cwd
|
||||
`), 0o644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
targetNamespaceField := ""
|
||||
if targetNamespace != "" {
|
||||
targetNamespaceField = "\n targetNamespace: " + targetNamespace
|
||||
}
|
||||
|
||||
kustomizationFile := filepath.Join(parentDir, "app.yaml")
|
||||
if err := os.WriteFile(kustomizationFile, []byte(`apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: app
|
||||
namespace: `+namespace+`
|
||||
spec:
|
||||
interval: 5m
|
||||
path: ./source
|
||||
prune: true`+targetNamespaceField+`
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
name: app
|
||||
`), 0o644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
return cwdDir, sourceDir, kustomizationFile
|
||||
}
|
||||
|
||||
// TestBuildKustomizationPathNormalization verifies that absolute and complex
|
||||
// paths are normalized to prevent path concatenation bugs (issue #5673).
|
||||
// Without normalization, paths could be duplicated like: /path/test/path/test/file
|
||||
@@ -278,8 +378,8 @@ func TestBuildKustomizationPathNormalization(t *testing.T) {
|
||||
assertFunc: "assertGoldenTemplateFile",
|
||||
},
|
||||
{
|
||||
name: "build with absolute path (on-disk)",
|
||||
args: "build kustomization podinfo --path " + absTestDataPath + " --in-memory-build=false",
|
||||
name: "build with absolute path (in-memory)",
|
||||
args: "build kustomization podinfo --path " + absTestDataPath + " --in-memory-build=true",
|
||||
resultFile: "./testdata/build-kustomization/podinfo-result.yaml",
|
||||
assertFunc: "assertGoldenTemplateFile",
|
||||
},
|
||||
|
||||
@@ -43,6 +43,7 @@ type diffArtifactFlags struct {
|
||||
creds string
|
||||
provider flags.SourceOCIProvider
|
||||
ignorePaths []string
|
||||
addIgnorePaths []string
|
||||
insecure bool
|
||||
}
|
||||
|
||||
@@ -59,6 +60,7 @@ func init() {
|
||||
diffArtifactCmd.Flags().StringVar(&diffArtifactArgs.creds, "creds", "", "credentials for OCI registry in the format <username>[:<password>] if --provider is generic")
|
||||
diffArtifactCmd.Flags().Var(&diffArtifactArgs.provider, "provider", sourceOCIRepositoryArgs.provider.Description())
|
||||
diffArtifactCmd.Flags().StringSliceVar(&diffArtifactArgs.ignorePaths, "ignore-paths", excludeOCI, "set paths to ignore in .gitignore format")
|
||||
diffArtifactCmd.Flags().StringSliceVar(&diffArtifactArgs.addIgnorePaths, "add-ignore-paths", nil, "additional paths to ignore in .gitignore format (appended to --ignore-paths)")
|
||||
diffArtifactCmd.Flags().BoolVar(&diffArtifactArgs.insecure, "insecure-registry", false, "allows the remote artifact to be pulled without TLS")
|
||||
diffCmd.AddCommand(diffArtifactCmd)
|
||||
}
|
||||
@@ -109,7 +111,7 @@ func diffArtifactCmdRun(cmd *cobra.Command, args []string) error {
|
||||
}
|
||||
}
|
||||
|
||||
if err := ociClient.Diff(ctx, url, diffArtifactArgs.path, diffArtifactArgs.ignorePaths); err != nil {
|
||||
if err := ociClient.Diff(ctx, url, diffArtifactArgs.path, composeIgnorePaths(diffArtifactArgs.ignorePaths, diffArtifactArgs.addIgnorePaths)); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ func init() {
|
||||
"When enabled, the post build substitutions will fail if a var without a default value is declared in files but is missing from the input vars.")
|
||||
diffKsCmd.Flags().BoolVarP(&diffKsArgs.recursive, "recursive", "r", false, "Recursively diff Kustomizations")
|
||||
diffKsCmd.Flags().StringToStringVar(&diffKsArgs.localSources, "local-sources", nil, "Comma-separated list of repositories in format: Kind/namespace/name=path")
|
||||
diffKsCmd.Flags().BoolVar(&diffKsArgs.inMemoryBuild, "in-memory-build", true,
|
||||
diffKsCmd.Flags().BoolVar(&diffKsArgs.inMemoryBuild, "in-memory-build", false,
|
||||
"Use in-memory filesystem during build.")
|
||||
diffKsCmd.Flags().BoolVar(&diffKsArgs.ignoreNotFound, "ignore-not-found", false,
|
||||
"Ignore Kustomization not found errors on the cluster when diffing.")
|
||||
|
||||
@@ -22,6 +22,7 @@ package main
|
||||
import (
|
||||
"context"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
@@ -180,6 +181,41 @@ func TestDiffKustomizationNotDeployed(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestDiffKustomizationDefaultBuildsAbsolutePathOutsideCwd(t *testing.T) {
|
||||
fluxNS := allocateNamespace("flux-system")
|
||||
targetNS := allocateNamespace("target")
|
||||
setupTestNamespace(fluxNS, t)
|
||||
setupTestNamespace(targetNS, t)
|
||||
|
||||
cwdDir, sourceDir, kustomizationFile := newOutsideCwdKustomization(t, fluxNS, targetNS)
|
||||
|
||||
restore := chdirForTest(t, cwdDir)
|
||||
defer restore()
|
||||
|
||||
flag := diffKsCmd.Flags().Lookup("in-memory-build")
|
||||
if flag == nil {
|
||||
t.Fatal("missing in-memory-build flag")
|
||||
}
|
||||
defaultValue, err := strconv.ParseBool(flag.DefValue)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
diffKsArgs.inMemoryBuild = defaultValue
|
||||
|
||||
output, err := executeCommand("diff kustomization app --path " + sourceDir +
|
||||
" --kustomization-file " + kustomizationFile +
|
||||
" --ignore-not-found --progress-bar=false -n " + fluxNS)
|
||||
if isChangeError(err) {
|
||||
err = nil
|
||||
}
|
||||
if err != nil {
|
||||
t.Fatalf("expected diff to build with default backend, got: %v", err)
|
||||
}
|
||||
if !strings.Contains(output, "ConfigMap/"+targetNS+"/outside-cwd created") {
|
||||
t.Fatalf("expected created ConfigMap in diff output, got:\n%s", output)
|
||||
}
|
||||
}
|
||||
|
||||
// TestDiffKustomizationTakeOwnership tests `flux diff ks` when taking ownership
|
||||
// of existing resources on the cluster. A "pre-existing" configmap is applied
|
||||
// to the cluster, and the kustomization contains a matching configmap; the
|
||||
|
||||
@@ -109,6 +109,7 @@ type pushArtifactFlags struct {
|
||||
creds string
|
||||
provider flags.SourceOCIProvider
|
||||
ignorePaths []string
|
||||
addIgnorePaths []string
|
||||
annotations []string
|
||||
output string
|
||||
debug bool
|
||||
@@ -132,6 +133,7 @@ func init() {
|
||||
pushArtifactCmd.Flags().StringVar(&pushArtifactArgs.creds, "creds", "", "credentials for OCI registry in the format <username>[:<password>] if --provider is generic")
|
||||
pushArtifactCmd.Flags().Var(&pushArtifactArgs.provider, "provider", pushArtifactArgs.provider.Description())
|
||||
pushArtifactCmd.Flags().StringSliceVar(&pushArtifactArgs.ignorePaths, "ignore-paths", excludeOCI, "set paths to ignore in .gitignore format")
|
||||
pushArtifactCmd.Flags().StringSliceVar(&pushArtifactArgs.addIgnorePaths, "add-ignore-paths", nil, "additional paths to ignore in .gitignore format (appended to --ignore-paths)")
|
||||
pushArtifactCmd.Flags().StringArrayVarP(&pushArtifactArgs.annotations, "annotations", "a", nil, "Set custom OCI annotations in the format '<key>=<value>'")
|
||||
pushArtifactCmd.Flags().StringVarP(&pushArtifactArgs.output, "output", "o", "",
|
||||
"the format in which the artifact digest should be printed, can be 'json' or 'yaml'")
|
||||
@@ -286,7 +288,7 @@ func pushArtifactCmdRun(cmd *cobra.Command, args []string) error {
|
||||
ociClient := oci.NewClient(opts)
|
||||
digestURL, err := ociClient.Push(ctx, url, path,
|
||||
oci.WithPushMetadata(meta),
|
||||
oci.WithPushIgnorePaths(pushArtifactArgs.ignorePaths...),
|
||||
oci.WithPushIgnorePaths(composeIgnorePaths(pushArtifactArgs.ignorePaths, pushArtifactArgs.addIgnorePaths)...),
|
||||
)
|
||||
if err != nil {
|
||||
return fmt.Errorf("pushing artifact failed: %w", err)
|
||||
|
||||
@@ -13,27 +13,27 @@ require (
|
||||
github.com/distribution/distribution/v3 v3.1.1
|
||||
github.com/fluxcd/cli-utils v1.2.2
|
||||
github.com/fluxcd/go-git-providers v0.27.0
|
||||
github.com/fluxcd/helm-controller/api v1.6.1
|
||||
github.com/fluxcd/image-automation-controller/api v1.2.1
|
||||
github.com/fluxcd/image-reflector-controller/api v1.2.1
|
||||
github.com/fluxcd/kustomize-controller/api v1.9.1
|
||||
github.com/fluxcd/notification-controller/api v1.9.1
|
||||
github.com/fluxcd/pkg/apis/event v0.27.1
|
||||
github.com/fluxcd/pkg/apis/meta v1.30.1
|
||||
github.com/fluxcd/pkg/auth v0.54.1
|
||||
github.com/fluxcd/pkg/chartutil v1.27.1
|
||||
github.com/fluxcd/helm-controller/api v1.6.2
|
||||
github.com/fluxcd/image-automation-controller/api v1.2.2
|
||||
github.com/fluxcd/image-reflector-controller/api v1.2.2
|
||||
github.com/fluxcd/kustomize-controller/api v1.9.2
|
||||
github.com/fluxcd/notification-controller/api v1.9.2
|
||||
github.com/fluxcd/pkg/apis/event v0.28.0
|
||||
github.com/fluxcd/pkg/apis/meta v1.31.0
|
||||
github.com/fluxcd/pkg/auth v0.55.0
|
||||
github.com/fluxcd/pkg/chartutil v1.28.0
|
||||
github.com/fluxcd/pkg/envsubst v1.7.0
|
||||
github.com/fluxcd/pkg/git v0.52.0
|
||||
github.com/fluxcd/pkg/kustomize v1.35.1
|
||||
github.com/fluxcd/pkg/kustomize v1.38.0
|
||||
github.com/fluxcd/pkg/oci v0.68.0
|
||||
github.com/fluxcd/pkg/runtime v0.110.1
|
||||
github.com/fluxcd/pkg/runtime v0.111.0
|
||||
github.com/fluxcd/pkg/sourceignore v0.18.0
|
||||
github.com/fluxcd/pkg/ssa v0.76.1
|
||||
github.com/fluxcd/pkg/ssa v0.77.0
|
||||
github.com/fluxcd/pkg/ssh v0.25.0
|
||||
github.com/fluxcd/pkg/tar v1.2.0
|
||||
github.com/fluxcd/pkg/version v0.16.0
|
||||
github.com/fluxcd/source-controller/api v1.9.1
|
||||
github.com/fluxcd/source-watcher/api/v2 v2.2.1
|
||||
github.com/fluxcd/source-controller/api v1.9.2
|
||||
github.com/fluxcd/source-watcher/api/v2 v2.2.2
|
||||
github.com/go-git/go-git/v5 v5.19.1
|
||||
github.com/go-logr/logr v1.4.3
|
||||
github.com/gonvenience/bunt v1.4.2
|
||||
@@ -128,7 +128,7 @@ require (
|
||||
github.com/fatih/color v1.19.0 // indirect
|
||||
github.com/felixge/httpsnoop v1.0.4 // indirect
|
||||
github.com/fluxcd/pkg/apis/acl v0.10.0 // indirect
|
||||
github.com/fluxcd/pkg/apis/kustomize v1.19.1 // indirect
|
||||
github.com/fluxcd/pkg/apis/kustomize v1.20.0 // indirect
|
||||
github.com/fluxcd/pkg/cache v0.14.0 // indirect
|
||||
github.com/fsnotify/fsnotify v1.9.0 // indirect
|
||||
github.com/fxamacker/cbor/v2 v2.9.2 // indirect
|
||||
|
||||
@@ -176,56 +176,56 @@ github.com/fluxcd/gitkit v0.6.0 h1:iNg5LTx6ePo+Pl0ZwqHTAkhbUHxGVSY3YCxCdw7VIFg=
|
||||
github.com/fluxcd/gitkit v0.6.0/go.mod h1:svOHuKi0fO9HoawdK4HfHAJJseZDHHjk7I3ihnCIqNo=
|
||||
github.com/fluxcd/go-git-providers v0.27.0 h1:ll7qL4xYW6JtlcdRCpLYKQPqqXNs3je+J7xyEAF+fgw=
|
||||
github.com/fluxcd/go-git-providers v0.27.0/go.mod h1:l1ODx/sh0/pJ0LM8K3HJHhiMBR9dxaJcNUazT+I7VRM=
|
||||
github.com/fluxcd/helm-controller/api v1.6.1 h1:h48BXjp/hvN8pIst5KfU++3oyLlO2OpigXfclSj7NW4=
|
||||
github.com/fluxcd/helm-controller/api v1.6.1/go.mod h1:CaI5bHedusLcXYj1+pkd4RkSE8TtiEHI3ReHNsUySbg=
|
||||
github.com/fluxcd/image-automation-controller/api v1.2.1 h1:RgJzncZf/aZpGlySOkqztOoDaQjm0afyFzMC4gTJbjw=
|
||||
github.com/fluxcd/image-automation-controller/api v1.2.1/go.mod h1:LmGIeIsxdrmzJbXpexrRUaBLjJCPrNY3XhaDu6osKQY=
|
||||
github.com/fluxcd/image-reflector-controller/api v1.2.1 h1:MfaLweSrJjR7YTahHKB8xPhx0Iq2KvcNPsboSjYLRGM=
|
||||
github.com/fluxcd/image-reflector-controller/api v1.2.1/go.mod h1:1dZKQPfQdjdCYWOUA2UUYlF9+xhfosfsGgWaNI875Ts=
|
||||
github.com/fluxcd/kustomize-controller/api v1.9.1 h1:QiGAlrjJh8RzderBavB6Z8MoJgzU0SWi0pK3+uYhZSw=
|
||||
github.com/fluxcd/kustomize-controller/api v1.9.1/go.mod h1:utxc483AZDArFeBW5XeD/wiD0+E1oQbPi3b/TZc+v10=
|
||||
github.com/fluxcd/notification-controller/api v1.9.1 h1:XGg9Muj0x/t5wmeqZh/8ZAgTpz4NIylP0wIhNI3cN+M=
|
||||
github.com/fluxcd/notification-controller/api v1.9.1/go.mod h1:TpGuKZjeo2yXXKZ/X3oPIxMm/YGFQkccO31CDeXzrv4=
|
||||
github.com/fluxcd/helm-controller/api v1.6.2 h1:oH3kXfiSVDKB5Mmh7tF4ywC2yK1Ui7enjt7GKWJbTxM=
|
||||
github.com/fluxcd/helm-controller/api v1.6.2/go.mod h1:CaI5bHedusLcXYj1+pkd4RkSE8TtiEHI3ReHNsUySbg=
|
||||
github.com/fluxcd/image-automation-controller/api v1.2.2 h1:d/I6yMrJZGEafWUOr+2/Zahp7D99GNIDrRZJX2c7ap0=
|
||||
github.com/fluxcd/image-automation-controller/api v1.2.2/go.mod h1:LmGIeIsxdrmzJbXpexrRUaBLjJCPrNY3XhaDu6osKQY=
|
||||
github.com/fluxcd/image-reflector-controller/api v1.2.2 h1:jcO8/83mfg62N+VoBuZMKZFzUHr96B0UzsJ+qKDYzec=
|
||||
github.com/fluxcd/image-reflector-controller/api v1.2.2/go.mod h1:1dZKQPfQdjdCYWOUA2UUYlF9+xhfosfsGgWaNI875Ts=
|
||||
github.com/fluxcd/kustomize-controller/api v1.9.2 h1:qUhXlh8QA65wyKOv3R6xMBVuNTr949kUr7u3M9fCcFI=
|
||||
github.com/fluxcd/kustomize-controller/api v1.9.2/go.mod h1:utxc483AZDArFeBW5XeD/wiD0+E1oQbPi3b/TZc+v10=
|
||||
github.com/fluxcd/notification-controller/api v1.9.2 h1:Ga4kMy6Q+BS1P2CqtQr97pozNK179MKAHdN8UC1ehq0=
|
||||
github.com/fluxcd/notification-controller/api v1.9.2/go.mod h1:TpGuKZjeo2yXXKZ/X3oPIxMm/YGFQkccO31CDeXzrv4=
|
||||
github.com/fluxcd/pkg/apis/acl v0.10.0 h1:KPfAmELNvtvaz8wixnm/MYXqa+MJf7ntVVMUU93Aenk=
|
||||
github.com/fluxcd/pkg/apis/acl v0.10.0/go.mod h1:a87i2A7AlFO5N2J8CxtzaUCCDmuLLWOHwkKu3eJF5fY=
|
||||
github.com/fluxcd/pkg/apis/event v0.27.1 h1:bFnP6gcZzCVm/Dxf/ByFz6BW+FzSn4RoWUkf7ri2bOs=
|
||||
github.com/fluxcd/pkg/apis/event v0.27.1/go.mod h1:ThqUZxG48o5PDN9Qh0tVTdpb+6PlVa6J2beEeMZoKMk=
|
||||
github.com/fluxcd/pkg/apis/kustomize v1.19.1 h1:rmN3hTceBVABGbrqRXEDYoAJDBUIPFRO9zbDJ98Xt/o=
|
||||
github.com/fluxcd/pkg/apis/kustomize v1.19.1/go.mod h1:9FUs77fd/Rh5/mDgZbGBUCL0UqmXiGj8rYywG3T3x+s=
|
||||
github.com/fluxcd/pkg/apis/meta v1.30.1 h1:TRqdvb/zo9h9Ig10xHxV7jMilG+e1jOv3djI00GFr9g=
|
||||
github.com/fluxcd/pkg/apis/meta v1.30.1/go.mod h1:Gx+YRq26a+mTbCjotSXC7/6kSSyo0zXQ8JnsEXf2vVk=
|
||||
github.com/fluxcd/pkg/auth v0.54.1 h1:UomwXboodolc5MWcyfXMw4aviqICKfcwlIDXCUOnNiQ=
|
||||
github.com/fluxcd/pkg/auth v0.54.1/go.mod h1:LV+XsZNll2CJ879UZs17PJdVAidPJ3bFpo85MSTvkyY=
|
||||
github.com/fluxcd/pkg/apis/event v0.28.0 h1:08XVnuhPff/UowZ7hsxOnEoBGC/+F6r2kcvTtqpbWQc=
|
||||
github.com/fluxcd/pkg/apis/event v0.28.0/go.mod h1:ThqUZxG48o5PDN9Qh0tVTdpb+6PlVa6J2beEeMZoKMk=
|
||||
github.com/fluxcd/pkg/apis/kustomize v1.20.0 h1:Aur2337TwSYGUffDQVlawOR3SJfRvxH7ikEKD6cJSxs=
|
||||
github.com/fluxcd/pkg/apis/kustomize v1.20.0/go.mod h1:9FUs77fd/Rh5/mDgZbGBUCL0UqmXiGj8rYywG3T3x+s=
|
||||
github.com/fluxcd/pkg/apis/meta v1.31.0 h1:5niQvTirK0wTE0TfRjnUSdmu6GTSbAFzrdnovtZ9rJ8=
|
||||
github.com/fluxcd/pkg/apis/meta v1.31.0/go.mod h1:Gx+YRq26a+mTbCjotSXC7/6kSSyo0zXQ8JnsEXf2vVk=
|
||||
github.com/fluxcd/pkg/auth v0.55.0 h1:csVikaCwWKk8o98rYVr4YainyVb84HN67EJrWSFrirg=
|
||||
github.com/fluxcd/pkg/auth v0.55.0/go.mod h1:Jwyc8KCUMxq58JwgBPJ3cj3M02VN7sOJkR1FqXl/0kE=
|
||||
github.com/fluxcd/pkg/cache v0.14.0 h1:wEwJA8NhYj+nH9P6ifcsglDZARWlcbxbmwngGOzfU4c=
|
||||
github.com/fluxcd/pkg/cache v0.14.0/go.mod h1:KwzU2gyVQ83YOHJsbBeveJ0HsXmLrH0I668zX19d/+s=
|
||||
github.com/fluxcd/pkg/chartutil v1.27.1 h1:Px0z/7c8VpOVmVRr76rVpHyXoBwaqj69vGJoAfKvUIM=
|
||||
github.com/fluxcd/pkg/chartutil v1.27.1/go.mod h1:Ws7JTAtiWitogxvbwaritE2mh2MxE1eRMSj+ZOP4M6k=
|
||||
github.com/fluxcd/pkg/chartutil v1.28.0 h1:a26RGirtMFH9dsLd1Kg7WiESF52WDUCx7EcbHCyIDbk=
|
||||
github.com/fluxcd/pkg/chartutil v1.28.0/go.mod h1:BjFiOw9CMGB8DlWdgG5thEV40nglABlYAhKykaNfzCc=
|
||||
github.com/fluxcd/pkg/envsubst v1.7.0 h1:PL9Nj/V2fgaMR9KYZR7mEEw+vlYgP80nFZjOQQKAfJs=
|
||||
github.com/fluxcd/pkg/envsubst v1.7.0/go.mod h1:aoWeSIOamhqBZ3bHVj1GDwpdA10DXrI8yYbyjPiFly0=
|
||||
github.com/fluxcd/pkg/git v0.52.0 h1:dgsliHdaLADUcDO4pI0pc11N4dZ21NfDdhNcgRNuAkM=
|
||||
github.com/fluxcd/pkg/git v0.52.0/go.mod h1:mOvFDxoiuz+Mm4Ux1wKeTTckvBgZFvbTK8lNxmVHzKs=
|
||||
github.com/fluxcd/pkg/gittestserver v0.29.0 h1:2j03zKVL6iVn6oiUuecG/O/3Q1pULWM9JrF/HSjkpnc=
|
||||
github.com/fluxcd/pkg/gittestserver v0.29.0/go.mod h1:O8151jV0ppBZTb9IUXMjxh6hZpkiuLq8JQHDBPOkZFw=
|
||||
github.com/fluxcd/pkg/kustomize v1.35.1 h1:qAGikUZE9eDtY2EXSXl56ueWy8420Sdg8s8s0IwEa1E=
|
||||
github.com/fluxcd/pkg/kustomize v1.35.1/go.mod h1:LKjh2x9MjoJ8Ry0WTgB84WWgF999VwA4jWDix2x+QmE=
|
||||
github.com/fluxcd/pkg/kustomize v1.38.0 h1:95KIqpk3UBkxFNC1kCnqbawdiNAbgATVWE5THfbq7PY=
|
||||
github.com/fluxcd/pkg/kustomize v1.38.0/go.mod h1:OCKAb5Tc0bFVpeclk/W0uWjjlB9dcLm/6XMvx69zu/4=
|
||||
github.com/fluxcd/pkg/oci v0.68.0 h1:eykB9HrMGOmCTT6MSKRIBMxTiieBigah1wFedMMyhYM=
|
||||
github.com/fluxcd/pkg/oci v0.68.0/go.mod h1:lNxvxqjGSGfEKI4Lnpj8mHTVDMy4Fdiico6Oml0tafU=
|
||||
github.com/fluxcd/pkg/runtime v0.110.1 h1:O7eVI/R40MQMQpi6cAlWsNka2hZ0YfMXzETmui9D06c=
|
||||
github.com/fluxcd/pkg/runtime v0.110.1/go.mod h1:h5HDYgi4RXHGZD/5TCdy/47Vdlplf3/KM6U8aEDcagA=
|
||||
github.com/fluxcd/pkg/runtime v0.111.0 h1:nbmFuYstyN2a1SDW0SZU5dG9+9x+yDP4A39kKQKjj2A=
|
||||
github.com/fluxcd/pkg/runtime v0.111.0/go.mod h1:YUljTAXVaeWG+GLnXNZopFFMZstUoTxJs7+vl91OV58=
|
||||
github.com/fluxcd/pkg/sourceignore v0.18.0 h1:WU2tPKasG9AM7/H/LlqdjULyaSknnZBTrpHsDDtOuns=
|
||||
github.com/fluxcd/pkg/sourceignore v0.18.0/go.mod h1:mnH7rFFlEbMTclhz7JZP7tiHssKdXRNpCqnly2JGvaI=
|
||||
github.com/fluxcd/pkg/ssa v0.76.1 h1:IckNphuK3LuTRNkdRZlXEri7ZFXPc1Qj39TUHwOspv0=
|
||||
github.com/fluxcd/pkg/ssa v0.76.1/go.mod h1:bNImnO/GHtjjgp7BtGXVk181CoZbH9rEVEJfOwg1Xo8=
|
||||
github.com/fluxcd/pkg/ssa v0.77.0 h1:HaDg7XDQGfVTFY379GrnnhrON1CQLjrLmyGbbTw5Ohc=
|
||||
github.com/fluxcd/pkg/ssa v0.77.0/go.mod h1:bNImnO/GHtjjgp7BtGXVk181CoZbH9rEVEJfOwg1Xo8=
|
||||
github.com/fluxcd/pkg/ssh v0.25.0 h1:4Y9WmuNqyKvH759UznU5DGHRcOuoJ/dQM6sbsaDZYYM=
|
||||
github.com/fluxcd/pkg/ssh v0.25.0/go.mod h1:Fli2Ogu4uaIVGbCy+r0vvZlMO0RfuInyNY1q2FVIx0o=
|
||||
github.com/fluxcd/pkg/tar v1.2.0 h1:T6WFB5M0YRHktlrgdKNskqpdp76TVDdWTOeuWz33CFs=
|
||||
github.com/fluxcd/pkg/tar v1.2.0/go.mod h1:Wlalp5vIVe+BbckkKkqExKcoHAeeWJPAzwK7ONeFcS0=
|
||||
github.com/fluxcd/pkg/version v0.16.0 h1:VR9+143LAwbyUSAaMhiJHbfsiU+fTjA9L/3dr1ucfrI=
|
||||
github.com/fluxcd/pkg/version v0.16.0/go.mod h1:2M/l90CmbDaD21JTh77hjwaUbd/YM96+Fo8x4fMdxLI=
|
||||
github.com/fluxcd/source-controller/api v1.9.1 h1:04Elx6/iFwgNOmrymfetaDfFFBqw5/LfoiTgyeLlrqQ=
|
||||
github.com/fluxcd/source-controller/api v1.9.1/go.mod h1:qO98L20gw0MvLpSPapJKypyxHP7PejmJN5KxWXxDjCA=
|
||||
github.com/fluxcd/source-watcher/api/v2 v2.2.1 h1:eRQnrksg/CylJSBFTHXMUpADRB0B2YC11YaUjSW9ZWE=
|
||||
github.com/fluxcd/source-watcher/api/v2 v2.2.1/go.mod h1:v84ckEC92IRw9HZVHzUamwkgIv1Vh38NQn/jCwo8Sro=
|
||||
github.com/fluxcd/source-controller/api v1.9.2 h1:t7P7gzbVE66sfw6oHMSzsp0bH0WdMFf6RvgUW1clCI4=
|
||||
github.com/fluxcd/source-controller/api v1.9.2/go.mod h1:qO98L20gw0MvLpSPapJKypyxHP7PejmJN5KxWXxDjCA=
|
||||
github.com/fluxcd/source-watcher/api/v2 v2.2.2 h1:D9zHdmLoLl8VI+DgsgAaa6Vc2e1mXGDBn8OaToAhMT4=
|
||||
github.com/fluxcd/source-watcher/api/v2 v2.2.2/go.mod h1:v84ckEC92IRw9HZVHzUamwkgIv1Vh38NQn/jCwo8Sro=
|
||||
github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k=
|
||||
github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
|
||||
github.com/fxamacker/cbor/v2 v2.9.2 h1:X4Ksno9+x3cz0TZv69ec1hxP/+tymuR8PXQJyDwfh78=
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- https://github.com/fluxcd/helm-controller/releases/download/v1.6.1/helm-controller.crds.yaml
|
||||
- https://github.com/fluxcd/helm-controller/releases/download/v1.6.1/helm-controller.deployment.yaml
|
||||
- https://github.com/fluxcd/helm-controller/releases/download/v1.6.2/helm-controller.crds.yaml
|
||||
- https://github.com/fluxcd/helm-controller/releases/download/v1.6.2/helm-controller.deployment.yaml
|
||||
- account.yaml
|
||||
transformers:
|
||||
- labels.yaml
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- https://github.com/fluxcd/image-automation-controller/releases/download/v1.2.1/image-automation-controller.crds.yaml
|
||||
- https://github.com/fluxcd/image-automation-controller/releases/download/v1.2.1/image-automation-controller.deployment.yaml
|
||||
- https://github.com/fluxcd/image-automation-controller/releases/download/v1.2.2/image-automation-controller.crds.yaml
|
||||
- https://github.com/fluxcd/image-automation-controller/releases/download/v1.2.2/image-automation-controller.deployment.yaml
|
||||
- account.yaml
|
||||
transformers:
|
||||
- labels.yaml
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- https://github.com/fluxcd/image-reflector-controller/releases/download/v1.2.1/image-reflector-controller.crds.yaml
|
||||
- https://github.com/fluxcd/image-reflector-controller/releases/download/v1.2.1/image-reflector-controller.deployment.yaml
|
||||
- https://github.com/fluxcd/image-reflector-controller/releases/download/v1.2.2/image-reflector-controller.crds.yaml
|
||||
- https://github.com/fluxcd/image-reflector-controller/releases/download/v1.2.2/image-reflector-controller.deployment.yaml
|
||||
- account.yaml
|
||||
transformers:
|
||||
- labels.yaml
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- https://github.com/fluxcd/kustomize-controller/releases/download/v1.9.1/kustomize-controller.crds.yaml
|
||||
- https://github.com/fluxcd/kustomize-controller/releases/download/v1.9.1/kustomize-controller.deployment.yaml
|
||||
- https://github.com/fluxcd/kustomize-controller/releases/download/v1.9.2/kustomize-controller.crds.yaml
|
||||
- https://github.com/fluxcd/kustomize-controller/releases/download/v1.9.2/kustomize-controller.deployment.yaml
|
||||
- account.yaml
|
||||
transformers:
|
||||
- labels.yaml
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- https://github.com/fluxcd/notification-controller/releases/download/v1.9.1/notification-controller.crds.yaml
|
||||
- https://github.com/fluxcd/notification-controller/releases/download/v1.9.1/notification-controller.deployment.yaml
|
||||
- https://github.com/fluxcd/notification-controller/releases/download/v1.9.2/notification-controller.crds.yaml
|
||||
- https://github.com/fluxcd/notification-controller/releases/download/v1.9.2/notification-controller.deployment.yaml
|
||||
- account.yaml
|
||||
transformers:
|
||||
- labels.yaml
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- https://github.com/fluxcd/source-controller/releases/download/v1.9.1/source-controller.crds.yaml
|
||||
- https://github.com/fluxcd/source-controller/releases/download/v1.9.1/source-controller.deployment.yaml
|
||||
- https://github.com/fluxcd/source-controller/releases/download/v1.9.2/source-controller.crds.yaml
|
||||
- https://github.com/fluxcd/source-controller/releases/download/v1.9.2/source-controller.deployment.yaml
|
||||
- account.yaml
|
||||
transformers:
|
||||
- labels.yaml
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- https://github.com/fluxcd/source-watcher/releases/download/v2.2.1/source-watcher.crds.yaml
|
||||
- https://github.com/fluxcd/source-watcher/releases/download/v2.2.1/source-watcher.deployment.yaml
|
||||
- https://github.com/fluxcd/source-watcher/releases/download/v2.2.2/source-watcher.crds.yaml
|
||||
- https://github.com/fluxcd/source-watcher/releases/download/v2.2.2/source-watcher.deployment.yaml
|
||||
- account.yaml
|
||||
transformers:
|
||||
- labels.yaml
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- https://github.com/fluxcd/source-controller/releases/download/v1.9.1/source-controller.crds.yaml
|
||||
- https://github.com/fluxcd/kustomize-controller/releases/download/v1.9.1/kustomize-controller.crds.yaml
|
||||
- https://github.com/fluxcd/helm-controller/releases/download/v1.6.1/helm-controller.crds.yaml
|
||||
- https://github.com/fluxcd/notification-controller/releases/download/v1.9.1/notification-controller.crds.yaml
|
||||
- https://github.com/fluxcd/image-reflector-controller/releases/download/v1.2.1/image-reflector-controller.crds.yaml
|
||||
- https://github.com/fluxcd/image-automation-controller/releases/download/v1.2.1/image-automation-controller.crds.yaml
|
||||
- https://github.com/fluxcd/source-watcher/releases/download/v2.2.1/source-watcher.crds.yaml
|
||||
- https://github.com/fluxcd/source-controller/releases/download/v1.9.2/source-controller.crds.yaml
|
||||
- https://github.com/fluxcd/kustomize-controller/releases/download/v1.9.2/kustomize-controller.crds.yaml
|
||||
- https://github.com/fluxcd/helm-controller/releases/download/v1.6.2/helm-controller.crds.yaml
|
||||
- https://github.com/fluxcd/notification-controller/releases/download/v1.9.2/notification-controller.crds.yaml
|
||||
- https://github.com/fluxcd/image-reflector-controller/releases/download/v1.2.2/image-reflector-controller.crds.yaml
|
||||
- https://github.com/fluxcd/image-automation-controller/releases/download/v1.2.2/image-automation-controller.crds.yaml
|
||||
- https://github.com/fluxcd/source-watcher/releases/download/v2.2.2/source-watcher.crds.yaml
|
||||
|
||||
@@ -11,10 +11,10 @@ require (
|
||||
github.com/fluxcd/image-reflector-controller/api v1.1.2
|
||||
github.com/fluxcd/kustomize-controller/api v1.8.5
|
||||
github.com/fluxcd/notification-controller/api v1.8.4
|
||||
github.com/fluxcd/pkg/apis/event v0.27.1
|
||||
github.com/fluxcd/pkg/apis/meta v1.30.1
|
||||
github.com/fluxcd/pkg/apis/event v0.28.0
|
||||
github.com/fluxcd/pkg/apis/meta v1.31.0
|
||||
github.com/fluxcd/pkg/git v0.52.0
|
||||
github.com/fluxcd/pkg/runtime v0.110.1
|
||||
github.com/fluxcd/pkg/runtime v0.111.0
|
||||
github.com/fluxcd/source-controller/api v1.8.5
|
||||
github.com/fluxcd/test-infra/tftestenv v0.0.0-20260419142339-c6535d1fff77
|
||||
github.com/go-git/go-git/v5 v5.19.1
|
||||
@@ -55,7 +55,7 @@ require (
|
||||
github.com/evanphx/json-patch/v5 v5.9.11 // indirect
|
||||
github.com/felixge/httpsnoop v1.0.4 // indirect
|
||||
github.com/fluxcd/pkg/apis/acl v0.10.0 // indirect
|
||||
github.com/fluxcd/pkg/apis/kustomize v1.19.1 // indirect
|
||||
github.com/fluxcd/pkg/apis/kustomize v1.20.0 // indirect
|
||||
github.com/fluxcd/pkg/ssh v0.25.0 // indirect
|
||||
github.com/fluxcd/pkg/version v0.16.0 // indirect
|
||||
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
|
||||
|
||||
@@ -105,18 +105,18 @@ github.com/fluxcd/notification-controller/api v1.8.4 h1:KhHHVhQNtQsY+cVm/Y/8vhhF
|
||||
github.com/fluxcd/notification-controller/api v1.8.4/go.mod h1:ozgJGQPy0dG5eOsLZlwAr6n0q/y6+TWd1fGOtavlXJA=
|
||||
github.com/fluxcd/pkg/apis/acl v0.10.0 h1:KPfAmELNvtvaz8wixnm/MYXqa+MJf7ntVVMUU93Aenk=
|
||||
github.com/fluxcd/pkg/apis/acl v0.10.0/go.mod h1:a87i2A7AlFO5N2J8CxtzaUCCDmuLLWOHwkKu3eJF5fY=
|
||||
github.com/fluxcd/pkg/apis/event v0.27.1 h1:bFnP6gcZzCVm/Dxf/ByFz6BW+FzSn4RoWUkf7ri2bOs=
|
||||
github.com/fluxcd/pkg/apis/event v0.27.1/go.mod h1:ThqUZxG48o5PDN9Qh0tVTdpb+6PlVa6J2beEeMZoKMk=
|
||||
github.com/fluxcd/pkg/apis/kustomize v1.19.1 h1:rmN3hTceBVABGbrqRXEDYoAJDBUIPFRO9zbDJ98Xt/o=
|
||||
github.com/fluxcd/pkg/apis/kustomize v1.19.1/go.mod h1:9FUs77fd/Rh5/mDgZbGBUCL0UqmXiGj8rYywG3T3x+s=
|
||||
github.com/fluxcd/pkg/apis/meta v1.30.1 h1:TRqdvb/zo9h9Ig10xHxV7jMilG+e1jOv3djI00GFr9g=
|
||||
github.com/fluxcd/pkg/apis/meta v1.30.1/go.mod h1:Gx+YRq26a+mTbCjotSXC7/6kSSyo0zXQ8JnsEXf2vVk=
|
||||
github.com/fluxcd/pkg/apis/event v0.28.0 h1:08XVnuhPff/UowZ7hsxOnEoBGC/+F6r2kcvTtqpbWQc=
|
||||
github.com/fluxcd/pkg/apis/event v0.28.0/go.mod h1:ThqUZxG48o5PDN9Qh0tVTdpb+6PlVa6J2beEeMZoKMk=
|
||||
github.com/fluxcd/pkg/apis/kustomize v1.20.0 h1:Aur2337TwSYGUffDQVlawOR3SJfRvxH7ikEKD6cJSxs=
|
||||
github.com/fluxcd/pkg/apis/kustomize v1.20.0/go.mod h1:9FUs77fd/Rh5/mDgZbGBUCL0UqmXiGj8rYywG3T3x+s=
|
||||
github.com/fluxcd/pkg/apis/meta v1.31.0 h1:5niQvTirK0wTE0TfRjnUSdmu6GTSbAFzrdnovtZ9rJ8=
|
||||
github.com/fluxcd/pkg/apis/meta v1.31.0/go.mod h1:Gx+YRq26a+mTbCjotSXC7/6kSSyo0zXQ8JnsEXf2vVk=
|
||||
github.com/fluxcd/pkg/git v0.52.0 h1:dgsliHdaLADUcDO4pI0pc11N4dZ21NfDdhNcgRNuAkM=
|
||||
github.com/fluxcd/pkg/git v0.52.0/go.mod h1:mOvFDxoiuz+Mm4Ux1wKeTTckvBgZFvbTK8lNxmVHzKs=
|
||||
github.com/fluxcd/pkg/gittestserver v0.29.0 h1:2j03zKVL6iVn6oiUuecG/O/3Q1pULWM9JrF/HSjkpnc=
|
||||
github.com/fluxcd/pkg/gittestserver v0.29.0/go.mod h1:O8151jV0ppBZTb9IUXMjxh6hZpkiuLq8JQHDBPOkZFw=
|
||||
github.com/fluxcd/pkg/runtime v0.110.1 h1:O7eVI/R40MQMQpi6cAlWsNka2hZ0YfMXzETmui9D06c=
|
||||
github.com/fluxcd/pkg/runtime v0.110.1/go.mod h1:h5HDYgi4RXHGZD/5TCdy/47Vdlplf3/KM6U8aEDcagA=
|
||||
github.com/fluxcd/pkg/runtime v0.111.0 h1:nbmFuYstyN2a1SDW0SZU5dG9+9x+yDP4A39kKQKjj2A=
|
||||
github.com/fluxcd/pkg/runtime v0.111.0/go.mod h1:YUljTAXVaeWG+GLnXNZopFFMZstUoTxJs7+vl91OV58=
|
||||
github.com/fluxcd/pkg/ssh v0.25.0 h1:4Y9WmuNqyKvH759UznU5DGHRcOuoJ/dQM6sbsaDZYYM=
|
||||
github.com/fluxcd/pkg/ssh v0.25.0/go.mod h1:Fli2Ogu4uaIVGbCy+r0vvZlMO0RfuInyNY1q2FVIx0o=
|
||||
github.com/fluxcd/pkg/version v0.16.0 h1:VR9+143LAwbyUSAaMhiJHbfsiU+fTjA9L/3dr1ucfrI=
|
||||
|
||||
Reference in New Issue
Block a user