diff --git a/.golangci.yaml b/.golangci.yaml index b36b5a98800ae..589c8b89de830 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -66,6 +66,8 @@ linters-settings: pkg: k8s.io/api/rbac/v1 - alias: apierrors pkg: k8s.io/apimachinery/pkg/api/errors + - alias: apiextensionsv1 + pkg: k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1 - alias: metav1 pkg: k8s.io/apimachinery/pkg/apis/meta/v1 - alias: informersv1 diff --git a/USERS.md b/USERS.md index 952718742e2da..7de2d36288e77 100644 --- a/USERS.md +++ b/USERS.md @@ -30,7 +30,7 @@ Currently, the following organizations are **officially** using Argo CD: 1. [Ant Group](https://www.antgroup.com/) 1. [AppDirect](https://www.appdirect.com) 1. [Arctiq Inc.](https://www.arctiq.ca) -2. [Arturia](https://www.arturia.com) +1. [Arturia](https://www.arturia.com) 1. [ARZ Allgemeines Rechenzentrum GmbH](https://www.arz.at/) 1. [Augury](https://www.augury.com/) 1. [Autodesk](https://www.autodesk.com) @@ -397,3 +397,4 @@ Currently, the following organizations are **officially** using Argo CD: 1. [Zimpler](https://www.zimpler.com/) 1. [ZipRecuiter](https://www.ziprecruiter.com/) 1. [ZOZO](https://corp.zozo.com/) +1. [hetao101](https://www.hetao101.com/) diff --git a/applicationset/controllers/applicationset_controller.go b/applicationset/controllers/applicationset_controller.go index 7498d6bbfcc7c..ed135f26f889d 100644 --- a/applicationset/controllers/applicationset_controller.go +++ b/applicationset/controllers/applicationset_controller.go @@ -768,7 +768,7 @@ func (r *ApplicationSetReconciler) deleteInCluster(ctx context.Context, logCtx * } // removeFinalizerOnInvalidDestination removes the Argo CD resources finalizer if the application contains an invalid target (eg missing cluster) -func (r *ApplicationSetReconciler) removeFinalizerOnInvalidDestination(ctx context.Context, applicationSet argov1alpha1.ApplicationSet, app *argov1alpha1.Application, clusterList *argov1alpha1.ClusterList, appLog *log.Entry) error { +func (r *ApplicationSetReconciler) removeFinalizerOnInvalidDestination(ctx context.Context, applicationSet argov1alpha1.ApplicationSet, app *argov1alpha1.Application, clusterList []utils.ClusterSpecifier, appLog *log.Entry) error { // Only check if the finalizers need to be removed IF there are finalizers to remove if len(app.Finalizers) == 0 { return nil @@ -783,7 +783,7 @@ func (r *ApplicationSetReconciler) removeFinalizerOnInvalidDestination(ctx conte } else { // Detect if the destination's server field does not match an existing cluster matchingCluster := false - for _, cluster := range clusterList.Items { + for _, cluster := range clusterList { if destCluster.Server != cluster.Server { continue } diff --git a/applicationset/generators/cluster.go b/applicationset/generators/cluster.go index 6aa110687622d..b60fc937e7daa 100644 --- a/applicationset/generators/cluster.go +++ b/applicationset/generators/cluster.go @@ -70,7 +70,7 @@ func (g *ClusterGenerator) GenerateParams(appSetGenerator *argoappsetv1alpha1.Ap // - Since local clusters do not have secrets, they do not have labels to match against ignoreLocalClusters := len(appSetGenerator.Clusters.Selector.MatchExpressions) > 0 || len(appSetGenerator.Clusters.Selector.MatchLabels) > 0 - // ListCluster from Argo CD's util/db package will include the local cluster in the list of clusters + // ListCluster will include the local cluster in the list of clusters clustersFromArgoCD, err := utils.ListClusters(g.ctx, g.clientset, g.namespace) if err != nil { return nil, fmt.Errorf("error listing clusters: %w", err) @@ -93,7 +93,7 @@ func (g *ClusterGenerator) GenerateParams(appSetGenerator *argoappsetv1alpha1.Ap logCtx.Debugf("Using flat mode = %t for cluster generator", isFlatMode) clustersParams := make([]map[string]any, 0) - for _, cluster := range clustersFromArgoCD.Items { + for _, cluster := range clustersFromArgoCD { // If there is a secret for this cluster, then it's a non-local cluster, so it will be // handled by the next step. if secretForCluster, exists := clusterSecrets[cluster.Name]; exists { diff --git a/applicationset/generators/duck_type.go b/applicationset/generators/duck_type.go index 8f80691c3dfae..aa2a9f9397dcc 100644 --- a/applicationset/generators/duck_type.go +++ b/applicationset/generators/duck_type.go @@ -165,9 +165,6 @@ func (g *DuckTypeGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.A } log.Infof("Number of decisions found: %v", len(clusterDecisions)) - // Read this outside the loop to improve performance - argoClusters := clustersFromArgoCD.Items - if len(clusterDecisions) == 0 { log.Warningf("clusterDecisionResource status.%s missing", statusListKey) return nil, nil @@ -188,7 +185,7 @@ func (g *DuckTypeGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.A found := false - for _, argoCluster := range argoClusters { + for _, argoCluster := range clustersFromArgoCD { if argoCluster.Name == strMatchValue { log.WithField(matchKey, argoCluster.Name).Info("matched cluster in ArgoCD") params["name"] = argoCluster.Name diff --git a/applicationset/generators/generator_spec_processor.go b/applicationset/generators/generator_spec_processor.go index cbb1bdf9f4a0b..392fd4b85f1de 100644 --- a/applicationset/generators/generator_spec_processor.go +++ b/applicationset/generators/generator_spec_processor.go @@ -159,16 +159,3 @@ func InterpolateGenerator(requestedGenerator *argoprojiov1alpha1.ApplicationSetG return *interpolatedGenerator, nil } - -// Fixes https://github.com/argoproj/argo-cd/issues/11982 while ensuring backwards compatibility. -// This is only a short-term solution and should be removed in a future major version. -func dropDisabledNestedSelectors(generators []argoprojiov1alpha1.ApplicationSetNestedGenerator) bool { - var foundSelector bool - for i := range generators { - if generators[i].Selector != nil { - foundSelector = true - generators[i].Selector = nil - } - } - return foundSelector -} diff --git a/applicationset/generators/git.go b/applicationset/generators/git.go index 53ae1a2075b35..8e42840988143 100644 --- a/applicationset/generators/git.go +++ b/applicationset/generators/git.go @@ -83,13 +83,17 @@ func (g *GitGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.Applic verifyCommit = len(appProject.Spec.SignatureKeys) > 0 && gpg.IsGPGEnabled() } + // If the project field is templated, we cannot resolve the project name, so we pass an empty string to the repo-server. + // This means only "globally-scoped" repo credentials can be used for such appsets. + project := resolveProjectName(appSet.Spec.Template.Spec.Project) + var err error var res []map[string]any switch { case len(appSetGenerator.Git.Directories) != 0: - res, err = g.generateParamsForGitDirectories(appSetGenerator, noRevisionCache, verifyCommit, appSet.Spec.GoTemplate, appSet.Spec.GoTemplateOptions) + res, err = g.generateParamsForGitDirectories(appSetGenerator, noRevisionCache, verifyCommit, appSet.Spec.GoTemplate, project, appSet.Spec.GoTemplateOptions) case len(appSetGenerator.Git.Files) != 0: - res, err = g.generateParamsForGitFiles(appSetGenerator, noRevisionCache, verifyCommit, appSet.Spec.GoTemplate, appSet.Spec.GoTemplateOptions) + res, err = g.generateParamsForGitFiles(appSetGenerator, noRevisionCache, verifyCommit, appSet.Spec.GoTemplate, project, appSet.Spec.GoTemplateOptions) default: return nil, EmptyAppSetGeneratorError } @@ -100,9 +104,9 @@ func (g *GitGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.Applic return res, nil } -func (g *GitGenerator) generateParamsForGitDirectories(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, noRevisionCache, verifyCommit bool, useGoTemplate bool, goTemplateOptions []string) ([]map[string]any, error) { +func (g *GitGenerator) generateParamsForGitDirectories(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, noRevisionCache, verifyCommit, useGoTemplate bool, project string, goTemplateOptions []string) ([]map[string]any, error) { // Directories, not files - allPaths, err := g.repos.GetDirectories(context.TODO(), appSetGenerator.Git.RepoURL, appSetGenerator.Git.Revision, noRevisionCache, verifyCommit) + allPaths, err := g.repos.GetDirectories(context.TODO(), appSetGenerator.Git.RepoURL, appSetGenerator.Git.Revision, project, noRevisionCache, verifyCommit) if err != nil { return nil, fmt.Errorf("error getting directories from repo: %w", err) } @@ -125,11 +129,11 @@ func (g *GitGenerator) generateParamsForGitDirectories(appSetGenerator *argoproj return res, nil } -func (g *GitGenerator) generateParamsForGitFiles(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, noRevisionCache, verifyCommit bool, useGoTemplate bool, goTemplateOptions []string) ([]map[string]any, error) { +func (g *GitGenerator) generateParamsForGitFiles(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, noRevisionCache, verifyCommit, useGoTemplate bool, project string, goTemplateOptions []string) ([]map[string]any, error) { // Get all files that match the requested path string, removing duplicates allFiles := make(map[string][]byte) for _, requestedPath := range appSetGenerator.Git.Files { - files, err := g.repos.GetFiles(context.TODO(), appSetGenerator.Git.RepoURL, appSetGenerator.Git.Revision, requestedPath.Path, noRevisionCache, verifyCommit) + files, err := g.repos.GetFiles(context.TODO(), appSetGenerator.Git.RepoURL, appSetGenerator.Git.Revision, project, requestedPath.Path, noRevisionCache, verifyCommit) if err != nil { return nil, err } @@ -335,3 +339,11 @@ func (g *GitGenerator) generateParamsFromApps(requestedApps []string, appSetGene return res, nil } + +func resolveProjectName(project string) string { + if strings.Contains(project, "{{") { + return "" + } + + return project +} diff --git a/applicationset/generators/git_test.go b/applicationset/generators/git_test.go index 5e35b332c58fd..39a63e5ec4d5b 100644 --- a/applicationset/generators/git_test.go +++ b/applicationset/generators/git_test.go @@ -10,6 +10,7 @@ import ( "github.com/stretchr/testify/require" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/utils/ptr" "sigs.k8s.io/controller-runtime/pkg/client/fake" "github.com/argoproj/argo-cd/v3/applicationset/services/mocks" @@ -169,11 +170,12 @@ foo: for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { params, err := (*GitGenerator)(nil).generateParamsFromGitFile(tt.args.filePath, tt.args.fileContent, tt.args.values, tt.args.useGoTemplate, tt.args.goTemplateOptions, tt.args.pathParamPrefix) - if (err != nil) != tt.wantErr { - t.Errorf("GitGenerator.generateParamsFromGitFile() error = %v, wantErr %v", err, tt.wantErr) - return + if tt.wantErr { + assert.Error(t, err, "GitGenerator.generateParamsFromGitFile()") + } else { + require.NoError(t, err) + assert.Equal(t, tt.want, params) } - assert.Equal(t, tt.want, params) }) } } @@ -198,7 +200,6 @@ func TestGitGenerateParamsFromDirectories(t *testing.T) { "app_3", "p1/app4", }, - repoError: nil, expected: []map[string]any{ {"path": "app1", "path.basename": "app1", "path.basenameNormalized": "app1", "path[0]": "app1"}, {"path": "app2", "path.basename": "app2", "path.basenameNormalized": "app2", "path[0]": "app2"}, @@ -233,7 +234,6 @@ func TestGitGenerateParamsFromDirectories(t *testing.T) { "p1/p2/app3", "p1/p2/p3/app4", }, - repoError: nil, expected: []map[string]any{ {"path": "p1/app2", "path.basename": "app2", "path[0]": "p1", "path[1]": "app2", "path.basenameNormalized": "app2"}, {"path": "p1/p2/app3", "path.basename": "app3", "path[0]": "p1", "path[1]": "p2", "path[2]": "app3", "path.basenameNormalized": "app3"}, @@ -321,7 +321,7 @@ func TestGitGenerateParamsFromDirectories(t *testing.T) { argoCDServiceMock := mocks.Repos{} - argoCDServiceMock.On("GetDirectories", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(testCaseCopy.repoApps, testCaseCopy.repoError) + argoCDServiceMock.On("GetDirectories", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(testCaseCopy.repoApps, testCaseCopy.repoError) gitGenerator := NewGitGenerator(&argoCDServiceMock, "") applicationSetInfo := v1alpha1.ApplicationSet{ @@ -622,7 +622,7 @@ func TestGitGenerateParamsFromDirectoriesGoTemplate(t *testing.T) { argoCDServiceMock := mocks.Repos{} - argoCDServiceMock.On("GetDirectories", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(testCaseCopy.repoApps, testCaseCopy.repoError) + argoCDServiceMock.On("GetDirectories", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(testCaseCopy.repoApps, testCaseCopy.repoError) gitGenerator := NewGitGenerator(&argoCDServiceMock, "") applicationSetInfo := v1alpha1.ApplicationSet{ @@ -1281,7 +1281,7 @@ cluster: t.Parallel() argoCDServiceMock := mocks.Repos{} - argoCDServiceMock.On("GetFiles", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything). + argoCDServiceMock.On("GetFiles", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything). Return(testCaseCopy.repoFileContents, testCaseCopy.repoPathsError) gitGenerator := NewGitGenerator(&argoCDServiceMock, "") @@ -1637,7 +1637,7 @@ cluster: t.Parallel() argoCDServiceMock := mocks.Repos{} - argoCDServiceMock.On("GetFiles", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything). + argoCDServiceMock.On("GetFiles", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything). Return(testCaseCopy.repoFileContents, testCaseCopy.repoPathsError) gitGenerator := NewGitGenerator(&argoCDServiceMock, "") @@ -1682,6 +1682,7 @@ cluster: func TestGitGenerator_GenerateParams(t *testing.T) { cases := []struct { name string + appProject v1alpha1.AppProject directories []v1alpha1.GitDirectoryGeneratorItem pathParamPrefix string repoApps []string @@ -1690,6 +1691,7 @@ func TestGitGenerator_GenerateParams(t *testing.T) { values map[string]string expected []map[string]any expectedError error + expectedProject *string appset v1alpha1.ApplicationSet callGetDirectories bool }{ @@ -1761,21 +1763,102 @@ func TestGitGenerator_GenerateParams(t *testing.T) { expected: []map[string]any{{"path": "app1", "path.basename": "app1", "path.basenameNormalized": "app1", "path[0]": "app1", "values.foo": "bar"}}, expectedError: errors.New("error getting project project: appprojects.argoproj.io \"project\" not found"), }, + { + name: "Project field is not templated - verify that project is passed through to repo-server as-is", + repoApps: []string{ + "app1", + }, + callGetDirectories: true, + appProject: v1alpha1.AppProject{ + TypeMeta: metav1.TypeMeta{}, + ObjectMeta: metav1.ObjectMeta{ + Name: "project", + Namespace: "argocd", + }, + }, + appset: v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "set", + Namespace: "namespace", + }, + Spec: v1alpha1.ApplicationSetSpec{ + Generators: []v1alpha1.ApplicationSetGenerator{{ + Git: &v1alpha1.GitGenerator{ + RepoURL: "RepoURL", + Revision: "Revision", + Directories: []v1alpha1.GitDirectoryGeneratorItem{{Path: "*"}}, + PathParamPrefix: "", + Values: map[string]string{ + "foo": "bar", + }, + }, + }}, + Template: v1alpha1.ApplicationSetTemplate{ + Spec: v1alpha1.ApplicationSpec{ + Project: "project", + }, + }, + }, + }, + expected: []map[string]any{{"path": "app1", "path.basename": "app1", "path.basenameNormalized": "app1", "path[0]": "app1", "values.foo": "bar"}}, + expectedProject: ptr.To("project"), + expectedError: nil, + }, + { + name: "Project field is templated - verify that project is passed through to repo-server as empty string", + repoApps: []string{ + "app1", + }, + callGetDirectories: true, + appset: v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "set", + Namespace: "namespace", + }, + Spec: v1alpha1.ApplicationSetSpec{ + Generators: []v1alpha1.ApplicationSetGenerator{{ + Git: &v1alpha1.GitGenerator{ + RepoURL: "RepoURL", + Revision: "Revision", + Directories: []v1alpha1.GitDirectoryGeneratorItem{{Path: "*"}}, + PathParamPrefix: "", + Values: map[string]string{ + "foo": "bar", + }, + }, + }}, + Template: v1alpha1.ApplicationSetTemplate{ + Spec: v1alpha1.ApplicationSpec{ + Project: "{{.project}}", + }, + }, + }, + }, + expected: []map[string]any{{"path": "app1", "path.basename": "app1", "path.basenameNormalized": "app1", "path[0]": "app1", "values.foo": "bar"}}, + expectedProject: ptr.To(""), + expectedError: nil, + }, } for _, testCase := range cases { argoCDServiceMock := mocks.Repos{} if testCase.callGetDirectories { - argoCDServiceMock.On("GetDirectories", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(testCase.repoApps, testCase.repoPathsError) + var project any + if testCase.expectedProject != nil { + project = *testCase.expectedProject + } else { + project = mock.Anything + } + + argoCDServiceMock.On("GetDirectories", mock.Anything, mock.Anything, mock.Anything, project, mock.Anything, mock.Anything).Return(testCase.repoApps, testCase.repoPathsError) } - gitGenerator := NewGitGenerator(&argoCDServiceMock, "namespace") + gitGenerator := NewGitGenerator(&argoCDServiceMock, "argocd") scheme := runtime.NewScheme() err := v1alpha1.AddToScheme(scheme) require.NoError(t, err) - appProject := v1alpha1.AppProject{} - client := fake.NewClientBuilder().WithScheme(scheme).WithObjects(&appProject).Build() + client := fake.NewClientBuilder().WithScheme(scheme).WithObjects(&testCase.appProject).Build() got, err := gitGenerator.GenerateParams(&testCase.appset.Spec.Generators[0], &testCase.appset, client) diff --git a/applicationset/generators/matrix.go b/applicationset/generators/matrix.go index 29f48af410f67..56ab414695519 100644 --- a/applicationset/generators/matrix.go +++ b/applicationset/generators/matrix.go @@ -10,8 +10,6 @@ import ( "github.com/argoproj/argo-cd/v3/applicationset/utils" argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1" - - log "github.com/sirupsen/logrus" ) var _ Generator = (*MatrixGenerator)(nil) @@ -86,22 +84,10 @@ func (m *MatrixGenerator) getParams(appSetBaseGenerator argoprojiov1alpha1.Appli if err != nil { return nil, err } - if matrixGen != nil && !appSet.Spec.ApplyNestedSelectors { - foundSelector := dropDisabledNestedSelectors(matrixGen.Generators) - if foundSelector { - log.Warnf("AppSet '%v' defines selector on nested matrix generator's generator without enabling them via 'spec.applyNestedSelectors', ignoring nested selectors", appSet.Name) - } - } mergeGen, err := getMergeGenerator(appSetBaseGenerator) if err != nil { return nil, fmt.Errorf("error retrieving merge generator: %w", err) } - if mergeGen != nil && !appSet.Spec.ApplyNestedSelectors { - foundSelector := dropDisabledNestedSelectors(mergeGen.Generators) - if foundSelector { - log.Warnf("AppSet '%v' defines selector on nested merge generator's generator without enabling them via 'spec.applyNestedSelectors', ignoring nested selectors", appSet.Name) - } - } t, err := Transform( argoprojiov1alpha1.ApplicationSetGenerator{ diff --git a/applicationset/generators/matrix_test.go b/applicationset/generators/matrix_test.go index d076e53b00329..777772676bca4 100644 --- a/applicationset/generators/matrix_test.go +++ b/applicationset/generators/matrix_test.go @@ -1087,7 +1087,7 @@ func TestGitGenerator_GenerateParams_list_x_git_matrix_generator(t *testing.T) { } repoServiceMock := &mocks.Repos{} - repoServiceMock.On("GetFiles", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(map[string][]byte{ + repoServiceMock.On("GetFiles", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(map[string][]byte{ "some/path.json": []byte("test: content"), }, nil) gitGenerator := NewGitGenerator(repoServiceMock, "") diff --git a/applicationset/generators/merge.go b/applicationset/generators/merge.go index 5da3c122b9e9b..6bafe36e846c9 100644 --- a/applicationset/generators/merge.go +++ b/applicationset/generators/merge.go @@ -11,8 +11,6 @@ import ( "github.com/argoproj/argo-cd/v3/applicationset/utils" argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1" - - log "github.com/sirupsen/logrus" ) var _ Generator = (*MergeGenerator)(nil) @@ -144,22 +142,10 @@ func (m *MergeGenerator) getParams(appSetBaseGenerator argoprojiov1alpha1.Applic if err != nil { return nil, err } - if matrixGen != nil && !appSet.Spec.ApplyNestedSelectors { - foundSelector := dropDisabledNestedSelectors(matrixGen.Generators) - if foundSelector { - log.Warnf("AppSet '%v' defines selector on nested matrix generator's generator without enabling them via 'spec.applyNestedSelectors', ignoring nested selector", appSet.Name) - } - } mergeGen, err := getMergeGenerator(appSetBaseGenerator) if err != nil { return nil, err } - if mergeGen != nil && !appSet.Spec.ApplyNestedSelectors { - foundSelector := dropDisabledNestedSelectors(mergeGen.Generators) - if foundSelector { - log.Warnf("AppSet '%v' defines selector on nested merge generator's generator without enabling them via 'spec.applyNestedSelectors', ignoring nested selector", appSet.Name) - } - } t, err := Transform( argoprojiov1alpha1.ApplicationSetGenerator{ diff --git a/applicationset/generators/pull_request_test.go b/applicationset/generators/pull_request_test.go index 5bde48ea1695d..8f940af5d4762 100644 --- a/applicationset/generators/pull_request_test.go +++ b/applicationset/generators/pull_request_test.go @@ -224,7 +224,7 @@ func TestPullRequestGithubGenerateParams(t *testing.T) { got, gotErr := gen.GenerateParams(&generatorConfig, &c.applicationSet, nil) if c.expectedErr != nil { - assert.Equal(t, c.expectedErr.Error(), gotErr.Error()) + require.EqualError(t, gotErr, c.expectedErr.Error()) } else { require.NoError(t, gotErr) } diff --git a/applicationset/services/mocks/Repos.go b/applicationset/services/mocks/Repos.go index 2bc9be358c379..ee6a21b141d12 100644 --- a/applicationset/services/mocks/Repos.go +++ b/applicationset/services/mocks/Repos.go @@ -13,9 +13,9 @@ type Repos struct { mock.Mock } -// GetDirectories provides a mock function with given fields: ctx, repoURL, revision, noRevisionCache, verifyCommit -func (_m *Repos) GetDirectories(ctx context.Context, repoURL string, revision string, noRevisionCache bool, verifyCommit bool) ([]string, error) { - ret := _m.Called(ctx, repoURL, revision, noRevisionCache, verifyCommit) +// GetDirectories provides a mock function with given fields: ctx, repoURL, revision, project, noRevisionCache, verifyCommit +func (_m *Repos) GetDirectories(ctx context.Context, repoURL string, revision string, project string, noRevisionCache bool, verifyCommit bool) ([]string, error) { + ret := _m.Called(ctx, repoURL, revision, project, noRevisionCache, verifyCommit) if len(ret) == 0 { panic("no return value specified for GetDirectories") @@ -23,19 +23,19 @@ func (_m *Repos) GetDirectories(ctx context.Context, repoURL string, revision st var r0 []string var r1 error - if rf, ok := ret.Get(0).(func(context.Context, string, string, bool, bool) ([]string, error)); ok { - return rf(ctx, repoURL, revision, noRevisionCache, verifyCommit) + if rf, ok := ret.Get(0).(func(context.Context, string, string, string, bool, bool) ([]string, error)); ok { + return rf(ctx, repoURL, revision, project, noRevisionCache, verifyCommit) } - if rf, ok := ret.Get(0).(func(context.Context, string, string, bool, bool) []string); ok { - r0 = rf(ctx, repoURL, revision, noRevisionCache, verifyCommit) + if rf, ok := ret.Get(0).(func(context.Context, string, string, string, bool, bool) []string); ok { + r0 = rf(ctx, repoURL, revision, project, noRevisionCache, verifyCommit) } else { if ret.Get(0) != nil { r0 = ret.Get(0).([]string) } } - if rf, ok := ret.Get(1).(func(context.Context, string, string, bool, bool) error); ok { - r1 = rf(ctx, repoURL, revision, noRevisionCache, verifyCommit) + if rf, ok := ret.Get(1).(func(context.Context, string, string, string, bool, bool) error); ok { + r1 = rf(ctx, repoURL, revision, project, noRevisionCache, verifyCommit) } else { r1 = ret.Error(1) } @@ -43,9 +43,9 @@ func (_m *Repos) GetDirectories(ctx context.Context, repoURL string, revision st return r0, r1 } -// GetFiles provides a mock function with given fields: ctx, repoURL, revision, pattern, noRevisionCache, verifyCommit -func (_m *Repos) GetFiles(ctx context.Context, repoURL string, revision string, pattern string, noRevisionCache bool, verifyCommit bool) (map[string][]byte, error) { - ret := _m.Called(ctx, repoURL, revision, pattern, noRevisionCache, verifyCommit) +// GetFiles provides a mock function with given fields: ctx, repoURL, revision, project, pattern, noRevisionCache, verifyCommit +func (_m *Repos) GetFiles(ctx context.Context, repoURL string, revision string, project string, pattern string, noRevisionCache bool, verifyCommit bool) (map[string][]byte, error) { + ret := _m.Called(ctx, repoURL, revision, project, pattern, noRevisionCache, verifyCommit) if len(ret) == 0 { panic("no return value specified for GetFiles") @@ -53,19 +53,19 @@ func (_m *Repos) GetFiles(ctx context.Context, repoURL string, revision string, var r0 map[string][]byte var r1 error - if rf, ok := ret.Get(0).(func(context.Context, string, string, string, bool, bool) (map[string][]byte, error)); ok { - return rf(ctx, repoURL, revision, pattern, noRevisionCache, verifyCommit) + if rf, ok := ret.Get(0).(func(context.Context, string, string, string, string, bool, bool) (map[string][]byte, error)); ok { + return rf(ctx, repoURL, revision, project, pattern, noRevisionCache, verifyCommit) } - if rf, ok := ret.Get(0).(func(context.Context, string, string, string, bool, bool) map[string][]byte); ok { - r0 = rf(ctx, repoURL, revision, pattern, noRevisionCache, verifyCommit) + if rf, ok := ret.Get(0).(func(context.Context, string, string, string, string, bool, bool) map[string][]byte); ok { + r0 = rf(ctx, repoURL, revision, project, pattern, noRevisionCache, verifyCommit) } else { if ret.Get(0) != nil { r0 = ret.Get(0).(map[string][]byte) } } - if rf, ok := ret.Get(1).(func(context.Context, string, string, string, bool, bool) error); ok { - r1 = rf(ctx, repoURL, revision, pattern, noRevisionCache, verifyCommit) + if rf, ok := ret.Get(1).(func(context.Context, string, string, string, string, bool, bool) error); ok { + r1 = rf(ctx, repoURL, revision, project, pattern, noRevisionCache, verifyCommit) } else { r1 = ret.Error(1) } diff --git a/applicationset/services/repo_service.go b/applicationset/services/repo_service.go index 16228018d8f23..5a8241677fba1 100644 --- a/applicationset/services/repo_service.go +++ b/applicationset/services/repo_service.go @@ -6,37 +6,52 @@ import ( "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1" "github.com/argoproj/argo-cd/v3/reposerver/apiclient" - "github.com/argoproj/argo-cd/v3/util/git" + "github.com/argoproj/argo-cd/v3/util/db" "github.com/argoproj/argo-cd/v3/util/io" ) type argoCDService struct { - getRepository func(ctx context.Context, url, project string) (*v1alpha1.Repository, error) - storecreds git.CredsStore - submoduleEnabled bool - repoServerClientSet apiclient.Clientset - newFileGlobbingEnabled bool + getRepository func(ctx context.Context, url, project string) (*v1alpha1.Repository, error) + submoduleEnabled bool + newFileGlobbingEnabled bool + getGitFilesFromRepoServer func(ctx context.Context, req *apiclient.GitFilesRequest) (*apiclient.GitFilesResponse, error) + getGitDirectoriesFromRepoServer func(ctx context.Context, req *apiclient.GitDirectoriesRequest) (*apiclient.GitDirectoriesResponse, error) } type Repos interface { // GetFiles returns content of files (not directories) within the target repo - GetFiles(ctx context.Context, repoURL string, revision string, pattern string, noRevisionCache, verifyCommit bool) (map[string][]byte, error) + GetFiles(ctx context.Context, repoURL, revision, project, pattern string, noRevisionCache, verifyCommit bool) (map[string][]byte, error) // GetDirectories returns a list of directories (not files) within the target repo - GetDirectories(ctx context.Context, repoURL string, revision string, noRevisionCache, verifyCommit bool) ([]string, error) + GetDirectories(ctx context.Context, repoURL, revision, project string, noRevisionCache, verifyCommit bool) ([]string, error) } -func NewArgoCDService(getRepository func(ctx context.Context, url, project string) (*v1alpha1.Repository, error), submoduleEnabled bool, repoClientset apiclient.Clientset, newFileGlobbingEnabled bool) (Repos, error) { +func NewArgoCDService(db db.ArgoDB, submoduleEnabled bool, repoClientset apiclient.Clientset, newFileGlobbingEnabled bool) Repos { return &argoCDService{ - getRepository: getRepository, + getRepository: db.GetRepository, submoduleEnabled: submoduleEnabled, - repoServerClientSet: repoClientset, newFileGlobbingEnabled: newFileGlobbingEnabled, - }, nil + getGitFilesFromRepoServer: func(ctx context.Context, fileRequest *apiclient.GitFilesRequest) (*apiclient.GitFilesResponse, error) { + closer, client, err := repoClientset.NewRepoServerClient() + if err != nil { + return nil, fmt.Errorf("error initializing new repo server client: %w", err) + } + defer io.Close(closer) + return client.GetGitFiles(ctx, fileRequest) + }, + getGitDirectoriesFromRepoServer: func(ctx context.Context, dirRequest *apiclient.GitDirectoriesRequest) (*apiclient.GitDirectoriesResponse, error) { + closer, client, err := repoClientset.NewRepoServerClient() + if err != nil { + return nil, fmt.Errorf("error initialising new repo server client: %w", err) + } + defer io.Close(closer) + return client.GetGitDirectories(ctx, dirRequest) + }, + } } -func (a *argoCDService) GetFiles(ctx context.Context, repoURL string, revision string, pattern string, noRevisionCache, verifyCommit bool) (map[string][]byte, error) { - repo, err := a.getRepository(ctx, repoURL, "") +func (a *argoCDService) GetFiles(ctx context.Context, repoURL, revision, project, pattern string, noRevisionCache, verifyCommit bool) (map[string][]byte, error) { + repo, err := a.getRepository(ctx, repoURL, project) if err != nil { return nil, fmt.Errorf("error in GetRepository: %w", err) } @@ -50,21 +65,15 @@ func (a *argoCDService) GetFiles(ctx context.Context, repoURL string, revision s NoRevisionCache: noRevisionCache, VerifyCommit: verifyCommit, } - closer, client, err := a.repoServerClientSet.NewRepoServerClient() - if err != nil { - return nil, fmt.Errorf("error initialising new repo server client: %w", err) - } - defer io.Close(closer) - - fileResponse, err := client.GetGitFiles(ctx, fileRequest) + fileResponse, err := a.getGitFilesFromRepoServer(ctx, fileRequest) if err != nil { return nil, fmt.Errorf("error retrieving Git files: %w", err) } return fileResponse.GetMap(), nil } -func (a *argoCDService) GetDirectories(ctx context.Context, repoURL string, revision string, noRevisionCache, verifyCommit bool) ([]string, error) { - repo, err := a.getRepository(ctx, repoURL, "") +func (a *argoCDService) GetDirectories(ctx context.Context, repoURL, revision, project string, noRevisionCache, verifyCommit bool) ([]string, error) { + repo, err := a.getRepository(ctx, repoURL, project) if err != nil { return nil, fmt.Errorf("error in GetRepository: %w", err) } @@ -77,13 +86,7 @@ func (a *argoCDService) GetDirectories(ctx context.Context, repoURL string, revi VerifyCommit: verifyCommit, } - closer, client, err := a.repoServerClientSet.NewRepoServerClient() - if err != nil { - return nil, fmt.Errorf("error initialising new repo server client: %w", err) - } - defer io.Close(closer) - - dirResponse, err := client.GetGitDirectories(ctx, dirRequest) + dirResponse, err := a.getGitDirectoriesFromRepoServer(ctx, dirRequest) if err != nil { return nil, fmt.Errorf("error retrieving Git Directories: %w", err) } diff --git a/applicationset/services/repo_service_test.go b/applicationset/services/repo_service_test.go index aa58834448c48..3c3fc28466ced 100644 --- a/applicationset/services/repo_service_test.go +++ b/applicationset/services/repo_service_test.go @@ -7,22 +7,21 @@ import ( "testing" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/mock" - "github.com/stretchr/testify/require" + "k8s.io/client-go/kubernetes/fake" "github.com/argoproj/argo-cd/v3/reposerver/apiclient" repo_mocks "github.com/argoproj/argo-cd/v3/reposerver/apiclient/mocks" - "github.com/argoproj/argo-cd/v3/util/git" + "github.com/argoproj/argo-cd/v3/util/db" + "github.com/argoproj/argo-cd/v3/util/settings" "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1" ) func TestGetDirectories(t *testing.T) { type fields struct { - storecreds git.CredsStore - submoduleEnabled bool - getRepository func(ctx context.Context, url, project string) (*v1alpha1.Repository, error) - repoServerClientFuncs []func(*repo_mocks.RepoServerServiceClient) + submoduleEnabled bool + getRepository func(ctx context.Context, url, project string) (*v1alpha1.Repository, error) + getGitDirectories func(ctx context.Context, req *apiclient.GitDirectoriesRequest) (*apiclient.GitDirectoriesResponse, error) } type args struct { ctx context.Context @@ -47,50 +46,41 @@ func TestGetDirectories(t *testing.T) { getRepository: func(_ context.Context, _, _ string) (*v1alpha1.Repository, error) { return &v1alpha1.Repository{}, nil }, - repoServerClientFuncs: []func(*repo_mocks.RepoServerServiceClient){ - func(client *repo_mocks.RepoServerServiceClient) { - client.On("GetGitDirectories", mock.Anything, mock.Anything).Return(nil, errors.New("unable to get dirs")) - }, + getGitDirectories: func(_ context.Context, _ *apiclient.GitDirectoriesRequest) (*apiclient.GitDirectoriesResponse, error) { + return nil, errors.New("unable to get dirs") }, }, args: args{}, want: nil, wantErr: assert.Error}, {name: "HappyCase", fields: fields{ getRepository: func(_ context.Context, _, _ string) (*v1alpha1.Repository, error) { - return &v1alpha1.Repository{}, nil + return &v1alpha1.Repository{ + Repo: "foo", + }, nil }, - repoServerClientFuncs: []func(*repo_mocks.RepoServerServiceClient){ - func(client *repo_mocks.RepoServerServiceClient) { - client.On("GetGitDirectories", mock.Anything, mock.Anything).Return(&apiclient.GitDirectoriesResponse{ - Paths: []string{"foo", "foo/bar", "bar/foo"}, - }, nil) - }, + getGitDirectories: func(_ context.Context, _ *apiclient.GitDirectoriesRequest) (*apiclient.GitDirectoriesResponse, error) { + return &apiclient.GitDirectoriesResponse{ + Paths: []string{"foo", "foo/bar", "bar/foo"}, + }, nil }, - }, args: args{}, want: []string{"foo", "foo/bar", "bar/foo"}, wantErr: assert.NoError}, + }, args: args{ + repoURL: "foo", + }, want: []string{"foo", "foo/bar", "bar/foo"}, wantErr: assert.NoError}, {name: "ErrorVerifyingCommit", fields: fields{ getRepository: func(_ context.Context, _, _ string) (*v1alpha1.Repository, error) { return &v1alpha1.Repository{}, nil }, - repoServerClientFuncs: []func(*repo_mocks.RepoServerServiceClient){ - func(client *repo_mocks.RepoServerServiceClient) { - client.On("GetGitDirectories", mock.Anything, mock.Anything).Return(nil, errors.New("revision HEAD is not signed")) - }, + getGitDirectories: func(_ context.Context, _ *apiclient.GitDirectoriesRequest) (*apiclient.GitDirectoriesResponse, error) { + return nil, errors.New("revision HEAD is not signed") }, }, args: args{}, want: nil, wantErr: assert.Error}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - mockRepoClient := &repo_mocks.RepoServerServiceClient{} - // decorate the mocks - for i := range tt.fields.repoServerClientFuncs { - tt.fields.repoServerClientFuncs[i](mockRepoClient) - } - a := &argoCDService{ - getRepository: tt.fields.getRepository, - storecreds: tt.fields.storecreds, - submoduleEnabled: tt.fields.submoduleEnabled, - repoServerClientSet: &repo_mocks.Clientset{RepoServerServiceClient: mockRepoClient}, + getRepository: tt.fields.getRepository, + submoduleEnabled: tt.fields.submoduleEnabled, + getGitDirectoriesFromRepoServer: tt.fields.getGitDirectories, } - got, err := a.GetDirectories(tt.args.ctx, tt.args.repoURL, tt.args.revision, tt.args.noRevisionCache, tt.args.verifyCommit) + got, err := a.GetDirectories(tt.args.ctx, tt.args.repoURL, tt.args.revision, "", tt.args.noRevisionCache, tt.args.verifyCommit) if !tt.wantErr(t, err, fmt.Sprintf("GetDirectories(%v, %v, %v, %v)", tt.args.ctx, tt.args.repoURL, tt.args.revision, tt.args.noRevisionCache)) { return } @@ -101,10 +91,9 @@ func TestGetDirectories(t *testing.T) { func TestGetFiles(t *testing.T) { type fields struct { - storecreds git.CredsStore - submoduleEnabled bool - repoServerClientFuncs []func(*repo_mocks.RepoServerServiceClient) - getRepository func(ctx context.Context, url, project string) (*v1alpha1.Repository, error) + submoduleEnabled bool + getRepository func(ctx context.Context, url, project string) (*v1alpha1.Repository, error) + getGitFiles func(ctx context.Context, req *apiclient.GitFilesRequest) (*apiclient.GitFilesResponse, error) } type args struct { ctx context.Context @@ -130,27 +119,27 @@ func TestGetFiles(t *testing.T) { getRepository: func(_ context.Context, _, _ string) (*v1alpha1.Repository, error) { return &v1alpha1.Repository{}, nil }, - repoServerClientFuncs: []func(*repo_mocks.RepoServerServiceClient){ - func(client *repo_mocks.RepoServerServiceClient) { - client.On("GetGitFiles", mock.Anything, mock.Anything).Return(nil, errors.New("unable to get files")) - }, + getGitFiles: func(_ context.Context, _ *apiclient.GitFilesRequest) (*apiclient.GitFilesResponse, error) { + return nil, errors.New("unable to get files") }, }, args: args{}, want: nil, wantErr: assert.Error}, {name: "HappyCase", fields: fields{ getRepository: func(_ context.Context, _, _ string) (*v1alpha1.Repository, error) { - return &v1alpha1.Repository{}, nil + return &v1alpha1.Repository{ + Repo: "foo", + }, nil }, - repoServerClientFuncs: []func(*repo_mocks.RepoServerServiceClient){ - func(client *repo_mocks.RepoServerServiceClient) { - client.On("GetGitFiles", mock.Anything, mock.Anything).Return(&apiclient.GitFilesResponse{ - Map: map[string][]byte{ - "foo.json": []byte("hello: world!"), - "bar.yaml": []byte("yay: appsets"), - }, - }, nil) - }, + getGitFiles: func(_ context.Context, _ *apiclient.GitFilesRequest) (*apiclient.GitFilesResponse, error) { + return &apiclient.GitFilesResponse{ + Map: map[string][]byte{ + "foo.json": []byte("hello: world!"), + "bar.yaml": []byte("yay: appsets"), + }, + }, nil }, - }, args: args{}, want: map[string][]byte{ + }, args: args{ + repoURL: "foo", + }, want: map[string][]byte{ "foo.json": []byte("hello: world!"), "bar.yaml": []byte("yay: appsets"), }, wantErr: assert.NoError}, @@ -158,28 +147,19 @@ func TestGetFiles(t *testing.T) { getRepository: func(_ context.Context, _, _ string) (*v1alpha1.Repository, error) { return &v1alpha1.Repository{}, nil }, - repoServerClientFuncs: []func(*repo_mocks.RepoServerServiceClient){ - func(client *repo_mocks.RepoServerServiceClient) { - client.On("GetGitFiles", mock.Anything, mock.Anything).Return(nil, errors.New("revision HEAD is not signed")) - }, + getGitFiles: func(_ context.Context, _ *apiclient.GitFilesRequest) (*apiclient.GitFilesResponse, error) { + return nil, errors.New("revision HEAD is not signed") }, }, args: args{}, want: nil, wantErr: assert.Error}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - mockRepoClient := &repo_mocks.RepoServerServiceClient{} - // decorate the mocks - for i := range tt.fields.repoServerClientFuncs { - tt.fields.repoServerClientFuncs[i](mockRepoClient) - } - a := &argoCDService{ - getRepository: tt.fields.getRepository, - storecreds: tt.fields.storecreds, - submoduleEnabled: tt.fields.submoduleEnabled, - repoServerClientSet: &repo_mocks.Clientset{RepoServerServiceClient: mockRepoClient}, + getRepository: tt.fields.getRepository, + submoduleEnabled: tt.fields.submoduleEnabled, + getGitFilesFromRepoServer: tt.fields.getGitFiles, } - got, err := a.GetFiles(tt.args.ctx, tt.args.repoURL, tt.args.revision, tt.args.pattern, tt.args.noRevisionCache, tt.args.verifyCommit) + got, err := a.GetFiles(tt.args.ctx, tt.args.repoURL, tt.args.revision, tt.args.pattern, "", tt.args.noRevisionCache, tt.args.verifyCommit) if !tt.wantErr(t, err, fmt.Sprintf("GetFiles(%v, %v, %v, %v, %v)", tt.args.ctx, tt.args.repoURL, tt.args.revision, tt.args.pattern, tt.args.noRevisionCache)) { return } @@ -189,9 +169,9 @@ func TestGetFiles(t *testing.T) { } func TestNewArgoCDService(t *testing.T) { - service, err := NewArgoCDService(func(_ context.Context, _, _ string) (*v1alpha1.Repository, error) { - return &v1alpha1.Repository{}, nil - }, false, &repo_mocks.Clientset{}, false) - require.NoError(t, err) + testNamespace := "test" + clientset := fake.NewClientset() + testDB := db.NewDB(testNamespace, settings.NewSettingsManager(context.Background(), clientset, testNamespace), clientset) + service := NewArgoCDService(testDB, false, &repo_mocks.Clientset{}, false) assert.NotNil(t, service) } diff --git a/applicationset/utils/clusterUtils.go b/applicationset/utils/clusterUtils.go index a708ba73ca5c2..5ba1f4584d7c2 100644 --- a/applicationset/utils/clusterUtils.go +++ b/applicationset/utils/clusterUtils.go @@ -3,7 +3,6 @@ package utils import ( "context" "fmt" - "sync" "github.com/argoproj/argo-cd/v3/common" appv1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1" @@ -13,16 +12,14 @@ import ( "k8s.io/client-go/kubernetes" ) -var ( - localCluster = appv1.Cluster{ - Name: "in-cluster", - Server: appv1.KubernetesInternalAPIServerAddr, - ConnectionState: appv1.ConnectionState{Status: appv1.ConnectionStatusSuccessful}, - } - initLocalCluster sync.Once -) +// ClusterSpecifier contains only the name and server URL of a cluster. We use this struct to avoid partially-populating +// the full Cluster struct, which would be misleading. +type ClusterSpecifier struct { + Name string + Server string +} -func ListClusters(ctx context.Context, clientset kubernetes.Interface, namespace string) (*appv1.ClusterList, error) { +func ListClusters(ctx context.Context, clientset kubernetes.Interface, namespace string) ([]ClusterSpecifier, error) { clusterSecretsList, err := clientset.CoreV1().Secrets(namespace).List(ctx, metav1.ListOptions{LabelSelector: common.LabelKeySecretType + "=" + common.LabelValueSecretTypeCluster}) if err != nil { @@ -35,54 +32,29 @@ func ListClusters(ctx context.Context, clientset kubernetes.Interface, namespace clusterSecrets := clusterSecretsList.Items - clusterList := appv1.ClusterList{ - Items: make([]appv1.Cluster, len(clusterSecrets)), - } + clusterList := make([]ClusterSpecifier, len(clusterSecrets)) + hasInClusterCredentials := false for i, clusterSecret := range clusterSecrets { - // This line has changed from the original Argo CD code: now receives an error, and handles it cluster, err := db.SecretToCluster(&clusterSecret) if err != nil || cluster == nil { return nil, fmt.Errorf("unable to convert cluster secret to cluster object '%s': %w", clusterSecret.Name, err) } - - // db.SecretToCluster populates these, but they're not meant to be available to the caller. - cluster.Labels = nil - cluster.Annotations = nil - - clusterList.Items[i] = *cluster + clusterList[i] = ClusterSpecifier{ + Name: cluster.Name, + Server: cluster.Server, + } if cluster.Server == appv1.KubernetesInternalAPIServerAddr { hasInClusterCredentials = true } } if !hasInClusterCredentials { - localCluster := getLocalCluster(clientset) - if localCluster != nil { - clusterList.Items = append(clusterList.Items, *localCluster) - } + // There was no secret for the in-cluster config, so we add it here. We don't fully-populate the Cluster struct, + // since only the name and server fields are used by the generator. + clusterList = append(clusterList, ClusterSpecifier{ + Name: "in-cluster", + Server: appv1.KubernetesInternalAPIServerAddr, + }) } - return &clusterList, nil -} - -func getLocalCluster(clientset kubernetes.Interface) *appv1.Cluster { - initLocalCluster.Do(func() { - info, err := clientset.Discovery().ServerVersion() - if err == nil { - //nolint:staticcheck - localCluster.ServerVersion = fmt.Sprintf("%s.%s", info.Major, info.Minor) - //nolint:staticcheck - localCluster.ConnectionState = appv1.ConnectionState{Status: appv1.ConnectionStatusSuccessful} - } else { - //nolint:staticcheck - localCluster.ConnectionState = appv1.ConnectionState{ - Status: appv1.ConnectionStatusFailed, - Message: err.Error(), - } - } - }) - cluster := localCluster.DeepCopy() - now := metav1.Now() - //nolint:staticcheck - cluster.ConnectionState.ModifiedAt = &now - return cluster + return clusterList, nil } diff --git a/assets/swagger.json b/assets/swagger.json index 31b23212c4d85..8aeb8f8e0395c 100644 --- a/assets/swagger.json +++ b/assets/swagger.json @@ -6916,8 +6916,8 @@ "type": "object", "properties": { "applyNestedSelectors": { - "type": "boolean", - "title": "ApplyNestedSelectors enables selectors defined within the generators of two level-nested matrix or merge generators" + "description": "ApplyNestedSelectors enables selectors defined within the generators of two level-nested matrix or merge generators\nDeprecated: This field is ignored, and the behavior is always enabled. The field will be removed in a future\nversion of the ApplicationSet CRD.", + "type": "boolean" }, "generators": { "type": "array", @@ -7275,6 +7275,10 @@ "type": "boolean", "title": "ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps" }, + "ignoreMissingComponents": { + "type": "boolean", + "title": "IgnoreMissingComponents prevents kustomize from failing when components do not exist locally by not appending them to kustomization file" + }, "images": { "type": "array", "title": "Images is a list of Kustomize image override specifications", @@ -10100,6 +10104,10 @@ "type": "object", "title": "SyncWindow contains the kind, time, duration and attributes that are used to assign the syncWindows to apps", "properties": { + "andOperator": { + "type": "boolean", + "title": "UseAndOperator use AND operator for matching applications, namespaces and clusters instead of the default OR operator" + }, "applications": { "type": "array", "title": "Applications contains a list of applications that the window will apply to", diff --git a/cmd/argocd-application-controller/commands/argocd_application_controller.go b/cmd/argocd-application-controller/commands/argocd_application_controller.go index cba2909b491b6..6b49a00553968 100644 --- a/cmd/argocd-application-controller/commands/argocd_application_controller.go +++ b/cmd/argocd-application-controller/commands/argocd_application_controller.go @@ -259,7 +259,7 @@ func NewCommand() *cobra.Command { command.Flags().StringVar(&commitServerAddress, "commit-server", env.StringFromEnv("ARGOCD_APPLICATION_CONTROLLER_COMMIT_SERVER", common.DefaultCommitServerAddr), "Commit server address.") command.Flags().IntVar(&statusProcessors, "status-processors", env.ParseNumFromEnv("ARGOCD_APPLICATION_CONTROLLER_STATUS_PROCESSORS", 20, 0, math.MaxInt32), "Number of application status processors") command.Flags().IntVar(&operationProcessors, "operation-processors", env.ParseNumFromEnv("ARGOCD_APPLICATION_CONTROLLER_OPERATION_PROCESSORS", 10, 0, math.MaxInt32), "Number of application operation processors") - command.Flags().StringVar(&cmdutil.LogFormat, "logformat", env.StringFromEnv("ARGOCD_APPLICATION_CONTROLLER_LOGFORMAT", "text"), "Set the logging format. One of: text|json") + command.Flags().StringVar(&cmdutil.LogFormat, "logformat", env.StringFromEnv("ARGOCD_APPLICATION_CONTROLLER_LOGFORMAT", "json"), "Set the logging format. One of: json|text") command.Flags().StringVar(&cmdutil.LogLevel, "loglevel", env.StringFromEnv("ARGOCD_APPLICATION_CONTROLLER_LOGLEVEL", "info"), "Set the logging level. One of: debug|info|warn|error") command.Flags().IntVar(&glogLevel, "gloglevel", 0, "Set the glog logging level") command.Flags().IntVar(&metricsPort, "metrics-port", common.DefaultPortArgoCDMetrics, "Start metrics server on given port") diff --git a/cmd/argocd-applicationset-controller/commands/applicationset_controller.go b/cmd/argocd-applicationset-controller/commands/applicationset_controller.go index 943b6653ffb49..441eee488a9eb 100644 --- a/cmd/argocd-applicationset-controller/commands/applicationset_controller.go +++ b/cmd/argocd-applicationset-controller/commands/applicationset_controller.go @@ -188,8 +188,7 @@ func NewCommand() *cobra.Command { } repoClientset := apiclient.NewRepoServerClientset(argocdRepoServer, repoServerTimeoutSeconds, tlsConfig) - argoCDService, err := services.NewArgoCDService(argoCDDB.GetRepository, gitSubmoduleEnabled, repoClientset, enableNewGitFileGlobbing) - errors.CheckError(err) + argoCDService := services.NewArgoCDService(argoCDDB, gitSubmoduleEnabled, repoClientset, enableNewGitFileGlobbing) topLevelGenerators := generators.GetGenerators(ctx, mgr.GetClient(), k8sClient, namespace, argoCDService, dynamicClient, scmConfig) @@ -252,7 +251,7 @@ func NewCommand() *cobra.Command { command.Flags().StringVar(&policy, "policy", env.StringFromEnv("ARGOCD_APPLICATIONSET_CONTROLLER_POLICY", ""), "Modify how application is synced between the generator and the cluster. Default is '' (empty), which means AppSets default to 'sync', but they may override that default. Setting an explicit value prevents AppSet-level overrides, unless --allow-policy-override is enabled. Explicit options are: 'sync' (create & update & delete), 'create-only', 'create-update' (no deletion), 'create-delete' (no update)") command.Flags().BoolVar(&enablePolicyOverride, "enable-policy-override", env.ParseBoolFromEnv("ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_POLICY_OVERRIDE", policy == ""), "For security reason if 'policy' is set, it is not possible to override it at applicationSet level. 'allow-policy-override' allows user to define their own policy") command.Flags().BoolVar(&debugLog, "debug", env.ParseBoolFromEnv("ARGOCD_APPLICATIONSET_CONTROLLER_DEBUG", false), "Print debug logs. Takes precedence over loglevel") - command.Flags().StringVar(&cmdutil.LogFormat, "logformat", env.StringFromEnv("ARGOCD_APPLICATIONSET_CONTROLLER_LOGFORMAT", "text"), "Set the logging format. One of: text|json") + command.Flags().StringVar(&cmdutil.LogFormat, "logformat", env.StringFromEnv("ARGOCD_APPLICATIONSET_CONTROLLER_LOGFORMAT", "json"), "Set the logging format. One of: json|text") command.Flags().StringVar(&cmdutil.LogLevel, "loglevel", env.StringFromEnv("ARGOCD_APPLICATIONSET_CONTROLLER_LOGLEVEL", "info"), "Set the logging level. One of: debug|info|warn|error") command.Flags().StringSliceVar(&allowedScmProviders, "allowed-scm-providers", env.StringsFromEnv("ARGOCD_APPLICATIONSET_CONTROLLER_ALLOWED_SCM_PROVIDERS", []string{}, ","), "The list of allowed custom SCM provider API URLs. This restriction does not apply to SCM or PR generators which do not accept a custom API URL. (Default: Empty = all)") command.Flags().BoolVar(&enableScmProviders, "enable-scm-providers", env.ParseBoolFromEnv("ARGOCD_APPLICATIONSET_CONTROLLER_ENABLE_SCM_PROVIDERS", true), "Enable retrieving information from SCM providers, used by the SCM and PR generators (Default: true)") diff --git a/cmd/argocd-cmp-server/commands/argocd_cmp_server.go b/cmd/argocd-cmp-server/commands/argocd_cmp_server.go index eb9de1e3c00f2..d919dff45cdbc 100644 --- a/cmd/argocd-cmp-server/commands/argocd_cmp_server.go +++ b/cmd/argocd-cmp-server/commands/argocd_cmp_server.go @@ -89,7 +89,7 @@ func NewCommand() *cobra.Command { }, } - command.Flags().StringVar(&cmdutil.LogFormat, "logformat", env.StringFromEnv("ARGOCD_CMP_SERVER_LOGFORMAT", "text"), "Set the logging format. One of: text|json") + command.Flags().StringVar(&cmdutil.LogFormat, "logformat", env.StringFromEnv("ARGOCD_CMP_SERVER_LOGFORMAT", "json"), "Set the logging format. One of: json|text") command.Flags().StringVar(&cmdutil.LogLevel, "loglevel", env.StringFromEnv("ARGOCD_CMP_SERVER_LOGLEVEL", "info"), "Set the logging level. One of: trace|debug|info|warn|error") command.Flags().StringVar(&configFilePath, "config-dir-path", common.DefaultPluginConfigFilePath, "Config management plugin configuration file location, Default is '/home/argocd/cmp-server/config/'") command.Flags().StringVar(&otlpAddress, "otlp-address", env.StringFromEnv("ARGOCD_CMP_SERVER_OTLP_ADDRESS", ""), "OpenTelemetry collector address to send traces to") diff --git a/cmd/argocd-commit-server/commands/argocd_commit_server.go b/cmd/argocd-commit-server/commands/argocd_commit_server.go index abce26c123f54..ae33f41e7f75f 100644 --- a/cmd/argocd-commit-server/commands/argocd_commit_server.go +++ b/cmd/argocd-commit-server/commands/argocd_commit_server.go @@ -106,7 +106,7 @@ func NewCommand() *cobra.Command { return nil }, } - command.Flags().StringVar(&cmdutil.LogFormat, "logformat", env.StringFromEnv("ARGOCD_COMMIT_SERVER_LOGFORMAT", "text"), "Set the logging format. One of: text|json") + command.Flags().StringVar(&cmdutil.LogFormat, "logformat", env.StringFromEnv("ARGOCD_COMMIT_SERVER_LOGFORMAT", "json"), "Set the logging format. One of: json|text") command.Flags().StringVar(&cmdutil.LogLevel, "loglevel", env.StringFromEnv("ARGOCD_COMMIT_SERVER_LOGLEVEL", "info"), "Set the logging level. One of: debug|info|warn|error") command.Flags().StringVar(&listenHost, "address", env.StringFromEnv("ARGOCD_COMMIT_SERVER_LISTEN_ADDRESS", common.DefaultAddressCommitServer), "Listen on given address for incoming connections") command.Flags().IntVar(&listenPort, "port", common.DefaultPortCommitServer, "Listen on given port for incoming connections") diff --git a/cmd/argocd-dex/commands/argocd_dex.go b/cmd/argocd-dex/commands/argocd_dex.go index 43ecc67979c5a..8afcb7955e231 100644 --- a/cmd/argocd-dex/commands/argocd_dex.go +++ b/cmd/argocd-dex/commands/argocd_dex.go @@ -144,7 +144,7 @@ func NewRunDexCommand() *cobra.Command { } clientConfig = cli.AddKubectlFlagsToCmd(&command) - command.Flags().StringVar(&cmdutil.LogFormat, "logformat", env.StringFromEnv("ARGOCD_DEX_SERVER_LOGFORMAT", "text"), "Set the logging format. One of: text|json") + command.Flags().StringVar(&cmdutil.LogFormat, "logformat", env.StringFromEnv("ARGOCD_DEX_SERVER_LOGFORMAT", "json"), "Set the logging format. One of: json|text") command.Flags().StringVar(&cmdutil.LogLevel, "loglevel", env.StringFromEnv("ARGOCD_DEX_SERVER_LOGLEVEL", "info"), "Set the logging level. One of: debug|info|warn|error") command.Flags().BoolVar(&disableTLS, "disable-tls", env.ParseBoolFromEnv("ARGOCD_DEX_SERVER_DISABLE_TLS", false), "Disable TLS on the HTTP endpoint") return &command @@ -212,7 +212,7 @@ func NewGenDexConfigCommand() *cobra.Command { } clientConfig = cli.AddKubectlFlagsToCmd(&command) - command.Flags().StringVar(&cmdutil.LogFormat, "logformat", env.StringFromEnv("ARGOCD_DEX_SERVER_LOGFORMAT", "text"), "Set the logging format. One of: text|json") + command.Flags().StringVar(&cmdutil.LogFormat, "logformat", env.StringFromEnv("ARGOCD_DEX_SERVER_LOGFORMAT", "json"), "Set the logging format. One of: json|text") command.Flags().StringVar(&cmdutil.LogLevel, "loglevel", env.StringFromEnv("ARGOCD_DEX_SERVER_LOGLEVEL", "info"), "Set the logging level. One of: debug|info|warn|error") command.Flags().StringVarP(&out, "out", "o", "", "Output to the specified file instead of stdout") command.Flags().BoolVar(&disableTLS, "disable-tls", env.ParseBoolFromEnv("ARGOCD_DEX_SERVER_DISABLE_TLS", false), "Disable TLS on the HTTP endpoint") diff --git a/cmd/argocd-notification/commands/controller.go b/cmd/argocd-notification/commands/controller.go index 36b836050ae0e..de29571fab616 100644 --- a/cmd/argocd-notification/commands/controller.go +++ b/cmd/argocd-notification/commands/controller.go @@ -180,7 +180,7 @@ func NewCommand() *cobra.Command { command.Flags().StringVar(&appLabelSelector, "app-label-selector", "", "App label selector.") command.Flags().StringVar(&namespace, "namespace", "", "Namespace which controller handles. Current namespace if empty.") command.Flags().StringVar(&logLevel, "loglevel", env.StringFromEnv("ARGOCD_NOTIFICATIONS_CONTROLLER_LOGLEVEL", "info"), "Set the logging level. One of: debug|info|warn|error") - command.Flags().StringVar(&logFormat, "logformat", env.StringFromEnv("ARGOCD_NOTIFICATIONS_CONTROLLER_LOGFORMAT", "text"), "Set the logging format. One of: text|json") + command.Flags().StringVar(&logFormat, "logformat", env.StringFromEnv("ARGOCD_NOTIFICATIONS_CONTROLLER_LOGFORMAT", "json"), "Set the logging format. One of: json|text") command.Flags().IntVar(&metricsPort, "metrics-port", defaultMetricsPort, "Metrics port") command.Flags().StringVar(&argocdRepoServer, "argocd-repo-server", common.DefaultRepoServerAddr, "Argo CD repo server address") command.Flags().BoolVar(&argocdRepoServerPlaintext, "argocd-repo-server-plaintext", env.ParseBoolFromEnv("ARGOCD_NOTIFICATION_CONTROLLER_REPO_SERVER_PLAINTEXT", false), "Use a plaintext client (non-TLS) to connect to repository server") diff --git a/cmd/argocd-repo-server/commands/argocd_repo_server.go b/cmd/argocd-repo-server/commands/argocd_repo_server.go index a531cce6aee14..94e58d40ca026 100644 --- a/cmd/argocd-repo-server/commands/argocd_repo_server.go +++ b/cmd/argocd-repo-server/commands/argocd_repo_server.go @@ -230,7 +230,7 @@ func NewCommand() *cobra.Command { return nil }, } - command.Flags().StringVar(&cmdutil.LogFormat, "logformat", env.StringFromEnv("ARGOCD_REPO_SERVER_LOGFORMAT", "text"), "Set the logging format. One of: text|json") + command.Flags().StringVar(&cmdutil.LogFormat, "logformat", env.StringFromEnv("ARGOCD_REPO_SERVER_LOGFORMAT", "json"), "Set the logging format. One of: json|text") command.Flags().StringVar(&cmdutil.LogLevel, "loglevel", env.StringFromEnv("ARGOCD_REPO_SERVER_LOGLEVEL", "info"), "Set the logging level. One of: debug|info|warn|error") command.Flags().Int64Var(¶llelismLimit, "parallelismlimit", int64(env.ParseNumFromEnv("ARGOCD_REPO_SERVER_PARALLELISM_LIMIT", 0, 0, math.MaxInt32)), "Limit on number of concurrent manifests generate requests. Any value less the 1 means no limit.") command.Flags().StringVar(&listenHost, "address", env.StringFromEnv("ARGOCD_REPO_SERVER_LISTEN_ADDRESS", common.DefaultAddressRepoServer), "Listen on given address for incoming connections") diff --git a/cmd/argocd-server/commands/argocd_server.go b/cmd/argocd-server/commands/argocd_server.go index 9a0c6e17e959c..3c20c584cffb8 100644 --- a/cmd/argocd-server/commands/argocd_server.go +++ b/cmd/argocd-server/commands/argocd_server.go @@ -295,7 +295,7 @@ func NewCommand() *cobra.Command { command.Flags().StringVar(&staticAssetsDir, "staticassets", env.StringFromEnv("ARGOCD_SERVER_STATIC_ASSETS", "/shared/app"), "Directory path that contains additional static assets") command.Flags().StringVar(&baseHRef, "basehref", env.StringFromEnv("ARGOCD_SERVER_BASEHREF", "/"), "Value for base href in index.html. Used if Argo CD is running behind reverse proxy under subpath different from /") command.Flags().StringVar(&rootPath, "rootpath", env.StringFromEnv("ARGOCD_SERVER_ROOTPATH", ""), "Used if Argo CD is running behind reverse proxy under subpath different from /") - command.Flags().StringVar(&cmdutil.LogFormat, "logformat", env.StringFromEnv("ARGOCD_SERVER_LOGFORMAT", "text"), "Set the logging format. One of: text|json") + command.Flags().StringVar(&cmdutil.LogFormat, "logformat", env.StringFromEnv("ARGOCD_SERVER_LOGFORMAT", "json"), "Set the logging format. One of: json|text") command.Flags().StringVar(&cmdutil.LogLevel, "loglevel", env.StringFromEnv("ARGOCD_SERVER_LOG_LEVEL", "info"), "Set the logging level. One of: debug|info|warn|error") command.Flags().IntVar(&glogLevel, "gloglevel", 0, "Set the glog logging level") command.Flags().StringVar(&repoServerAddress, "repo-server", env.StringFromEnv("ARGOCD_SERVER_REPO_SERVER", common.DefaultRepoServerAddr), "Repo server address") diff --git a/cmd/argocd/commands/admin/admin.go b/cmd/argocd/commands/admin/admin.go index 1c85df7b3b3b6..8dbbfe02896a1 100644 --- a/cmd/argocd/commands/admin/admin.go +++ b/cmd/argocd/commands/admin/admin.go @@ -14,15 +14,12 @@ import ( "k8s.io/client-go/dynamic" "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" - "sigs.k8s.io/yaml" cmdutil "github.com/argoproj/argo-cd/v3/cmd/util" "github.com/argoproj/argo-cd/v3/common" argocdclient "github.com/argoproj/argo-cd/v3/pkg/apiclient" - "github.com/argoproj/argo-cd/v3/util/errors" - "github.com/argoproj/argo-cd/v3/util/settings" - "github.com/argoproj/argo-cd/v3/pkg/apis/application" + "github.com/argoproj/argo-cd/v3/util/errors" ) const ( @@ -69,7 +66,7 @@ $ argocd admin initial-password reset command.AddCommand(NewInitialPasswordCommand()) command.AddCommand(NewRedisInitialPasswordCommand()) - command.Flags().StringVar(&cmdutil.LogFormat, "logformat", "text", "Set the logging format. One of: text|json") + command.Flags().StringVar(&cmdutil.LogFormat, "logformat", "json", "Set the logging format. One of: json|text") command.Flags().StringVar(&cmdutil.LogLevel, "loglevel", "info", "Set the logging level. One of: debug|info|warn|error") return command } @@ -95,76 +92,13 @@ func newArgoCDClientsets(config *rest.Config, namespace string) *argoCDClientset } } -// getReferencedSecrets examines the argocd-cm config for any referenced repo secrets and returns a -// map of all referenced secrets. -func getReferencedSecrets(un unstructured.Unstructured) map[string]bool { - var cm corev1.ConfigMap - err := runtime.DefaultUnstructuredConverter.FromUnstructured(un.Object, &cm) - errors.CheckError(err) - referencedSecrets := make(map[string]bool) - - // Referenced repository secrets - if reposRAW, ok := cm.Data["repositories"]; ok { - repos := make([]settings.Repository, 0) - err := yaml.Unmarshal([]byte(reposRAW), &repos) - errors.CheckError(err) - for _, cred := range repos { - if cred.PasswordSecret != nil { - referencedSecrets[cred.PasswordSecret.Name] = true - } - if cred.SSHPrivateKeySecret != nil { - referencedSecrets[cred.SSHPrivateKeySecret.Name] = true - } - if cred.UsernameSecret != nil { - referencedSecrets[cred.UsernameSecret.Name] = true - } - if cred.TLSClientCertDataSecret != nil { - referencedSecrets[cred.TLSClientCertDataSecret.Name] = true - } - if cred.TLSClientCertKeySecret != nil { - referencedSecrets[cred.TLSClientCertKeySecret.Name] = true - } - } - } - - // Referenced repository credentials secrets - if reposRAW, ok := cm.Data["repository.credentials"]; ok { - creds := make([]settings.RepositoryCredentials, 0) - err := yaml.Unmarshal([]byte(reposRAW), &creds) - errors.CheckError(err) - for _, cred := range creds { - if cred.PasswordSecret != nil { - referencedSecrets[cred.PasswordSecret.Name] = true - } - if cred.SSHPrivateKeySecret != nil { - referencedSecrets[cred.SSHPrivateKeySecret.Name] = true - } - if cred.UsernameSecret != nil { - referencedSecrets[cred.UsernameSecret.Name] = true - } - if cred.TLSClientCertDataSecret != nil { - referencedSecrets[cred.TLSClientCertDataSecret.Name] = true - } - if cred.TLSClientCertKeySecret != nil { - referencedSecrets[cred.TLSClientCertKeySecret.Name] = true - } - } - } - return referencedSecrets -} - // isArgoCDSecret returns whether or not the given secret is a part of Argo CD configuration // (e.g. argocd-secret, repo credentials, or cluster credentials) -func isArgoCDSecret(repoSecretRefs map[string]bool, un unstructured.Unstructured) bool { +func isArgoCDSecret(un unstructured.Unstructured) bool { secretName := un.GetName() if secretName == common.ArgoCDSecretName { return true } - if repoSecretRefs != nil { - if _, ok := repoSecretRefs[secretName]; ok { - return true - } - } if labels := un.GetLabels(); labels != nil { if _, ok := labels[common.LabelKeySecretType]; ok { return true diff --git a/cmd/argocd/commands/admin/app.go b/cmd/argocd/commands/admin/app.go index b20b998b790d7..bffb68a383a71 100644 --- a/cmd/argocd/commands/admin/app.go +++ b/cmd/argocd/commands/admin/app.go @@ -10,6 +10,7 @@ import ( "sort" "time" + "github.com/argoproj/gitops-engine/pkg/utils/kube" "github.com/spf13/cobra" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -403,7 +404,26 @@ func reconcileApplications( ) appStateManager := controller.NewAppStateManager( - argoDB, appClientset, repoServerClient, namespace, kubeutil.NewKubectl(), settingsMgr, stateCache, projInformer, server, cache, time.Second, argo.NewResourceTracking(), false, 0, serverSideDiff, ignoreNormalizerOpts) + argoDB, + appClientset, + repoServerClient, + namespace, + kubeutil.NewKubectl(), + func(_ string) (kube.CleanupFunc, error) { + return func() {}, nil + }, + settingsMgr, + stateCache, + projInformer, + server, + cache, + time.Second, + argo.NewResourceTracking(), + false, + 0, + serverSideDiff, + ignoreNormalizerOpts, + ) appsList, err := appClientset.ArgoprojV1alpha1().Applications(namespace).List(ctx, metav1.ListOptions{LabelSelector: selector}) if err != nil { diff --git a/cmd/argocd/commands/admin/backup.go b/cmd/argocd/commands/admin/backup.go index 23512cbe8aa4b..c158115d34d45 100644 --- a/cmd/argocd/commands/admin/backup.go +++ b/cmd/argocd/commands/admin/backup.go @@ -5,6 +5,8 @@ import ( "fmt" "io" "os" + "strings" + "time" "github.com/argoproj/gitops-engine/pkg/utils/kube" log "github.com/sirupsen/logrus" @@ -14,6 +16,8 @@ import ( "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/client-go/dynamic" "k8s.io/client-go/tools/clientcmd" + + "k8s.io/client-go/util/retry" "sigs.k8s.io/yaml" "github.com/argoproj/argo-cd/v3/cmd/argocd/commands/utils" @@ -43,7 +47,6 @@ func NewExportCommand() *cobra.Command { errors.CheckError(err) namespace, _, err := clientConfig.Namespace() errors.CheckError(err) - var writer io.Writer if out == "-" { writer = os.Stdout @@ -74,14 +77,14 @@ func NewExportCommand() *cobra.Command { errors.CheckError(err) export(writer, *acdTLSCertsConfigMap, namespace) - referencedSecrets := getReferencedSecrets(*acdConfigMap) secrets, err := acdClients.secrets.List(ctx, metav1.ListOptions{}) errors.CheckError(err) for _, secret := range secrets.Items { - if isArgoCDSecret(referencedSecrets, secret) { + if isArgoCDSecret(secret) { export(writer, secret, namespace) } } + projects, err := acdClients.projects.List(ctx, metav1.ListOptions{}) errors.CheckError(err) for _, proj := range projects.Items { @@ -139,7 +142,9 @@ func NewImportCommand() *cobra.Command { verbose bool stopOperation bool ignoreTracking bool + overrideOnConflict bool promptsEnabled bool + skipResourcesWithLabel string applicationNamespaces []string applicationsetNamespaces []string ) @@ -162,7 +167,8 @@ func NewImportCommand() *cobra.Command { acdClients := newArgoCDClientsets(config, namespace) client, err := dynamic.NewForConfig(config) errors.CheckError(err) - + fmt.Printf("import process started %s\n", namespace) + tt := time.Now() var input []byte if in := args[0]; in == "-" { input, err = io.ReadAll(os.Stdin) @@ -176,7 +182,6 @@ func NewImportCommand() *cobra.Command { } additionalNamespaces := getAdditionalNamespaces(ctx, acdClients) - if len(applicationNamespaces) == 0 { applicationNamespaces = additionalNamespaces.applicationNamespaces } @@ -184,28 +189,24 @@ func NewImportCommand() *cobra.Command { applicationsetNamespaces = additionalNamespaces.applicationsetNamespaces } - // pruneObjects tracks live objects and it's current resource version. any remaining + // pruneObjects tracks live objects, and it's current resource version. any remaining // items in this map indicates the resource should be pruned since it no longer appears // in the backup + pruneObjects := make(map[kube.ResourceKey]unstructured.Unstructured) configMaps, err := acdClients.configMaps.List(ctx, metav1.ListOptions{}) + errors.CheckError(err) - // referencedSecrets holds any secrets referenced in the argocd-cm configmap. These - // secrets need to be imported too - var referencedSecrets map[string]bool for _, cm := range configMaps.Items { if isArgoCDConfigMap(cm.GetName()) { pruneObjects[kube.ResourceKey{Group: "", Kind: "ConfigMap", Name: cm.GetName(), Namespace: cm.GetNamespace()}] = cm } - if cm.GetName() == common.ArgoCDConfigMapName { - referencedSecrets = getReferencedSecrets(cm) - } } secrets, err := acdClients.secrets.List(ctx, metav1.ListOptions{}) errors.CheckError(err) for _, secret := range secrets.Items { - if isArgoCDSecret(referencedSecrets, secret) { + if isArgoCDSecret(secret) { pruneObjects[kube.ResourceKey{Group: "", Kind: "Secret", Name: secret.GetName(), Namespace: secret.GetNamespace()}] = secret } } @@ -234,11 +235,15 @@ func NewImportCommand() *cobra.Command { } } } - // Create or replace existing object backupObjects, err := kube.SplitYAML(input) + errors.CheckError(err) for _, bakObj := range backupObjects { + if isSkipLabelMatches(bakObj, skipResourcesWithLabel) { + fmt.Printf("Skipping %s/%s %s in namespace %s\n", bakObj.GroupVersionKind().Group, bakObj.GroupVersionKind().Kind, bakObj.GetName(), bakObj.GetNamespace()) + continue + } gvk := bakObj.GroupVersionKind() // For objects without namespace, assume they belong in ArgoCD namespace if bakObj.GetNamespace() == "" { @@ -299,6 +304,21 @@ func NewImportCommand() *cobra.Command { if !dryRun { newLive := updateLive(bakObj, &liveObj, stopOperation) _, err = dynClient.Update(ctx, newLive, metav1.UpdateOptions{}) + if apierrors.IsConflict(err) { + fmt.Printf("Failed to update %s/%s %s in namespace %s: %v\n", gvk.Group, gvk.Kind, bakObj.GetName(), bakObj.GetNamespace(), err) + if overrideOnConflict { + err = retry.RetryOnConflict(retry.DefaultRetry, func() error { + fmt.Printf("Resource conflict: retrying update for Group: %s, Kind: %s, Name: %s, Namespace: %s\n", gvk.Group, gvk.Kind, bakObj.GetName(), bakObj.GetNamespace()) + liveObj, getErr := dynClient.Get(ctx, newLive.GetName(), metav1.GetOptions{}) + if getErr != nil { + errors.CheckError(getErr) + } + newLive.SetResourceVersion(liveObj.GetResourceVersion()) + _, err = dynClient.Update(ctx, newLive, metav1.UpdateOptions{}) + return err + }) + } + } if apierrors.IsForbidden(err) || apierrors.IsNotFound(err) { isForbidden = true log.Warnf("%s/%s %s: %v", gvk.Group, gvk.Kind, bakObj.GetName(), err) @@ -363,6 +383,8 @@ func NewImportCommand() *cobra.Command { fmt.Printf("%s/%s %s needs pruning\n", key.Group, key.Kind, key.Name) } } + duration := time.Since(tt) + fmt.Printf("Import process completed successfully in namespace %s at %s, duration: %s\n", namespace, time.Now().Format(time.RFC3339), duration) }, } @@ -370,12 +392,13 @@ func NewImportCommand() *cobra.Command { command.Flags().BoolVar(&dryRun, "dry-run", false, "Print what will be performed") command.Flags().BoolVar(&prune, "prune", false, "Prune secrets, applications and projects which do not appear in the backup") command.Flags().BoolVar(&ignoreTracking, "ignore-tracking", false, "Do not update the tracking annotation if the resource is already tracked") + command.Flags().BoolVar(&overrideOnConflict, "override-on-conflict", false, "Override the resource on conflict when updating resources") command.Flags().BoolVar(&verbose, "verbose", false, "Verbose output (versus only changed output)") command.Flags().BoolVar(&stopOperation, "stop-operation", false, "Stop any existing operations") + command.Flags().StringVarP(&skipResourcesWithLabel, "skip-resources-with-label", "", "", "Skip importing resources based on the label e.g. '--skip-resources-with-label my-label/example.io=true'") command.Flags().StringSliceVarP(&applicationNamespaces, "application-namespaces", "", []string{}, fmt.Sprintf("Comma separated list of namespace globs to which import of applications is allowed. If not provided value from '%s' in %s will be used,if it's not defined only applications without an explicit namespace will be imported to the Argo CD namespace", applicationNamespacesCmdParamsKey, common.ArgoCDCmdParamsConfigMapName)) command.Flags().StringSliceVarP(&applicationsetNamespaces, "applicationset-namespaces", "", []string{}, fmt.Sprintf("Comma separated list of namespace globs which import of applicationsets is allowed. If not provided value from '%s' in %s will be used,if it's not defined only applicationsets without an explicit namespace will be imported to the Argo CD namespace", applicationsetNamespacesCmdParamsKey, common.ArgoCDCmdParamsConfigMapName)) command.PersistentFlags().BoolVar(&promptsEnabled, "prompts-enabled", localconfig.GetPromptsEnabled(true), "Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default.") - return &command } @@ -472,3 +495,19 @@ func updateTracking(bak, live *unstructured.Unstructured) { } } } + +// isSkipLabelMatches return if the resource should be skipped based on the labels +func isSkipLabelMatches(bak *unstructured.Unstructured, skipResourcesWithLabel string) bool { + if skipResourcesWithLabel == "" { + return false + } + parts := strings.SplitN(skipResourcesWithLabel, "=", 2) + if len(parts) != 2 || parts[0] == "" || parts[1] == "" { + return false + } + key, value := parts[0], parts[1] + if val, ok := bak.GetLabels()[key]; ok && val == value { + return true + } + return false +} diff --git a/cmd/argocd/commands/admin/backup_test.go b/cmd/argocd/commands/admin/backup_test.go index ce87dd204ce79..838ac788d15ee 100644 --- a/cmd/argocd/commands/admin/backup_test.go +++ b/cmd/argocd/commands/admin/backup_test.go @@ -85,3 +85,76 @@ func Test_updateTracking(t *testing.T) { }) } } + +func TestIsSkipLabelMatches(t *testing.T) { + tests := []struct { + name string + obj *unstructured.Unstructured + skipLabels string + expected bool + }{ + { + name: "Label matches", + obj: &unstructured.Unstructured{ + Object: map[string]any{ + "metadata": map[string]any{ + "labels": map[string]any{ + "test-label": "value", + }, + }, + }, + }, + skipLabels: "test-label=value", + expected: true, + }, + { + name: "Label does not match", + obj: &unstructured.Unstructured{ + Object: map[string]any{ + "metadata": map[string]any{ + "labels": map[string]any{ + "different-label": "value", + }, + }, + }, + }, + skipLabels: "test-label=value", + expected: false, + }, + { + name: "Empty skip labels", + obj: &unstructured.Unstructured{ + Object: map[string]any{ + "metadata": map[string]any{ + "labels": map[string]any{ + "test-label": "value", + }, + }, + }, + }, + skipLabels: "", + expected: false, + }, + { + name: "No labels value", + obj: &unstructured.Unstructured{ + Object: map[string]any{ + "metadata": map[string]any{ + "labels": map[string]any{ + "test-label": "value", + "another-label": "value2", + }, + }, + }, + }, + skipLabels: "test-label", + expected: false, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + result := isSkipLabelMatches(tt.obj, tt.skipLabels) + assert.Equal(t, tt.expected, result) + }) + } +} diff --git a/cmd/argocd/commands/admin/cluster.go b/cmd/argocd/commands/admin/cluster.go index 97e3a74bd8e52..58758da82be0e 100644 --- a/cmd/argocd/commands/admin/cluster.go +++ b/cmd/argocd/commands/admin/cluster.go @@ -180,13 +180,12 @@ func getControllerReplicas(ctx context.Context, kubeClient *kubernetes.Clientset func NewClusterShardsCommand(clientOpts *argocdclient.ClientOptions) *cobra.Command { var ( - shard int - replicas int - shardingAlgorithm string - clientConfig clientcmd.ClientConfig - cacheSrc func() (*appstatecache.Cache, error) - portForwardRedis bool - redisCompressionStr string + shard int + replicas int + shardingAlgorithm string + clientConfig clientcmd.ClientConfig + cacheSrc func() (*appstatecache.Cache, error) + portForwardRedis bool ) command := cobra.Command{ Use: "shards", @@ -210,7 +209,7 @@ func NewClusterShardsCommand(clientOpts *argocdclient.ClientOptions) *cobra.Comm if replicas == 0 { return } - clusters, err := loadClusters(ctx, kubeClient, appClient, replicas, shardingAlgorithm, namespace, portForwardRedis, cacheSrc, shard, clientOpts.RedisName, clientOpts.RedisHaProxyName, redisCompressionStr) + clusters, err := loadClusters(ctx, kubeClient, appClient, replicas, shardingAlgorithm, namespace, portForwardRedis, cacheSrc, shard, clientOpts.RedisName, clientOpts.RedisHaProxyName, clientOpts.RedisCompression) errors.CheckError(err) if len(clusters) == 0 { return @@ -231,7 +230,6 @@ func NewClusterShardsCommand(clientOpts *argocdclient.ClientOptions) *cobra.Comm // we can ignore unchecked error here as the command will be parsed again and checked when command.Execute() is run later //nolint:errcheck command.ParseFlags(os.Args[1:]) - redisCompressionStr, _ = command.Flags().GetString(cacheutil.CLIFlagRedisCompress) return &command } @@ -461,13 +459,12 @@ func NewClusterDisableNamespacedMode() *cobra.Command { func NewClusterStatsCommand(clientOpts *argocdclient.ClientOptions) *cobra.Command { var ( - shard int - replicas int - shardingAlgorithm string - clientConfig clientcmd.ClientConfig - cacheSrc func() (*appstatecache.Cache, error) - portForwardRedis bool - redisCompressionStr string + shard int + replicas int + shardingAlgorithm string + clientConfig clientcmd.ClientConfig + cacheSrc func() (*appstatecache.Cache, error) + portForwardRedis bool ) command := cobra.Command{ Use: "stats", @@ -497,7 +494,7 @@ argocd admin cluster stats target-cluster`, replicas, err = getControllerReplicas(ctx, kubeClient, namespace, clientOpts.AppControllerName) errors.CheckError(err) } - clusters, err := loadClusters(ctx, kubeClient, appClient, replicas, shardingAlgorithm, namespace, portForwardRedis, cacheSrc, shard, clientOpts.RedisName, clientOpts.RedisHaProxyName, redisCompressionStr) + clusters, err := loadClusters(ctx, kubeClient, appClient, replicas, shardingAlgorithm, namespace, portForwardRedis, cacheSrc, shard, clientOpts.RedisName, clientOpts.RedisHaProxyName, clientOpts.RedisCompression) errors.CheckError(err) w := tabwriter.NewWriter(os.Stdout, 0, 0, 2, ' ', 0) @@ -519,7 +516,6 @@ argocd admin cluster stats target-cluster`, // we can ignore unchecked error here as the command will be parsed again and checked when command.Execute() is run later //nolint:errcheck command.ParseFlags(os.Args[1:]) - redisCompressionStr, _ = command.Flags().GetString(cacheutil.CLIFlagRedisCompress) return &command } diff --git a/cmd/argocd/commands/admin/dashboard.go b/cmd/argocd/commands/admin/dashboard.go index 1c92db7192bba..02cb4e797f7ea 100644 --- a/cmd/argocd/commands/admin/dashboard.go +++ b/cmd/argocd/commands/admin/dashboard.go @@ -12,17 +12,14 @@ import ( "github.com/argoproj/argo-cd/v3/cmd/argocd/commands/initialize" "github.com/argoproj/argo-cd/v3/common" argocdclient "github.com/argoproj/argo-cd/v3/pkg/apiclient" - "github.com/argoproj/argo-cd/v3/util/cache" - "github.com/argoproj/argo-cd/v3/util/env" "github.com/argoproj/argo-cd/v3/util/errors" ) func NewDashboardCommand(clientOpts *argocdclient.ClientOptions) *cobra.Command { var ( - port int - address string - compressionStr string - clientConfig clientcmd.ClientConfig + port int + address string + clientConfig clientcmd.ClientConfig ) cmd := &cobra.Command{ Use: "dashboard", @@ -30,10 +27,8 @@ func NewDashboardCommand(clientOpts *argocdclient.ClientOptions) *cobra.Command Run: func(cmd *cobra.Command, _ []string) { ctx := cmd.Context() - compression, err := cache.CompressionTypeFromString(compressionStr) - errors.CheckError(err) clientOpts.Core = true - errors.CheckError(headless.MaybeStartLocalServer(ctx, clientOpts, initialize.RetrieveContextIfChanged(cmd.Flag("context")), &port, &address, compression, clientConfig)) + errors.CheckError(headless.MaybeStartLocalServer(ctx, clientOpts, initialize.RetrieveContextIfChanged(cmd.Flag("context")), &port, &address, clientConfig)) println(fmt.Sprintf("Argo CD UI is available at http://%s:%d", address, port)) <-ctx.Done() }, @@ -50,6 +45,5 @@ $ argocd admin dashboard --redis-compress gzip clientConfig = cli.AddKubectlFlagsToSet(cmd.Flags()) cmd.Flags().IntVar(&port, "port", common.DefaultPortAPIServer, "Listen on given port") cmd.Flags().StringVar(&address, "address", common.DefaultAddressAdminDashboard, "Listen on given address") - cmd.Flags().StringVar(&compressionStr, "redis-compress", env.StringFromEnv("REDIS_COMPRESSION", string(cache.RedisCompressionGZip)), "Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none)") return cmd } diff --git a/cmd/argocd/commands/admin/settings.go b/cmd/argocd/commands/admin/settings.go index 4776b5963339a..032b20a5af242 100644 --- a/cmd/argocd/commands/admin/settings.go +++ b/cmd/argocd/commands/admin/settings.go @@ -247,19 +247,6 @@ var validatorsByGroup = map[string]settingValidator{ } return summary, err }, - "repositories": joinValidators(func(manager *settings.SettingsManager) (string, error) { - repos, err := manager.GetRepositories() - if err != nil { - return "", err - } - return fmt.Sprintf("%d repositories", len(repos)), nil - }, func(manager *settings.SettingsManager) (string, error) { - creds, err := manager.GetRepositoryCredentials() - if err != nil { - return "", err - } - return fmt.Sprintf("%d repository credentials", len(creds)), nil - }), "accounts": func(manager *settings.SettingsManager) (string, error) { accounts, err := manager.GetAccounts() if err != nil { diff --git a/cmd/argocd/commands/admin/settings_test.go b/cmd/argocd/commands/admin/settings_test.go index 899ab14746b15..6ee11864e207e 100644 --- a/cmd/argocd/commands/admin/settings_test.go +++ b/cmd/argocd/commands/admin/settings_test.go @@ -157,15 +157,6 @@ clientSecret: aaaabbbbccccddddeee`, }, containsSummary: "updated-options", }, - "Repositories": { - validator: "repositories", - data: map[string]string{ - "repositories": ` -- url: https://github.com/argoproj/my-private-repository1 -- url: https://github.com/argoproj/my-private-repository2`, - }, - containsSummary: "2 repositories", - }, "Accounts": { validator: "accounts", data: map[string]string{ diff --git a/cmd/argocd/commands/app.go b/cmd/argocd/commands/app.go index 3ce81351b33a1..9cf50e1aa9289 100644 --- a/cmd/argocd/commands/app.go +++ b/cmd/argocd/commands/app.go @@ -887,6 +887,7 @@ type unsetOpts struct { kustomizeNamespace bool kustomizeImages []string kustomizeReplicas []string + ignoreMissingComponents bool parameters []string valuesFiles []string valuesLiteral bool @@ -903,6 +904,7 @@ func (o *unsetOpts) KustomizeIsZero() bool { !o.nameSuffix && !o.kustomizeVersion && !o.kustomizeNamespace && + !o.ignoreMissingComponents && len(o.kustomizeImages) == 0 && len(o.kustomizeReplicas) == 0 } @@ -1008,6 +1010,7 @@ func NewApplicationUnsetCommand(clientOpts *argocdclient.ClientOptions) *cobra.C command.Flags().BoolVar(&opts.kustomizeNamespace, "kustomize-namespace", false, "Kustomize namespace") command.Flags().StringArrayVar(&opts.kustomizeImages, "kustomize-image", []string{}, "Kustomize images name (e.g. --kustomize-image node --kustomize-image mysql)") command.Flags().StringArrayVar(&opts.kustomizeReplicas, "kustomize-replica", []string{}, "Kustomize replicas name (e.g. --kustomize-replica my-deployment --kustomize-replica my-statefulset)") + command.Flags().BoolVar(&opts.ignoreMissingComponents, "ignore-missing-components", false, "Unset the kustomize ignore-missing-components option (revert to false)") command.Flags().StringArrayVar(&opts.pluginEnvs, "plugin-env", []string{}, "Unset plugin env variables (e.g --plugin-env name)") command.Flags().BoolVar(&opts.passCredentials, "pass-credentials", false, "Unset passCredentials") command.Flags().BoolVar(&opts.ref, "ref", false, "Unset ref on the source") @@ -1048,6 +1051,11 @@ func unset(source *argoappv1.ApplicationSource, opts unsetOpts) (updated bool, n source.Kustomize.Namespace = "" } + if opts.ignoreMissingComponents && source.Kustomize.IgnoreMissingComponents { + source.Kustomize.IgnoreMissingComponents = false + updated = true + } + for _, kustomizeImage := range opts.kustomizeImages { for i, item := range source.Kustomize.Images { if argoappv1.KustomizeImage(kustomizeImage).Match(item) { diff --git a/cmd/argocd/commands/app_test.go b/cmd/argocd/commands/app_test.go index 37b688f5cdfcd..b40dbf8fb1822 100644 --- a/cmd/argocd/commands/app_test.go +++ b/cmd/argocd/commands/app_test.go @@ -1053,9 +1053,10 @@ func TestPrintApplicationNames(t *testing.T) { func Test_unset(t *testing.T) { kustomizeSource := &v1alpha1.ApplicationSource{ Kustomize: &v1alpha1.ApplicationSourceKustomize{ - NamePrefix: "some-prefix", - NameSuffix: "some-suffix", - Version: "123", + IgnoreMissingComponents: true, + NamePrefix: "some-prefix", + NameSuffix: "some-suffix", + Version: "123", Images: v1alpha1.KustomizeImages{ "old1=new:tag", "old2=new:tag", @@ -1155,6 +1156,15 @@ func Test_unset(t *testing.T) { assert.False(t, updated) assert.False(t, nothingToUnset) + assert.True(t, kustomizeSource.Kustomize.IgnoreMissingComponents) + updated, nothingToUnset = unset(kustomizeSource, unsetOpts{ignoreMissingComponents: true}) + assert.False(t, kustomizeSource.Kustomize.IgnoreMissingComponents) + assert.True(t, updated) + assert.False(t, nothingToUnset) + updated, nothingToUnset = unset(kustomizeSource, unsetOpts{ignoreMissingComponents: true}) + assert.False(t, updated) + assert.False(t, nothingToUnset) + assert.Len(t, helmSource.Helm.Parameters, 2) updated, nothingToUnset = unset(helmSource, unsetOpts{parameters: []string{"name-1"}}) assert.Len(t, helmSource.Helm.Parameters, 1) diff --git a/cmd/argocd/commands/headless/headless.go b/cmd/argocd/commands/headless/headless.go index 79f9be0875396..ed90c0fab7c69 100644 --- a/cmd/argocd/commands/headless/headless.go +++ b/cmd/argocd/commands/headless/headless.go @@ -177,7 +177,7 @@ func testAPI(ctx context.Context, clientOpts *apiclient.ClientOptions) error { // // If the clientOpts enables core mode, but the local config does not have core mode enabled, this function will // not start the local server. -func MaybeStartLocalServer(ctx context.Context, clientOpts *apiclient.ClientOptions, ctxStr string, port *int, address *string, compression cache.RedisCompressionType, clientConfig clientcmd.ClientConfig) error { +func MaybeStartLocalServer(ctx context.Context, clientOpts *apiclient.ClientOptions, ctxStr string, port *int, address *string, clientConfig clientcmd.ClientConfig) error { if clientConfig == nil { flags := pflag.NewFlagSet("tmp", pflag.ContinueOnError) clientConfig = cli.AddKubectlFlagsToSet(flags) @@ -270,7 +270,7 @@ func MaybeStartLocalServer(ctx context.Context, clientOpts *apiclient.ClientOpti log.Warnf("Failed to fetch & set redis password for namespace %s: %v", namespace, err) } - appstateCache := appstatecache.NewCache(cache.NewCache(&forwardCacheClient{namespace: namespace, context: ctxStr, compression: compression, redisHaProxyName: clientOpts.RedisHaProxyName, redisName: clientOpts.RedisName, redisPassword: redisOptions.Password}), time.Hour) + appstateCache := appstatecache.NewCache(cache.NewCache(&forwardCacheClient{namespace: namespace, context: ctxStr, compression: cache.RedisCompressionType(clientOpts.RedisCompression), redisHaProxyName: clientOpts.RedisHaProxyName, redisName: clientOpts.RedisName, redisPassword: redisOptions.Password}), time.Hour) srv := server.NewServer(ctx, server.ArgoCDServerOpts{ EnableGZip: false, Namespace: namespace, @@ -321,7 +321,7 @@ func NewClientOrDie(opts *apiclient.ClientOptions, c *cobra.Command) apiclient.C ctxStr := initialize.RetrieveContextIfChanged(c.Flag("context")) // If we're in core mode, start the API server on the fly and configure the client `opts` to use it. // If we're not in core mode, this function call will do nothing. - err := MaybeStartLocalServer(ctx, opts, ctxStr, nil, nil, cache.RedisCompressionNone, nil) + err := MaybeStartLocalServer(ctx, opts, ctxStr, nil, nil, nil) if err != nil { log.Fatal(err) } diff --git a/cmd/argocd/commands/projectwindows.go b/cmd/argocd/commands/projectwindows.go index 0491bfa52a121..e019738f10bca 100644 --- a/cmd/argocd/commands/projectwindows.go +++ b/cmd/argocd/commands/projectwindows.go @@ -149,6 +149,7 @@ func NewProjectWindowsAddWindowCommand(clientOpts *argocdclient.ClientOptions) * clusters []string manualSync bool timeZone string + andOperator bool ) command := &cobra.Command{ Use: "add PROJECT", @@ -185,7 +186,7 @@ argocd proj windows add PROJECT \ proj, err := projIf.Get(ctx, &projectpkg.ProjectQuery{Name: projName}) errors.CheckError(err) - err = proj.Spec.AddWindow(kind, schedule, duration, applications, namespaces, clusters, manualSync, timeZone) + err = proj.Spec.AddWindow(kind, schedule, duration, applications, namespaces, clusters, manualSync, timeZone, andOperator) errors.CheckError(err) _, err = projIf.Update(ctx, &projectpkg.ProjectUpdateRequest{Project: proj}) @@ -200,6 +201,7 @@ argocd proj windows add PROJECT \ command.Flags().StringSliceVar(&clusters, "clusters", []string{}, "Clusters that the schedule will be applied to. Comma separated, wildcards supported (e.g. --clusters prod,staging)") command.Flags().BoolVar(&manualSync, "manual-sync", false, "Allow manual syncs for both deny and allow windows") command.Flags().StringVar(&timeZone, "time-zone", "UTC", "Time zone of the sync window") + command.Flags().BoolVar(&andOperator, "use-and-operator", false, "Use AND operator for matching applications, namespaces and clusters instead of the default OR operator") return command } @@ -369,8 +371,9 @@ func printSyncWindows(proj *v1alpha1.AppProject) { formatListOutput(window.Applications), formatListOutput(window.Namespaces), formatListOutput(window.Clusters), - formatManualOutput(window.ManualSync), + formatBoolEnabledOutput(window.ManualSync), window.TimeZone, + formatBoolEnabledOutput(window.UseAndOperator), } fmt.Fprintf(w, fmtStr, vals...) } @@ -398,7 +401,7 @@ func formatBoolOutput(active bool) string { return o } -func formatManualOutput(active bool) string { +func formatBoolEnabledOutput(active bool) string { var o string if active { o = "Enabled" diff --git a/cmd/argocd/commands/root.go b/cmd/argocd/commands/root.go index bd306de1c228d..995a03ddbcd16 100644 --- a/cmd/argocd/commands/root.go +++ b/cmd/argocd/commands/root.go @@ -3,6 +3,8 @@ package commands import ( "fmt" + "github.com/argoproj/argo-cd/v3/util/cache" + "github.com/spf13/cobra" "k8s.io/client-go/tools/clientcmd" @@ -74,7 +76,7 @@ func NewCommand() *cobra.Command { command.PersistentFlags().StringVar(&clientOpts.AuthToken, "auth-token", config.GetFlag("auth-token", env.StringFromEnv(common.EnvAuthToken, "")), fmt.Sprintf("Authentication token; set this or the %s environment variable", common.EnvAuthToken)) command.PersistentFlags().BoolVar(&clientOpts.GRPCWeb, "grpc-web", config.GetBoolFlag("grpc-web"), "Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2.") command.PersistentFlags().StringVar(&clientOpts.GRPCWebRootPath, "grpc-web-root-path", config.GetFlag("grpc-web-root-path", ""), "Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2. Set web root.") - command.PersistentFlags().StringVar(&cmdutil.LogFormat, "logformat", config.GetFlag("logformat", "text"), "Set the logging format. One of: text|json") + command.PersistentFlags().StringVar(&cmdutil.LogFormat, "logformat", config.GetFlag("logformat", "json"), "Set the logging format. One of: json|text") command.PersistentFlags().StringVar(&cmdutil.LogLevel, "loglevel", config.GetFlag("loglevel", "info"), "Set the logging level. One of: debug|info|warn|error") command.PersistentFlags().StringSliceVarP(&clientOpts.Headers, "header", "H", config.GetStringSliceFlag("header", []string{}), "Sets additional header to all requests made by Argo CD CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers)") command.PersistentFlags().BoolVar(&clientOpts.PortForward, "port-forward", config.GetBoolFlag("port-forward"), "Connect to a random argocd-server port using port forwarding") @@ -87,6 +89,7 @@ func NewCommand() *cobra.Command { command.PersistentFlags().StringVar(&clientOpts.RedisHaProxyName, "redis-haproxy-name", env.StringFromEnv(common.EnvRedisHaProxyName, common.DefaultRedisHaProxyName), fmt.Sprintf("Name of the Redis HA Proxy; set this or the %s environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart", common.EnvRedisHaProxyName)) command.PersistentFlags().StringVar(&clientOpts.RedisName, "redis-name", env.StringFromEnv(common.EnvRedisName, common.DefaultRedisName), fmt.Sprintf("Name of the Redis deployment; set this or the %s environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart", common.EnvRedisName)) command.PersistentFlags().StringVar(&clientOpts.RepoServerName, "repo-server-name", env.StringFromEnv(common.EnvRepoServerName, common.DefaultRepoServerName), fmt.Sprintf("Name of the Argo CD Repo server; set this or the %s environment variable when the server's name label differs from the default, for example when installing via the Helm chart", common.EnvRepoServerName)) + command.PersistentFlags().StringVar(&clientOpts.RedisCompression, "redis-compress", env.StringFromEnv("REDIS_COMPRESSION", string(cache.RedisCompressionGZip)), "Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none)") command.PersistentFlags().BoolVar(&clientOpts.PromptsEnabled, "prompts-enabled", localconfig.GetPromptsEnabled(true), "Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default.") clientOpts.KubeOverrides = &clientcmd.ConfigOverrides{} diff --git a/cmd/util/app.go b/cmd/util/app.go index 6e748f716977c..932334621738f 100644 --- a/cmd/util/app.go +++ b/cmd/util/app.go @@ -82,6 +82,7 @@ type AppOptions struct { kustomizeNamespace string kustomizeKubeVersion string kustomizeApiVersions []string + ignoreMissingComponents bool pluginEnvs []string Validate bool directoryExclude string @@ -163,6 +164,7 @@ func AddAppFlags(command *cobra.Command, opts *AppOptions) { command.Flags().StringArrayVar(&opts.jsonnetLibs, "jsonnet-libs", []string{}, "Additional jsonnet libs (prefixed by repoRoot)") command.Flags().StringArrayVar(&opts.kustomizeImages, "kustomize-image", []string{}, "Kustomize images (e.g. --kustomize-image node:8.15.0 --kustomize-image mysql=mariadb,alpine@sha256:24a0c4b4a4c0eb97a1aabb8e29f18e917d05abfe1b7a7c07857230879ce7d3d)") command.Flags().StringArrayVar(&opts.kustomizeReplicas, "kustomize-replica", []string{}, "Kustomize replicas (e.g. --kustomize-replica my-development=2 --kustomize-replica my-statefulset=4)") + command.Flags().BoolVar(&opts.ignoreMissingComponents, "ignore-missing-components", false, "Ignore locally missing component directories when setting Kustomize components") command.Flags().StringArrayVar(&opts.pluginEnvs, "plugin-env", []string{}, "Additional plugin envs") command.Flags().BoolVar(&opts.Validate, "validate", true, "Validation of repo and cluster") command.Flags().StringArrayVar(&opts.kustomizeCommonLabels, "kustomize-common-label", []string{}, "Set common labels in Kustomize") @@ -307,19 +309,20 @@ func SetAppSpecOptions(flags *pflag.FlagSet, spec *argoappv1.ApplicationSpec, ap } type kustomizeOpts struct { - namePrefix string - nameSuffix string - images []string - replicas []string - version string - commonLabels map[string]string - commonAnnotations map[string]string - labelWithoutSelector bool - forceCommonLabels bool - forceCommonAnnotations bool - namespace string - kubeVersion string - apiVersions []string + namePrefix string + nameSuffix string + images []string + replicas []string + version string + commonLabels map[string]string + commonAnnotations map[string]string + labelWithoutSelector bool + forceCommonLabels bool + forceCommonAnnotations bool + namespace string + kubeVersion string + apiVersions []string + ignoreMissingComponents bool } func setKustomizeOpt(src *argoappv1.ApplicationSource, opts kustomizeOpts) { @@ -359,6 +362,9 @@ func setKustomizeOpt(src *argoappv1.ApplicationSource, opts kustomizeOpts) { if opts.forceCommonAnnotations { src.Kustomize.ForceCommonAnnotations = opts.forceCommonAnnotations } + if opts.ignoreMissingComponents { + src.Kustomize.IgnoreMissingComponents = opts.ignoreMissingComponents + } for _, image := range opts.images { src.Kustomize.MergeImage(argoappv1.KustomizeImage(image)) } @@ -766,6 +772,8 @@ func ConstructSource(source *argoappv1.ApplicationSource, appOpts AppOptions, fl setKustomizeOpt(source, kustomizeOpts{forceCommonLabels: appOpts.kustomizeForceCommonLabels}) case "kustomize-force-common-annotation": setKustomizeOpt(source, kustomizeOpts{forceCommonAnnotations: appOpts.kustomizeForceCommonAnnotations}) + case "ignore-missing-components": + setKustomizeOpt(source, kustomizeOpts{ignoreMissingComponents: appOpts.ignoreMissingComponents}) case "jsonnet-tla-str": setJsonnetOpt(source, appOpts.jsonnetTlaStr, false) case "jsonnet-tla-code": diff --git a/cmd/util/app_test.go b/cmd/util/app_test.go index feca32ff17c98..e90e2ac89bf78 100644 --- a/cmd/util/app_test.go +++ b/cmd/util/app_test.go @@ -165,6 +165,12 @@ func Test_setKustomizeOpt(t *testing.T) { setKustomizeOpt(&src, kustomizeOpts{commonLabels: map[string]string{"foo1": "bar1", "foo2": "bar2"}, labelWithoutSelector: true}) assert.Equal(t, &v1alpha1.ApplicationSourceKustomize{CommonLabels: map[string]string{"foo1": "bar1", "foo2": "bar2"}, LabelWithoutSelector: true}, src.Kustomize) }) + t.Run("IgnoreMissingComponents", func(t *testing.T) { + src := v1alpha1.ApplicationSource{} + setKustomizeOpt(&src, kustomizeOpts{ignoreMissingComponents: true}) + t.Logf("HERE IS THE SOURCE\n %+v\n", src) + assert.True(t, src.Kustomize.IgnoreMissingComponents) + }) } func Test_setJsonnetOpt(t *testing.T) { diff --git a/commitserver/commit/credentialtypehelper_test.go b/commitserver/commit/credentialtypehelper_test.go index b7c8c3e390f01..2bdf97472af39 100644 --- a/commitserver/commit/credentialtypehelper_test.go +++ b/commitserver/commit/credentialtypehelper_test.go @@ -3,6 +3,8 @@ package commit import ( "testing" + "github.com/stretchr/testify/assert" + "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1" ) @@ -54,9 +56,7 @@ func TestRepository_GetCredentialType(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - if got := getCredentialType(tt.repo); got != tt.want { - t.Errorf("Repository.GetCredentialType() = %v, want %v", got, tt.want) - } + assert.Equal(t, tt.want, getCredentialType(tt.repo), "Repository.GetCredentialType()") }) } } diff --git a/common/common.go b/common/common.go index dc5ad38bdf6c7..5467d6d8c98e9 100644 --- a/common/common.go +++ b/common/common.go @@ -158,6 +158,8 @@ const ( ArgoCDCLIClientAppName = "Argo CD CLI" // ArgoCDCLIClientAppID is the Oauth client ID we will use when registering our CLI to dex ArgoCDCLIClientAppID = "argo-cd-cli" + // DexFederatedScope allows to receive the federated_claims from Dex. https://dexidp.io/docs/configuration/custom-scopes-claims-clients/ + DexFederatedScope = "federated:id" ) // Resource metadata labels and annotations (keys and values) used by Argo CD components diff --git a/controller/appcontroller.go b/controller/appcontroller.go index 9ef906724a27f..025566c15b32d 100644 --- a/controller/appcontroller.go +++ b/controller/appcontroller.go @@ -288,9 +288,32 @@ func NewApplicationController( return fmt.Errorf("application controller deployment replicas is not set or is less than 0, replicas: %d", appControllerDeployment.Spec.Replicas) } shard := env.ParseNumFromEnv(common.EnvControllerShard, -1, -math.MaxInt32, math.MaxInt32) - if _, err := sharding.GetOrUpdateShardFromConfigMap(kubeClientset.(*kubernetes.Clientset), settingsMgr, int(*appControllerDeployment.Spec.Replicas), shard); err != nil { + shard, err := sharding.GetOrUpdateShardFromConfigMap(kubeClientset.(*kubernetes.Clientset), settingsMgr, int(*appControllerDeployment.Spec.Replicas), shard) + if err != nil { return fmt.Errorf("error while updating the heartbeat for to the Shard Mapping ConfigMap: %w", err) } + + // update the shard number in the clusterSharding, and resync all applications if the shard number is updated + if ctrl.clusterSharding.UpdateShard(shard) { + // update shard number in stateCache + ctrl.stateCache.UpdateShard(shard) + + // resync all applications + apps, err := ctrl.appLister.List(labels.Everything()) + if err != nil { + return err + } + for _, app := range apps { + if !ctrl.canProcessApp(app) { + continue + } + key, err := cache.MetaNamespaceKeyFunc(app) + if err == nil { + ctrl.appRefreshQueue.AddRateLimited(key) + ctrl.clusterSharding.AddApp(app) + } + } + } } } return nil @@ -309,7 +332,7 @@ func NewApplicationController( } } stateCache := statecache.NewLiveStateCache(db, appInformer, ctrl.settingsMgr, kubectl, ctrl.metricsServer, ctrl.handleObjectUpdated, clusterSharding, argo.NewResourceTracking()) - appStateManager := NewAppStateManager(db, applicationClientset, repoClientset, namespace, kubectl, ctrl.settingsMgr, stateCache, projInformer, ctrl.metricsServer, argoCache, ctrl.statusRefreshTimeout, argo.NewResourceTracking(), persistResourceHealth, repoErrorGracePeriod, serverSideDiff, ignoreNormalizerOpts) + appStateManager := NewAppStateManager(db, applicationClientset, repoClientset, namespace, kubectl, ctrl.onKubectlRun, ctrl.settingsMgr, stateCache, projInformer, ctrl.metricsServer, argoCache, ctrl.statusRefreshTimeout, argo.NewResourceTracking(), persistResourceHealth, repoErrorGracePeriod, serverSideDiff, ignoreNormalizerOpts) ctrl.appInformer = appInformer ctrl.appLister = appLister ctrl.projInformer = projInformer diff --git a/controller/cache/cache.go b/controller/cache/cache.go index 2c07d5e4e8576..45f32b351f787 100644 --- a/controller/cache/cache.go +++ b/controller/cache/cache.go @@ -153,6 +153,8 @@ type LiveStateCache interface { GetClustersInfo() []clustercache.ClusterInfo // Init must be executed before cache can be used Init() error + // UpdateShard will update the shard of ClusterSharding when the shard has changed. + UpdateShard(shard int) bool } type ObjectUpdatedHandler = func(managedByApp map[string]bool, ref corev1.ObjectReference) @@ -906,3 +908,8 @@ func (c *liveStateCache) GetClustersInfo() []clustercache.ClusterInfo { func (c *liveStateCache) GetClusterCache(server *appv1.Cluster) (clustercache.ClusterCache, error) { return c.getSyncedCluster(server) } + +// UpdateShard will update the shard of ClusterSharding when the shard has changed. +func (c *liveStateCache) UpdateShard(shard int) bool { + return c.clusterSharding.UpdateShard(shard) +} diff --git a/controller/cache/mocks/LiveStateCache.go b/controller/cache/mocks/LiveStateCache.go index ff7725fb3e6c9..35fc57ecb0413 100644 --- a/controller/cache/mocks/LiveStateCache.go +++ b/controller/cache/mocks/LiveStateCache.go @@ -290,6 +290,24 @@ func (_m *LiveStateCache) Run(ctx context.Context) error { return r0 } +// UpdateShard provides a mock function with given fields: shard +func (_m *LiveStateCache) UpdateShard(shard int) bool { + ret := _m.Called(shard) + + if len(ret) == 0 { + panic("no return value specified for UpdateShard") + } + + var r0 bool + if rf, ok := ret.Get(0).(func(int) bool); ok { + r0 = rf(shard) + } else { + r0 = ret.Get(0).(bool) + } + + return r0 +} + // NewLiveStateCache creates a new instance of LiveStateCache. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. // The first argument is typically a *testing.T value. func NewLiveStateCache(t interface { diff --git a/controller/sharding/cache.go b/controller/sharding/cache.go index 0aa263c86e073..346145543a11c 100644 --- a/controller/sharding/cache.go +++ b/controller/sharding/cache.go @@ -19,6 +19,8 @@ type ClusterShardingCache interface { UpdateApp(a *v1alpha1.Application) IsManagedCluster(c *v1alpha1.Cluster) bool GetDistribution() map[string]int + GetAppDistribution() map[string]int + UpdateShard(shard int) bool } type ClusterSharding struct { @@ -244,3 +246,33 @@ func (sharding *ClusterSharding) UpdateApp(a *v1alpha1.Application) { log.Debugf("Skipping sharding distribution update. No relevant changes") } } + +// GetAppDistribution should be not be called from a DestributionFunction because +// it could cause a deadlock when updateDistribution is called. +func (sharding *ClusterSharding) GetAppDistribution() map[string]int { + sharding.lock.RLock() + clusters := sharding.Clusters + apps := sharding.Apps + sharding.lock.RUnlock() + + appDistribution := make(map[string]int, len(clusters)) + + for _, a := range apps { + if _, ok := appDistribution[a.Spec.Destination.Server]; !ok { + appDistribution[a.Spec.Destination.Server] = 0 + } + appDistribution[a.Spec.Destination.Server]++ + } + return appDistribution +} + +// UpdateShard will update the shard of ClusterSharding when the shard has changed. +func (sharding *ClusterSharding) UpdateShard(shard int) bool { + if shard != sharding.Shard { + sharding.lock.RLock() + sharding.Shard = shard + sharding.lock.RUnlock() + return true + } + return false +} diff --git a/controller/sharding/sharding.go b/controller/sharding/sharding.go index 5c6cc986cbd9e..a09cb3d429cec 100644 --- a/controller/sharding/sharding.go +++ b/controller/sharding/sharding.go @@ -485,7 +485,10 @@ func GetClusterSharding(kubeClient kubernetes.Interface, settingsMgr *settings.S err = fmt.Errorf("unable to get shard due to error updating the sharding config map: %w", err) break } - log.Warnf("conflict when getting shard from shard mapping configMap. Retrying (%d/3)", i) + // if `err == nil`, should not log the following warning message + if err != nil { + log.Warnf("conflict when getting shard from shard mapping configMap. Retrying (%d/3)", i) + } } errors.CheckError(err) } else { diff --git a/controller/sharding/sharding_test.go b/controller/sharding/sharding_test.go index ba3d3e324257a..6fc29919f63e4 100644 --- a/controller/sharding/sharding_test.go +++ b/controller/sharding/sharding_test.go @@ -391,12 +391,8 @@ func TestGetShardByIndexModuloReplicasCountDistributionFunction(t *testing.T) { shardForCluster1 := distributionFunction(&cluster1) shardForCluster2 := distributionFunction(&cluster2) - if shardForCluster1 != expectedShardForCluster1 { - t.Errorf("Expected shard for cluster1 to be %d but got %d", expectedShardForCluster1, shardForCluster1) - } - if shardForCluster2 != expectedShardForCluster2 { - t.Errorf("Expected shard for cluster2 to be %d but got %d", expectedShardForCluster2, shardForCluster2) - } + assert.Equal(t, expectedShardForCluster1, shardForCluster1, "Expected shard for cluster1 to be %d but got %d", expectedShardForCluster1, shardForCluster1) + assert.Equal(t, expectedShardForCluster2, shardForCluster2, "Expected shard for cluster2 to be %d but got %d", expectedShardForCluster2, shardForCluster2) } func TestInferShard(t *testing.T) { @@ -975,11 +971,7 @@ func TestGetClusterSharding(t *testing.T) { } if tc.expectedErr != nil { - if err != nil { - assert.Equal(t, tc.expectedErr.Error(), err.Error()) - } else { - t.Errorf("Expected error %v but got nil", tc.expectedErr) - } + assert.EqualError(t, err, tc.expectedErr.Error()) } else { require.NoError(t, err) } diff --git a/controller/sort_delete_test.go b/controller/sort_delete_test.go index 83b90ec47dbbc..e3a89c0280f45 100644 --- a/controller/sort_delete_test.go +++ b/controller/sort_delete_test.go @@ -4,6 +4,8 @@ import ( "reflect" "testing" + "github.com/stretchr/testify/assert" + "github.com/argoproj/gitops-engine/pkg/sync/common" . "github.com/argoproj/gitops-engine/pkg/utils/testing" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" @@ -22,9 +24,8 @@ func TestFilterObjectsForDeletion(t *testing.T) { for _, tt := range tests { in := sliceOfObjectsWithSyncWaves(tt.input) need := sliceOfObjectsWithSyncWaves(tt.want) - if got := FilterObjectsForDeletion(in); !reflect.DeepEqual(got, need) { - t.Errorf("Received unexpected objects for deletion = %v, want %v", got, need) - } + got := FilterObjectsForDeletion(in) + assert.True(t, reflect.DeepEqual(got, need), "Received unexpected objects for deletion") } } diff --git a/controller/state.go b/controller/state.go index 5ea71e80909eb..bfd3e49e765a6 100644 --- a/controller/state.go +++ b/controller/state.go @@ -108,6 +108,7 @@ type appStateManager struct { appclientset appclientset.Interface projInformer cache.SharedIndexInformer kubectl kubeutil.Kubectl + onKubectlRun kubeutil.OnKubectlRunFunc repoClientset apiclient.Clientset liveStateCache statecache.LiveStateCache cache *appstatecache.Cache @@ -747,13 +748,13 @@ func (m *appStateManager) CompareAppState(app *v1alpha1.Application, project *v1 diffConfigBuilder.WithServerSideDiff(serverSideDiff) if serverSideDiff { - resourceOps, cleanup, err := m.getResourceOperations(destCluster) + applier, cleanup, err := m.getServerSideDiffDryRunApplier(destCluster) if err != nil { - log.Errorf("CompareAppState error getting resource operations: %s", err) + log.Errorf("CompareAppState error getting server side diff dry run applier: %s", err) conditions = append(conditions, v1alpha1.ApplicationCondition{Type: v1alpha1.ApplicationConditionUnknownError, Message: err.Error(), LastTransitionTime: &now}) } defer cleanup() - diffConfigBuilder.WithServerSideDryRunner(diff.NewK8sServerSideDryRunner(resourceOps)) + diffConfigBuilder.WithServerSideDryRunner(diff.NewK8sServerSideDryRunner(applier)) } // enable structured merge diff if application syncs with server-side apply @@ -1065,6 +1066,7 @@ func NewAppStateManager( repoClientset apiclient.Clientset, namespace string, kubectl kubeutil.Kubectl, + onKubectlRun kubeutil.OnKubectlRunFunc, settingsMgr *settings.SettingsManager, liveStateCache statecache.LiveStateCache, projInformer cache.SharedIndexInformer, @@ -1083,6 +1085,7 @@ func NewAppStateManager( db: db, appclientset: appclientset, kubectl: kubectl, + onKubectlRun: onKubectlRun, repoClientset: repoClientset, namespace: namespace, settingsMgr: settingsMgr, diff --git a/controller/sync.go b/controller/sync.go index 1ab59e35e8bc5..4f11920466502 100644 --- a/controller/sync.go +++ b/controller/sync.go @@ -14,6 +14,7 @@ import ( cdcommon "github.com/argoproj/argo-cd/v3/common" + gitopsDiff "github.com/argoproj/gitops-engine/pkg/diff" "github.com/argoproj/gitops-engine/pkg/sync" "github.com/argoproj/gitops-engine/pkg/sync/common" "github.com/argoproj/gitops-engine/pkg/utils/kube" @@ -33,6 +34,7 @@ import ( "github.com/argoproj/argo-cd/v3/util/argo" "github.com/argoproj/argo-cd/v3/util/argo/diff" "github.com/argoproj/argo-cd/v3/util/glob" + kubeutil "github.com/argoproj/argo-cd/v3/util/kube" logutils "github.com/argoproj/argo-cd/v3/util/log" "github.com/argoproj/argo-cd/v3/util/lua" "github.com/argoproj/argo-cd/v3/util/rand" @@ -66,11 +68,11 @@ func (m *appStateManager) getGVKParser(server *v1alpha1.Cluster) (*managedfields return cluster.GetGVKParser(), nil } -// getResourceOperations will return the kubectl implementation of the ResourceOperations -// interface that provides functionality to manage kubernetes resources. Returns a +// getServerSideDiffDryRunApplier will return the kubectl implementation of the KubeApplier +// interface that provides functionality to dry run apply kubernetes resources. Returns a // cleanup function that must be called to remove the generated kube config for this // server. -func (m *appStateManager) getResourceOperations(cluster *v1alpha1.Cluster) (kube.ResourceOperations, func(), error) { +func (m *appStateManager) getServerSideDiffDryRunApplier(cluster *v1alpha1.Cluster) (gitopsDiff.KubeApplier, func(), error) { clusterCache, err := m.liveStateCache.GetClusterCache(cluster) if err != nil { return nil, nil, fmt.Errorf("error getting cluster cache: %w", err) @@ -80,7 +82,7 @@ func (m *appStateManager) getResourceOperations(cluster *v1alpha1.Cluster) (kube if err != nil { return nil, nil, fmt.Errorf("error getting cluster REST config: %w", err) } - ops, cleanup, err := m.kubectl.ManageResources(rawConfig, clusterCache.GetOpenAPISchema()) + ops, cleanup, err := kubeutil.ManageServerSideDiffDryRuns(rawConfig, clusterCache.GetOpenAPISchema(), m.onKubectlRun) if err != nil { return nil, nil, fmt.Errorf("error creating kubectl ResourceOperations: %w", err) } diff --git a/docs/developer-guide/architecture/authz-authn.md b/docs/developer-guide/architecture/authz-authn.md index 921b744f2ea8a..5359073ed73ec 100644 --- a/docs/developer-guide/architecture/authz-authn.md +++ b/docs/developer-guide/architecture/authz-authn.md @@ -104,6 +104,6 @@ elements are described below with their respective numbers: [3]: https://en.wikipedia.org/wiki/Representational_state_transfer [4]: https://grpc.io/ [5]: https://casbin.org/ -[6]: https://github.com/golang/go/wiki/LearnServerProgramming#middleware +[6]: https://go.dev/wiki/LearnServerProgramming#middleware [7]: https://en.wikipedia.org/wiki/Role-based_access_control [8]: https://pkg.go.dev/net/http#ServeMux diff --git a/docs/developer-guide/extensions/proxy-extensions.md b/docs/developer-guide/extensions/proxy-extensions.md index 57166ef071642..cd41452fbcbe3 100644 --- a/docs/developer-guide/extensions/proxy-extensions.md +++ b/docs/developer-guide/extensions/proxy-extensions.md @@ -184,12 +184,11 @@ the argocd-secret with key 'some.argocd.secret.key'. If provided, and multiple services are configured, will have to match the application destination name or server to have requests properly forwarded to this service URL. If there are multiple backends for the -same extension this field is required. In this case at least one of -the two will be required: name or server. It is better to provide both -values to avoid problems with applications unable to send requests to -the proper backend service. If only one backend service is -configured, this field is ignored, and all requests are forwarded to -the configured one. +same extension this field is required. In this case, it is necessary +to provide both values to avoid problems with applications unable to +send requests to the proper backend service. If only one backend +service is configured, this field is ignored, and all requests are +forwarded to the configured one. #### `extensions.backend.services.cluster.name` (*string*) (optional) diff --git a/docs/developer-guide/release-process-and-cadence.md b/docs/developer-guide/release-process-and-cadence.md index 515a777226a94..a4b77799c23da 100644 --- a/docs/developer-guide/release-process-and-cadence.md +++ b/docs/developer-guide/release-process-and-cadence.md @@ -17,7 +17,7 @@ These are the upcoming releases dates: | v2.12 | Monday, Jun. 17, 2024 | Monday, Aug. 5, 2024 | [Ishita Sequeira](https://github.com/ishitasequeira) | [Pavel Kostohrys](https://github.com/pasha-codefresh) | [checklist](https://github.com/argoproj/argo-cd/issues/19063) | | v2.13 | Monday, Sep. 16, 2024 | Monday, Nov. 4, 2024 | [Regina Voloshin](https://github.com/reggie-k) | [Pavel Kostohrys](https://github.com/pasha-codefresh) | [checklist](https://github.com/argoproj/argo-cd/issues/19513) | | v2.14 | Monday, Dec. 16, 2024 | Monday, Feb. 3, 2025 | [Ryan Umstead](https://github.com/rumstead) | [Pavel Kostohrys](https://github.com/pasha-codefresh) | [checklist](https://github.com/argoproj/argo-cd/issues/20869) | -| v3.0 | Monday, Mar. 17, 2025 | Monday, May 5, 2025 | [Michael Crenshaw](https://github.com/crenshaw-dev) | | | +| v3.0 | Monday, Mar. 17, 2025 | Monday, May 5, 2025 | [Regina Voloshin](https://github.com/reggie-k) | | [checklist](https://github.com/argoproj/argo-cd/issues/21735) | Actual release dates might differ from the plan by a few days. diff --git a/docs/developer-guide/test-e2e.md b/docs/developer-guide/test-e2e.md index a1ddec8058f0f..68d061f7833db 100644 --- a/docs/developer-guide/test-e2e.md +++ b/docs/developer-guide/test-e2e.md @@ -3,7 +3,7 @@ The test [directory](https://github.com/argoproj/argo-cd/tree/master/test) contains E2E tests and test applications. The tests assume that Argo CD services are installed into `argocd-e2e` namespace or cluster in current context. A throw-away namespace `argocd-e2e***` is created prior to the execution of the tests. The throw-away namespace is used as a target namespace for test applications. -The [/test/e2e/testdata](https://github.com/argoproj/argo-cd/tree/master/test/e2e/testdata) directory contains various Argo CD applications. Before test execution directory is copies into `/tmp/argocd-e2e***` temp directory and used in tests as a +The [/test/e2e/testdata](https://github.com/argoproj/argo-cd/tree/master/test/e2e/testdata) directory contains various Argo CD applications. Before test execution, the directory is copied into `/tmp/argocd-e2e***` temp directory and used in tests as a Git repository via file url: `file:///tmp/argocd-e2e***`. ## Running Tests Locally diff --git a/docs/operator-manual/application.yaml b/docs/operator-manual/application.yaml index b38d7fddd50c5..f7217d6e467c8 100644 --- a/docs/operator-manual/application.yaml +++ b/docs/operator-manual/application.yaml @@ -130,6 +130,8 @@ spec: count: 4 components: - ../component # relative to the kustomization.yaml (`source.path`). + # Ignore locally missing component directories when using Kustomize Components. Defaults to false + ignoreMissingComponents: true patches: - target: kind: Deployment diff --git a/docs/operator-manual/applicationset/Generators-Git.md b/docs/operator-manual/applicationset/Generators-Git.md index 496051b65180e..ece7f2a2fb476 100644 --- a/docs/operator-manual/applicationset/Generators-Git.md +++ b/docs/operator-manual/applicationset/Generators-Git.md @@ -8,6 +8,7 @@ The Git generator contains two subtypes: the Git directory generator, and Git fi For ApplicationSets with a templated `project` field, [the source of truth _must_ be controlled by admins](./Security.md#templated-project-field) - in the case of git generators, PRs must require admin approval. - Git generator does not support Signature Verification For ApplicationSets with a templated `project` field. + - You must only use "non-scoped" repositories for ApplicationSets with a templated `project` field (see ["Repository Credentials for Applicationsets" below](#repository-credentials-for-applicationsets)). ## Git Generator: Directories @@ -551,7 +552,8 @@ stringData: After saving, please restart the ApplicationSet pod for the changes to take effect. ## Repository credentials for ApplicationSets -If your [ApplicationSets](index.md) uses a repository where you need credentials to be able to access it, you need to add the repository as a "non project scoped" repository. +If your [ApplicationSets](index.md) uses a repository where you need credentials to be able to access it _and_ if the +ApplicationSet project field is templated (i.e. the `project` field of the ApplicationSet contains `{{ ... }}`), you need to add the repository as a "non project scoped" repository. - When doing that through the UI, set this to a **blank** value in the dropdown menu. - When doing that through the CLI, make sure you **DO NOT** supply the parameter `--project` ([argocd repo add docs](../../user-guide/commands/argocd_repo_add.md)) - When doing that declaratively, make sure you **DO NOT** have `project:` defined under `stringData:` ([complete yaml example](../argocd-repositories-yaml.md)) diff --git a/docs/operator-manual/applicationset/Generators-Matrix.md b/docs/operator-manual/applicationset/Generators-Matrix.md index 91b1bb3abb778..ca6afdfd66e56 100644 --- a/docs/operator-manual/applicationset/Generators-Matrix.md +++ b/docs/operator-manual/applicationset/Generators-Matrix.md @@ -420,14 +420,3 @@ For example, the below example would be invalid (cluster-generator must come aft revision: HEAD files: - path: "examples/git-generator-files-discovery/cluster-config/engineering/{{.name}}**/config.json" # {{.name}} is produced by cluster generator - -1. When using a Matrix generator nested inside another Matrix or Merge generator, [Post Selectors](Generators-Post-Selector.md) for this nested generator's generators will only be applied when enabled via `spec.applyNestedSelectors`. You may also need to enable this even if your Post Selectors are not within the nested matrix or Merge generator, but are instead a sibling of a nested Matrix or Merge generator. - - - matrix: - generators: - - matrix: - generators: - - list - elements: - - # (...) - selector: { } # Only applied when applyNestedSelectors is true diff --git a/docs/operator-manual/applicationset/Generators-Merge.md b/docs/operator-manual/applicationset/Generators-Merge.md index b2ccfe86fb66d..8b15302d0dcff 100644 --- a/docs/operator-manual/applicationset/Generators-Merge.md +++ b/docs/operator-manual/applicationset/Generators-Merge.md @@ -219,14 +219,3 @@ Assuming a cluster named `germany01` with the label `metadata.labels.location=Ge - merge: mergeKeys: - values.merge - -1. When using a Merge generator nested inside another Matrix or Merge generator, [Post Selectors](Generators-Post-Selector.md) for this nested generator's generators will only be applied when enabled via `spec.applyNestedSelectors`. - - - merge: - generators: - - merge: - generators: - - list - elements: - - # (...) - selector: { } # Only applied when applyNestedSelectors is true diff --git a/docs/operator-manual/argocd-cmd-params-cm.yaml b/docs/operator-manual/argocd-cmd-params-cm.yaml index 4d2068d0812c9..de35e1bc4f8db 100644 --- a/docs/operator-manual/argocd-cmd-params-cm.yaml +++ b/docs/operator-manual/argocd-cmd-params-cm.yaml @@ -54,8 +54,8 @@ data: controller.status.processors: "20" # Number of application operation processors (default 10) controller.operation.processors: "10" - # Set the logging format. One of: text|json (default "text") - controller.log.format: "text" + # Set the logging format. One of: json|text (default "json") + controller.log.format: "json" # Set the logging level. One of: debug|info|warn|error (default "info") controller.log.level: "info" # Prometheus metrics cache expiration (disabled by default. e.g. 24h0m0s) @@ -123,8 +123,8 @@ data: # Number of webhook requests processed concurrently (default 50) server.webhook.parallelism.limit: "50" - # Set the logging format. One of: text|json (default "text") - server.log.format: "text" + # Set the logging format. One of: json|text (default "json") + server.log.format: "json" # Set the logging level. One of: debug|info|warn|error (default "info") server.log.level: "info" # Repo server RPC call timeout seconds. (default 60) @@ -171,8 +171,8 @@ data: reposerver.listen.address: "0.0.0.0" # Listen on given address for metrics (default "0.0.0.0") reposerver.metrics.listen.address: "0.0.0.0" - # Set the logging format. One of: text|json (default "text") - reposerver.log.format: "text" + # Set the logging format. One of: json|text (default "json") + reposerver.log.format: "json" # Set the logging level. One of: debug|info|warn|error (default "info") reposerver.log.level: "info" # Limit on number of concurrent manifests generate requests. Any value less the 1 means no limit. @@ -218,15 +218,15 @@ data: ## Commit-server properties # Listen on given address for incoming connections (default "0.0.0.0") commitserver.listen.address: "0.0.0.0" - # Set the logging format. One of: text|json (default "text") - commitserver.log.format: "text" + # Set the logging format. One of: json|text (default "json") + commitserver.log.format: "json" # Set the logging level. One of: debug|info|warn|error (default "info") commitserver.log.level: "info" # Listen on given address for metrics (default "0.0.0.0") commitserver.metrics.listen.address: "0.0.0.0" - # Set the logging format. One of: text|json (default "text") - dexserver.log.format: "text" + # Set the logging format. One of: json|text (default "json") + dexserver.log.format: "json" # Set the logging level. One of: debug|info|warn|error (default "info") dexserver.log.level: "info" # Disable TLS on the HTTP endpoint @@ -252,8 +252,8 @@ data: applicationsetcontroller.enable.new.git.file.globbing: "false" # Print debug logs. Takes precedence over loglevel applicationsetcontroller.debug: "false" - # Set the logging format. One of: text|json (default "text") - applicationsetcontroller.log.format: "text" + # Set the logging format. One of: json|text (default "json") + applicationsetcontroller.log.format: "json" # Set the logging level. One of: debug|info|warn|error (default "info") applicationsetcontroller.log.level: "info" # Enable dry run mode @@ -283,8 +283,8 @@ data: ## Argo CD Notifications Controller Properties # Set the logging level. One of: debug|info|warn|error (default "info") notificationscontroller.log.level: "info" - # Set the logging format. One of: text|json (default "text") - notificationscontroller.log.format: "text" + # Set the logging format. One of: json|text (default "json") + notificationscontroller.log.format: "json" # Enable self-service notifications config. Used in conjunction with apps-in-any-namespace. (default "false") notificationscontroller.selfservice.enabled: "false" # Disable TLS on connections to repo server diff --git a/docs/operator-manual/declarative-setup.md b/docs/operator-manual/declarative-setup.md index 56a0d7b580624..4fdae89ef3c72 100644 --- a/docs/operator-manual/declarative-setup.md +++ b/docs/operator-manual/declarative-setup.md @@ -498,43 +498,6 @@ stringData: A note on noProxy: Argo CD uses exec to interact with different tools such as helm and kustomize. Not all of these tools support the same noProxy syntax as the [httpproxy go package](https://cs.opensource.google/go/x/net/+/internal-branch.go1.21-vendor:http/httpproxy/proxy.go;l=38-50) does. In case you run in trouble with noProxy not beeing respected you might want to try using the full domain instead of a wildcard pattern or IP range to find a common syntax that all tools support. -### Legacy behaviour - -In Argo CD version 2.0 and earlier, repositories were stored as part of the `argocd-cm` config map. For -backward-compatibility, Argo CD will still honor repositories in the config map, but this style of repository -configuration is deprecated and support for it will be removed in a future version. - -```yaml -apiVersion: v1 -kind: ConfigMap -data: - repositories: | - - url: https://github.com/argoproj/my-private-repository - passwordSecret: - name: my-secret - key: password - usernameSecret: - name: my-secret - key: username - repository.credentials: | - - url: https://github.com/argoproj - passwordSecret: - name: my-secret - key: password - usernameSecret: - name: my-secret - key: username ---- -apiVersion: v1 -kind: Secret -metadata: - name: my-secret - namespace: argocd -stringData: - password: my-password - username: my-username -``` - ## Clusters Cluster credentials are stored in secrets same as repositories or repository credentials. Each secret must have label @@ -544,10 +507,10 @@ The secret data must include following fields: * `name` - cluster name * `server` - cluster api server url -* `namespaces` - optional comma-separated list of namespaces which are accessible in that cluster. Cluster level resources would be ignored if namespace list is not empty. -* `clusterResources` - optional boolean string (`"true"` or `"false"`) determining whether Argo CD can manage cluster-level resources on this cluster. This setting is used only if the list of managed namespaces is not empty. +* `namespaces` - optional comma-separated list of namespaces which are accessible in that cluster. Setting namespace values will cause cluster-level resources to be ignored unless `clusterResources` is set to `true`. +* `clusterResources` - optional boolean string (`"true"` or `"false"`) determining whether Argo CD can manage cluster-level resources on this cluster. This setting is only used when namespaces are restricted using the `namespaces` list. * `project` - optional string to designate this as a project-scoped cluster. -* `config` - JSON representation of following data structure: +* `config` - JSON representation of the following data structure: ```yaml # Basic authentication settings diff --git a/docs/operator-manual/installation.md b/docs/operator-manual/installation.md index 70494298c1391..35e4d6bb07187 100644 --- a/docs/operator-manual/installation.md +++ b/docs/operator-manual/installation.md @@ -31,6 +31,10 @@ Not recommended for production use. This type of installation is typically used Argo CD instances for different teams, where each instance will be deploying applications to external clusters. It will still be possible to deploy to the same cluster (kubernetes.svc.default) with inputted credentials (i.e. `argocd cluster add --in-cluster --namespace `). + With the default roles included, you will only be able to deploy Argo CD resources (Applications, ApplicationSets + and AppProjects) in the same cluster, as it's only supporting the GitOps mode with real deployments being + done to external clusters. + You can modify that by defining new roles and binding them to the `argocd-application-controller` service account. > Note: Argo CD CRDs are not included into [namespace-install.yaml](https://github.com/argoproj/argo-cd/blob/master/manifests/namespace-install.yaml). > and have to be installed separately. The CRD manifests are located in the [manifests/crds](https://github.com/argoproj/argo-cd/blob/master/manifests/crds) directory. diff --git a/docs/operator-manual/secret-management.md b/docs/operator-manual/secret-management.md index 95343789c4868..e141e952c36b0 100644 --- a/docs/operator-manual/secret-management.md +++ b/docs/operator-manual/secret-management.md @@ -1,29 +1,47 @@ # Secret Management -Argo CD is un-opinionated about how secrets are managed. There are many ways to do it, and there's no one-size-fits-all solution. +There are two general ways to populate secrets when doing GitOps: on the destination cluster, or in Argo CD during +manifest generation. We strongly recommend the former, as it is more secure and provides a better user experience. -Many solutions use plugins to inject secrets into the application manifests. See [Mitigating Risks of Secret-Injection Plugins](#mitigating-risks-of-secret-injection-plugins) -below to make sure you use those plugins securely. +For further discussion, see [#1364](https://github.com/argoproj/argo-cd/issues/1364). -Here are some ways people are doing GitOps secrets: +## Destination Cluster Secret Management -* [Bitnami Sealed Secrets](https://github.com/bitnami-labs/sealed-secrets) -* [External Secrets Operator](https://github.com/external-secrets/external-secrets) -* [Hashicorp Vault](https://www.vaultproject.io) -* [Bank-Vaults](https://bank-vaults.dev/) -* [Helm Secrets](https://github.com/jkroepke/helm-secrets) -* [Kustomize secret generator plugins](https://github.com/kubernetes-sigs/kustomize/blob/fd7a353df6cece4629b8e8ad56b71e30636f38fc/examples/kvSourceGoPlugin.md#secret-values-from-anywhere) +In this approach, secrets are populated on the destination cluster, and Argo CD does not need to directly manage them. +[Sealed Secrets](https://github.com/bitnami-labs/sealed-secrets), [External Secrets Operator](https://github.com/external-secrets/external-secrets), +and [Kubernetes Secrets Store CSI Driver](https://github.com/kubernetes-sigs/secrets-store-csi-driver) are examples of this style of secret management. + +This approach has two main advantages: + +1) Security: Argo CD does not need to have access to the secrets, which reduces the risk of leaking them. +2) User Experience: Secret updates are decoupled from app sync operations, which reduces the risk of unintentionally + applying Secret updates during an unrelated release. + +We strongly recommend this style of secret management. + +Other examples of this style of secret management include: * [aws-secret-operator](https://github.com/mumoshu/aws-secret-operator) -* [KSOPS](https://github.com/viaduct-ai/kustomize-sops#argo-cd-integration) -* [argocd-vault-plugin](https://github.com/argoproj-labs/argocd-vault-plugin) -* [argocd-vault-replacer](https://github.com/crumbhole/argocd-vault-replacer) -* [Kubernetes Secrets Store CSI Driver](https://github.com/kubernetes-sigs/secrets-store-csi-driver) -* [Vals-Operator](https://github.com/digitalis-io/vals-operator) -* [argocd-secret-replacer](https://github.com/mmalyska/argocd-secret-replacer) +* [Vault Secrets Operator](https://developer.hashicorp.com/vault/docs/platform/k8s/vso) + +## Argo CD Manifest Generation-Based Secret Management -For discussion, see [#1364](https://github.com/argoproj/argo-cd/issues/1364) +In this approach, Argo CD's manifest generation step is used to inject secrets. This may be done using a +[Config Management Plugin](config-management-plugins.md) like [argocd-vault-plugin](https://github.com/argoproj-labs/argocd-vault-plugin). -## Mitigating Risks of Secret-Injection Plugins +**We strongly caution against this style of secret management**, as it has several disadvantages: + +1) Security: Argo CD needs access to the secrets, which increases the risk of leaking them. Argo CD stores generated + manifests in plaintext in its Redis cache, so injecting secrets into the manifests increases risk. +2) User Experience: Secret updates are coupled with app sync operations, which increases the risk of unintentionally + applying Secret updates during an unrelated release. +3) Rendered Manifests Pattern: This approach is incompatible with the "Rendered Manifests" pattern, which is + increasingly becoming a best practice for GitOps. + +Many users have already adopted generation-based solutions, and we understand that migrating to an operator-based +solution can be a significant effort. Argo CD will continue to support generation-based secret management, but we will +not prioritize new features or improvements that solely support this style of secret management. + +### Mitigating Risks of Secret-Injection Plugins Argo CD caches the manifests generated by plugins, along with the injected secrets, in its Redis instance. Those manifests are also available via the repo-server API (a gRPC service). This means that the secrets are available to @@ -34,4 +52,3 @@ Consider these steps to mitigate the risks of secret-injection plugins: 1. Set up network policies to prevent direct access to Argo CD components (Redis and the repo-server). Make sure your cluster supports those network policies and can actually enforce them. 2. Consider running Argo CD on its own cluster, with no other applications running on it. - diff --git a/docs/operator-manual/server-commands/additional-configuration-method.md b/docs/operator-manual/server-commands/additional-configuration-method.md index cc80ed3aeb9c8..d570393310ae6 100644 --- a/docs/operator-manual/server-commands/additional-configuration-method.md +++ b/docs/operator-manual/server-commands/additional-configuration-method.md @@ -23,6 +23,6 @@ To set `logformat` of `argocd-application-controller`, add below entry to the co ``` data: - controller.log.format: "text" + controller.log.format: "json" ``` diff --git a/docs/operator-manual/server-commands/argocd-application-controller.md b/docs/operator-manual/server-commands/argocd-application-controller.md index 9d6ca5fe496f7..29e0f18ddece8 100644 --- a/docs/operator-manual/server-commands/argocd-application-controller.md +++ b/docs/operator-manual/server-commands/argocd-application-controller.md @@ -40,7 +40,7 @@ argocd-application-controller [flags] --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --kubeconfig string Path to a kube config. Only required if out-of-cluster --kubectl-parallelism-limit int Number of allowed concurrent kubectl fork/execs. Any value less than 1 means no limit. (default 20) - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --metrics-application-conditions strings List of Application conditions that will be added to the argocd_application_conditions metric --metrics-application-labels strings List of Application labels that will be added to the argocd_application_labels metric diff --git a/docs/operator-manual/server-commands/argocd-dex_gendexcfg.md b/docs/operator-manual/server-commands/argocd-dex_gendexcfg.md index a889b64133a93..6de925f1f190b 100644 --- a/docs/operator-manual/server-commands/argocd-dex_gendexcfg.md +++ b/docs/operator-manual/server-commands/argocd-dex_gendexcfg.md @@ -24,7 +24,7 @@ argocd-dex gendexcfg [flags] -h, --help help for gendexcfg --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --kubeconfig string Path to a kube config. Only required if out-of-cluster - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") -n, --namespace string If present, the namespace scope for this CLI request -o, --out string Output to the specified file instead of stdout diff --git a/docs/operator-manual/server-commands/argocd-dex_rundex.md b/docs/operator-manual/server-commands/argocd-dex_rundex.md index b2d453feba613..dc1d44ddd9c9b 100644 --- a/docs/operator-manual/server-commands/argocd-dex_rundex.md +++ b/docs/operator-manual/server-commands/argocd-dex_rundex.md @@ -24,7 +24,7 @@ argocd-dex rundex [flags] -h, --help help for rundex --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --kubeconfig string Path to a kube config. Only required if out-of-cluster - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") -n, --namespace string If present, the namespace scope for this CLI request --password string Password for basic authentication to the API server diff --git a/docs/operator-manual/server-commands/argocd-repo-server.md b/docs/operator-manual/server-commands/argocd-repo-server.md index 12e4d34d14028..bd3d5602b76b7 100644 --- a/docs/operator-manual/server-commands/argocd-repo-server.md +++ b/docs/operator-manual/server-commands/argocd-repo-server.md @@ -24,7 +24,7 @@ argocd-repo-server [flags] --helm-registry-max-index-size string Maximum size of registry index file (default "1G") -h, --help help for argocd-repo-server --include-hidden-directories Include hidden directories from Git - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --max-combined-directory-manifests-size string Max combined size of manifest files in a directory-type Application (default "10M") --metrics-address string Listen on given address for metrics (default "0.0.0.0") diff --git a/docs/operator-manual/server-commands/argocd-server.md b/docs/operator-manual/server-commands/argocd-server.md index fe284a5940733..0a0a1483d2876 100644 --- a/docs/operator-manual/server-commands/argocd-server.md +++ b/docs/operator-manual/server-commands/argocd-server.md @@ -59,7 +59,7 @@ argocd-server [flags] --insecure Run server without TLS --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --kubeconfig string Path to a kube config. Only required if out-of-cluster - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --login-attempts-expiration duration Cache expiration for failed login attempts (default 24h0m0s) --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --metrics-address string Listen for metrics on given address (default "0.0.0.0") diff --git a/docs/operator-manual/upgrading/2.13-2.14.md b/docs/operator-manual/upgrading/2.13-2.14.md new file mode 100644 index 0000000000000..3b8a473fb43ec --- /dev/null +++ b/docs/operator-manual/upgrading/2.13-2.14.md @@ -0,0 +1,14 @@ +# v2.13 to 2.14 + +## Avoid v2.14.0 manifests and use v2.14.1 + +The tagged v2.14.0 manifests contain a nonexistent Argo CD image. If you are using the Argo CD manifests as a remote +base, use the v2.14.1 manifests instead. + +Eg, `https://github.com/argoproj/argo-cd/manifests/ha/cluster-install?ref=v2.14.1` or +`https://raw.githubusercontent.com/argoproj/argo-cd/v2.14.1/manifests/install.yaml` + +## Upgraded Helm Version + +Helm was upgraded to 3.16.2 and the skipSchemaValidation Flag was added to +the [CLI and Application CR](https://argo-cd.readthedocs.io/en/latest/user-guide/helm/#helm-skip-schema-validation). \ No newline at end of file diff --git a/docs/operator-manual/upgrading/2.14-3.0.md b/docs/operator-manual/upgrading/2.14-3.0.md index 34a7b7ae032b1..53a7a585567ff 100644 --- a/docs/operator-manual/upgrading/2.14-3.0.md +++ b/docs/operator-manual/upgrading/2.14-3.0.md @@ -25,9 +25,9 @@ Read the [RBAC documentation](../rbac.md#fine-grained-permissions-for-updatedele ### Removal of `argocd_app_sync_status`, `argocd_app_health_status` and `argocd_app_created_time` Metrics -The `argocd_app_sync_status`, `argocd_app_health_status` and `argocd_app_created_time`, deprecated and disabled by +The `argocd_app_sync_status`, `argocd_app_health_status` and `argocd_app_created_time`, deprecated and disabled by default since 1.5.0, have been removed. The information previously provided by these metrics is now available as labels -on the `argocd_app_info` metric. +on the `argocd_app_info` metric. #### Detection @@ -39,6 +39,131 @@ If it is not set to true, you can safely upgrade with no changes. If you are using these metrics, you will need to update your monitoring dashboards and alerts to use the new metric and labels before upgrading. +### Changes to RBAC with Dex SSO Authentication + +When using Dex, the `sub` claim returned in the authentication was used as the subject for RBAC. That value depends on +the Dex internal implementation and should not be considered an immutable value that represent the subject. + +The new behavior will request the `federated:id` [scope](https://dexidp.io/docs/configuration/custom-scopes-claims-clients/) from Dex, and the new value used as the RBAC subject will be based +on the `federated_claims.user_id` claim instead of the `sub` claim. + +If you were using the Dex sub claim in RBAC policies, you will need to update them to maintain the same access. + +You can know the correct `user_id` to use by decoding the current `sub` claims defined in your policies. You can also configure which +value is used as `user_id` for some [connectors](https://dexidp.io/docs/connectors/). + +```sh +$> echo "ChdleGFtcGxlQGFyZ29wcm9qLmlvEgJkZXhfY29ubl9pZA" | base64 -d + +example@argoproj.iodex_conn_i% +``` + +```yaml +# Policies based on the Dex sub claim (wrong) +- g, ChdleGFtcGxlQGFyZ29wcm9qLmlvEgJkZXhfY29ubl9pZA, role:example +- p, ChdleGFtcGxlQGFyZ29wcm9qLmlvEgJkZXhfY29ubl9pZA, applications, *, *, allow + +# Policies now based on federated_claims.user_id claim (correct) +- g, example@argoproj.io, role:example +- p, example@argoproj.io, applications, *, *, allow +``` + +If authenticating with the CLI, make sure to use the new version as well to obtain an authentication token with the +appropriate claims. + +### Removed support for legacy repo config in argocd-cm + +Before repositories were managed as Secrets, they were configured in the argocd-cm ConfigMap. The argocd-cm option has +been deprecated for some time and is no longer available in Argo CD 3.0. + +#### Detection + +To check whether you have any repositories configured in argocd-cm, run the following command: + +```shell +kubectl get cm argocd-cm -o=jsonpath="[{.data.repositories}, {.data['repository.credentials']}, {.data['helm.repositories']}]" +``` + +If you have no repositories configured in argocd-cm, the output will be `[, , ]`, and you are not impacted by this +change. + +#### Migration + +To convert your repositories to Secrets, follow the documentation for +[declarative management of repositories](../declarative-setup.md#repositories). + +### Ignoring ApplicationSet `applyNestedSelectors` field + +Setting the `spec.applyNestedSelectors` field in an ApplicationSet resolves counter-intuitive behavior where filters in +nested selectors were not applied. Starting in Argo CD 3.0, the field is ignored, and behavior is always the same as if +`applyNestedSelectors` was set to `true`. In other words, nested selectors are always applied. + +#### Detection + +To detect if you are impacted, search your ApplicationSet controller logs for this string: `ignoring nested selector`. +If there are no logs with this string, you are not impacted. + +Another way to detect if you are impacted is to run the following command: + +```shell +kubectl get appsets -o=json | jq -r '.items[] | select( + .spec.applyNestedSelectors != true and + .spec.generators[][].generators[][].generators[].selector != null + ) | .metadata.name' +``` + +The command will print the name of any ApplicationSet that has `applyNestedSelectors` unset or set to `false` and has +one or more nested selectors. + +#### Remediation + +Since `applyNestedSelectors` is false by default, you can safely remove the nested selectors on ApplicationSets where +`applyNestedSelectors` has not been explicitly set to `true`. After the selectors are removed, you can safely upgrade. + +For example, you should remove the selector in this ApplicationSet before upgrading to Argo CD 3.0. + +```diff +apiVersion: argoproj.io/v1alpha1 +kind: ApplicationSet +metadata: + name: guestbook +spec: + goTemplate: true + goTemplateOptions: ["missingkey=error"] + generators: + - matrix: + mergeKeys: ['test-key'] + generators: + - list: + elements: + - test-key: 'test-value' + cluster: staging + - test-key: 'test-value' + cluster: production + - merge: + generators: + - list: + elements: + - another-key: 'another-value' + - cluster: {} +- selector: +- matchLabels: +- app: guestbook + + template: + metadata: + name: '{{.cluster}}-guestbook' + spec: + project: my-project + source: + repoURL: https://github.com/infra-team/cluster-deployments.git + targetRevision: HEAD + path: guestbook/{{.cluster}} + destination: + server: '{{.url}}' + namespace: guestbook +``` + ## Other changes ### Using `cluster.inClusterEnabled: "false"` diff --git a/docs/operator-manual/upgrading/overview.md b/docs/operator-manual/upgrading/overview.md index 4d5e97c6f8ab2..4a6f710287304 100644 --- a/docs/operator-manual/upgrading/overview.md +++ b/docs/operator-manual/upgrading/overview.md @@ -8,12 +8,12 @@ Argo CD uses semver-like versioning that ensures the following rules: * The patch release does not introduce any breaking changes. So if you are upgrading from v1.5.1 to v1.5.3 - there should be no special instructions to follow. + there should be no special instructions to follow. * The minor release might introduce minor changes with a workaround. If you are upgrading from v1.3.0 to v1.5.2 -please make sure to check upgrading details in both [v1.3 to v1.4](./1.3-1.4.md) and [v1.4 to v1.5](./1.4-1.5.md) - upgrading instructions. - * The major release introduces backward incompatible behavior changes. It is recommended to take a backup of - Argo CD settings using disaster recovery [guide](../disaster_recovery.md). + please make sure to check upgrading details in both [v1.3 to v1.4](./1.3-1.4.md) and [v1.4 to v1.5](./1.4-1.5.md) + upgrading instructions. +* The major release introduces backward incompatible behavior changes. It is recommended to take a backup of + Argo CD settings using disaster recovery [guide](../disaster_recovery.md). After reading the relevant notes about possible breaking changes introduced in Argo CD version use the following command to upgrade Argo CD. Make sure to replace `` with the required version number: @@ -25,6 +25,7 @@ kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd//manifests/ha/install.yaml ``` @@ -38,6 +39,7 @@ kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/ * [v2.14 to v3.0](./2.14-3.0.md) +* [v2.13 to v2.14](./2.13-2.14.md) * [v2.12 to v2.13](./2.12-2.13.md) * [v2.11 to v2.12](./2.11-2.12.md) * [v2.10 to v2.11](./2.10-2.11.md) diff --git a/docs/snyk/index.md b/docs/snyk/index.md index a4f4b42d75e75..b3287e5a0e928 100644 --- a/docs/snyk/index.md +++ b/docs/snyk/index.md @@ -23,57 +23,57 @@ recent minor releases. | [install.yaml](master/argocd-iac-install.html) | - | - | - | - | | [namespace-install.yaml](master/argocd-iac-namespace-install.html) | - | - | - | - | -### v2.14.0-rc5 +### v2.14.0-rc7 | | Critical | High | Medium | Low | |---:|:--------:|:----:|:------:|:---:| -| [go.mod](v2.14.0-rc5/argocd-test.html) | 0 | 2 | 7 | 0 | -| [ui/yarn.lock](v2.14.0-rc5/argocd-test.html) | 0 | 0 | 1 | 0 | -| [dex:v2.41.1](v2.14.0-rc5/ghcr.io_dexidp_dex_v2.41.1.html) | 0 | 0 | 0 | 2 | -| [haproxy:2.6.17-alpine](v2.14.0-rc5/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html) | 0 | 0 | 2 | 4 | -| [redis:7.0.15-alpine](v2.14.0-rc5/public.ecr.aws_docker_library_redis_7.0.15-alpine.html) | 0 | 0 | 0 | 1 | -| [argocd:v2.14.0-rc5](v2.14.0-rc5/quay.io_argoproj_argocd_v2.14.0-rc5.html) | 0 | 0 | 6 | 10 | -| [redis:7.0.15-alpine](v2.14.0-rc5/redis_7.0.15-alpine.html) | 0 | 0 | 0 | 1 | -| [install.yaml](v2.14.0-rc5/argocd-iac-install.html) | - | - | - | - | -| [namespace-install.yaml](v2.14.0-rc5/argocd-iac-namespace-install.html) | - | - | - | - | +| [go.mod](v2.14.0-rc7/argocd-test.html) | 0 | 1 | 7 | 0 | +| [ui/yarn.lock](v2.14.0-rc7/argocd-test.html) | 0 | 0 | 1 | 0 | +| [dex:v2.41.1](v2.14.0-rc7/ghcr.io_dexidp_dex_v2.41.1.html) | 0 | 0 | 0 | 2 | +| [haproxy:2.6.17-alpine](v2.14.0-rc7/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html) | 0 | 0 | 2 | 4 | +| [redis:7.0.15-alpine](v2.14.0-rc7/public.ecr.aws_docker_library_redis_7.0.15-alpine.html) | 0 | 0 | 0 | 1 | +| [argocd:v2.14.0-rc7](v2.14.0-rc7/quay.io_argoproj_argocd_v2.14.0-rc7.html) | 0 | 0 | 4 | 10 | +| [redis:7.0.15-alpine](v2.14.0-rc7/redis_7.0.15-alpine.html) | 0 | 0 | 0 | 1 | +| [install.yaml](v2.14.0-rc7/argocd-iac-install.html) | - | - | - | - | +| [namespace-install.yaml](v2.14.0-rc7/argocd-iac-namespace-install.html) | - | - | - | - | -### v2.13.3 +### v2.13.4 | | Critical | High | Medium | Low | |---:|:--------:|:----:|:------:|:---:| -| [go.mod](v2.13.3/argocd-test.html) | 1 | 2 | 8 | 2 | -| [ui/yarn.lock](v2.13.3/argocd-test.html) | 0 | 0 | 1 | 0 | -| [dex:v2.41.1](v2.13.3/ghcr.io_dexidp_dex_v2.41.1.html) | 0 | 0 | 0 | 2 | -| [haproxy:2.6.17-alpine](v2.13.3/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html) | 0 | 0 | 2 | 4 | -| [redis:7.0.15-alpine](v2.13.3/public.ecr.aws_docker_library_redis_7.0.15-alpine.html) | 0 | 0 | 0 | 1 | -| [argocd:v2.13.3](v2.13.3/quay.io_argoproj_argocd_v2.13.3.html) | 0 | 0 | 6 | 10 | -| [redis:7.0.15-alpine](v2.13.3/redis_7.0.15-alpine.html) | 0 | 0 | 0 | 1 | -| [install.yaml](v2.13.3/argocd-iac-install.html) | - | - | - | - | -| [namespace-install.yaml](v2.13.3/argocd-iac-namespace-install.html) | - | - | - | - | +| [go.mod](v2.13.4/argocd-test.html) | 0 | 0 | 7 | 2 | +| [ui/yarn.lock](v2.13.4/argocd-test.html) | 0 | 0 | 1 | 0 | +| [dex:v2.41.1](v2.13.4/ghcr.io_dexidp_dex_v2.41.1.html) | 0 | 0 | 0 | 2 | +| [haproxy:2.6.17-alpine](v2.13.4/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html) | 0 | 0 | 2 | 4 | +| [redis:7.0.15-alpine](v2.13.4/public.ecr.aws_docker_library_redis_7.0.15-alpine.html) | 0 | 0 | 0 | 1 | +| [argocd:v2.13.4](v2.13.4/quay.io_argoproj_argocd_v2.13.4.html) | 0 | 0 | 4 | 10 | +| [redis:7.0.15-alpine](v2.13.4/redis_7.0.15-alpine.html) | 0 | 0 | 0 | 1 | +| [install.yaml](v2.13.4/argocd-iac-install.html) | - | - | - | - | +| [namespace-install.yaml](v2.13.4/argocd-iac-namespace-install.html) | - | - | - | - | -### v2.12.9 +### v2.12.10 | | Critical | High | Medium | Low | |---:|:--------:|:----:|:------:|:---:| -| [go.mod](v2.12.9/argocd-test.html) | 1 | 2 | 9 | 2 | -| [ui/yarn.lock](v2.12.9/argocd-test.html) | 0 | 0 | 1 | 0 | -| [dex:v2.38.0](v2.12.9/ghcr.io_dexidp_dex_v2.38.0.html) | 0 | 0 | 6 | 7 | -| [haproxy:2.6.17-alpine](v2.12.9/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html) | 0 | 0 | 2 | 4 | -| [redis:7.0.15-alpine](v2.12.9/public.ecr.aws_docker_library_redis_7.0.15-alpine.html) | 0 | 0 | 0 | 1 | -| [argocd:v2.12.9](v2.12.9/quay.io_argoproj_argocd_v2.12.9.html) | 0 | 0 | 6 | 10 | -| [redis:7.0.15-alpine](v2.12.9/redis_7.0.15-alpine.html) | 0 | 0 | 0 | 1 | -| [install.yaml](v2.12.9/argocd-iac-install.html) | - | - | - | - | -| [namespace-install.yaml](v2.12.9/argocd-iac-namespace-install.html) | - | - | - | - | +| [go.mod](v2.12.10/argocd-test.html) | 0 | 0 | 8 | 2 | +| [ui/yarn.lock](v2.12.10/argocd-test.html) | 0 | 0 | 1 | 0 | +| [dex:v2.38.0](v2.12.10/ghcr.io_dexidp_dex_v2.38.0.html) | 0 | 0 | 6 | 7 | +| [haproxy:2.6.17-alpine](v2.12.10/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html) | 0 | 0 | 2 | 4 | +| [redis:7.0.15-alpine](v2.12.10/public.ecr.aws_docker_library_redis_7.0.15-alpine.html) | 0 | 0 | 0 | 1 | +| [argocd:v2.12.10](v2.12.10/quay.io_argoproj_argocd_v2.12.10.html) | 0 | 0 | 4 | 10 | +| [redis:7.0.15-alpine](v2.12.10/redis_7.0.15-alpine.html) | 0 | 0 | 0 | 1 | +| [install.yaml](v2.12.10/argocd-iac-install.html) | - | - | - | - | +| [namespace-install.yaml](v2.12.10/argocd-iac-namespace-install.html) | - | - | - | - | -### v2.11.12 +### v2.11.13 | | Critical | High | Medium | Low | |---:|:--------:|:----:|:------:|:---:| -| [go.mod](v2.11.12/argocd-test.html) | 1 | 3 | 10 | 2 | -| [ui/yarn.lock](v2.11.12/argocd-test.html) | 0 | 0 | 1 | 0 | -| [dex:v2.38.0](v2.11.12/ghcr.io_dexidp_dex_v2.38.0.html) | 0 | 0 | 6 | 7 | -| [haproxy:2.6.14-alpine](v2.11.12/haproxy_2.6.14-alpine.html) | 0 | 1 | 7 | 7 | -| [argocd:v2.11.12](v2.11.12/quay.io_argoproj_argocd_v2.11.12.html) | 0 | 0 | 7 | 21 | -| [redis:7.0.15-alpine](v2.11.12/redis_7.0.15-alpine.html) | 0 | 0 | 0 | 1 | -| [install.yaml](v2.11.12/argocd-iac-install.html) | - | - | - | - | -| [namespace-install.yaml](v2.11.12/argocd-iac-namespace-install.html) | - | - | - | - | +| [go.mod](v2.11.13/argocd-test.html) | 0 | 1 | 9 | 2 | +| [ui/yarn.lock](v2.11.13/argocd-test.html) | 0 | 0 | 1 | 0 | +| [dex:v2.38.0](v2.11.13/ghcr.io_dexidp_dex_v2.38.0.html) | 0 | 0 | 6 | 7 | +| [haproxy:2.6.14-alpine](v2.11.13/haproxy_2.6.14-alpine.html) | 0 | 1 | 7 | 7 | +| [argocd:v2.11.13](v2.11.13/quay.io_argoproj_argocd_v2.11.13.html) | 0 | 0 | 4 | 19 | +| [redis:7.0.15-alpine](v2.11.13/redis_7.0.15-alpine.html) | 0 | 0 | 0 | 1 | +| [install.yaml](v2.11.13/argocd-iac-install.html) | - | - | - | - | +| [namespace-install.yaml](v2.11.13/argocd-iac-namespace-install.html) | - | - | - | - | diff --git a/docs/snyk/master/argocd-iac-install.html b/docs/snyk/master/argocd-iac-install.html index 6fd06325b45f9..69f72697b8bf4 100644 --- a/docs/snyk/master/argocd-iac-install.html +++ b/docs/snyk/master/argocd-iac-install.html @@ -456,7 +456,7 @@

Snyk test report

-

January 19th 2025, 12:21:30 am (UTC+00:00)

+

February 2nd 2025, 12:21:10 am (UTC+00:00)

Scanned the following path: @@ -933,7 +933,7 @@

Container could be running with outdated image

  • - Line number: 25257 + Line number: 25263
  • @@ -1339,7 +1339,7 @@

    Container has no CPU limit

  • - Line number: 25257 + Line number: 25263
  • @@ -1455,7 +1455,7 @@

    Container has no CPU limit

  • - Line number: 25344 + Line number: 25350
  • @@ -1513,7 +1513,7 @@

    Container has no CPU limit

  • - Line number: 25742 + Line number: 25754
  • @@ -2127,7 +2127,7 @@

    Container is running without memory limit

  • - Line number: 25257 + Line number: 25263
  • @@ -2243,7 +2243,7 @@

    Container is running without memory limit

  • - Line number: 25344 + Line number: 25350
  • @@ -2301,7 +2301,7 @@

    Container is running without memory limit

  • - Line number: 25742 + Line number: 25754
  • @@ -2693,7 +2693,7 @@

    Container's or Pod's UID could clash with hos
  • - Line number: 25264 + Line number: 25270
  • @@ -2749,7 +2749,7 @@

    Container's or Pod's UID could clash with hos
  • - Line number: 25230 + Line number: 25236
  • @@ -2805,7 +2805,7 @@

    Container's or Pod's UID could clash with hos
  • - Line number: 25641 + Line number: 25653
  • @@ -2861,7 +2861,7 @@

    Container's or Pod's UID could clash with hos
  • - Line number: 25993 + Line number: 26011
  • diff --git a/docs/snyk/master/argocd-iac-namespace-install.html b/docs/snyk/master/argocd-iac-namespace-install.html index d562802d79581..a0fb3178f149a 100644 --- a/docs/snyk/master/argocd-iac-namespace-install.html +++ b/docs/snyk/master/argocd-iac-namespace-install.html @@ -456,7 +456,7 @@

    Snyk test report

    -

    January 19th 2025, 12:21:41 am (UTC+00:00)

    +

    February 2nd 2025, 12:21:20 am (UTC+00:00)

    Scanned the following path: @@ -887,7 +887,7 @@

    Container could be running with outdated image

  • - Line number: 1487 + Line number: 1493
  • @@ -1293,7 +1293,7 @@

    Container has no CPU limit

  • - Line number: 1487 + Line number: 1493
  • @@ -1409,7 +1409,7 @@

    Container has no CPU limit

  • - Line number: 1574 + Line number: 1580
  • @@ -1467,7 +1467,7 @@

    Container has no CPU limit

  • - Line number: 1972 + Line number: 1984
  • @@ -2081,7 +2081,7 @@

    Container is running without memory limit

  • - Line number: 1487 + Line number: 1493
  • @@ -2197,7 +2197,7 @@

    Container is running without memory limit

  • - Line number: 1574 + Line number: 1580
  • @@ -2255,7 +2255,7 @@

    Container is running without memory limit

  • - Line number: 1972 + Line number: 1984
  • @@ -2647,7 +2647,7 @@

    Container's or Pod's UID could clash with hos
  • - Line number: 1494 + Line number: 1500
  • @@ -2703,7 +2703,7 @@

    Container's or Pod's UID could clash with hos
  • - Line number: 1460 + Line number: 1466
  • @@ -2759,7 +2759,7 @@

    Container's or Pod's UID could clash with hos
  • - Line number: 1871 + Line number: 1883
  • @@ -2815,7 +2815,7 @@

    Container's or Pod's UID could clash with hos
  • - Line number: 2223 + Line number: 2241
  • diff --git a/docs/snyk/master/argocd-test.html b/docs/snyk/master/argocd-test.html index fe23608bbe5b5..f8af37d95f1d2 100644 --- a/docs/snyk/master/argocd-test.html +++ b/docs/snyk/master/argocd-test.html @@ -456,7 +456,7 @@

    Snyk test report

    -

    January 19th 2025, 12:19:14 am (UTC+00:00)

    +

    February 2nd 2025, 12:18:51 am (UTC+00:00)

    Scanned the following paths: diff --git a/docs/snyk/master/ghcr.io_dexidp_dex_v2.41.1.html b/docs/snyk/master/ghcr.io_dexidp_dex_v2.41.1.html index 8fddf829a8a4f..eab39b66e11b8 100644 --- a/docs/snyk/master/ghcr.io_dexidp_dex_v2.41.1.html +++ b/docs/snyk/master/ghcr.io_dexidp_dex_v2.41.1.html @@ -456,7 +456,7 @@

    Snyk test report

    -

    January 19th 2025, 12:19:23 am (UTC+00:00)

    +

    February 2nd 2025, 12:19:00 am (UTC+00:00)

    Scanned the following paths: diff --git a/docs/snyk/master/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html b/docs/snyk/master/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html index 91bf995683338..063ad6dad48b2 100644 --- a/docs/snyk/master/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html +++ b/docs/snyk/master/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html @@ -456,7 +456,7 @@

    Snyk test report

    -

    January 19th 2025, 12:19:29 am (UTC+00:00)

    +

    February 2nd 2025, 12:19:06 am (UTC+00:00)

    Scanned the following path: diff --git a/docs/snyk/master/public.ecr.aws_docker_library_redis_7.0.15-alpine.html b/docs/snyk/master/public.ecr.aws_docker_library_redis_7.0.15-alpine.html index bc3c045d022fd..4104d73d3c510 100644 --- a/docs/snyk/master/public.ecr.aws_docker_library_redis_7.0.15-alpine.html +++ b/docs/snyk/master/public.ecr.aws_docker_library_redis_7.0.15-alpine.html @@ -456,7 +456,7 @@

    Snyk test report

    -

    January 19th 2025, 12:19:35 am (UTC+00:00)

    +

    February 2nd 2025, 12:19:12 am (UTC+00:00)

    Scanned the following paths: diff --git a/docs/snyk/master/quay.io_argoproj_argocd_latest.html b/docs/snyk/master/quay.io_argoproj_argocd_latest.html index d264ecdd7dc1a..257cb0a8b7a28 100644 --- a/docs/snyk/master/quay.io_argoproj_argocd_latest.html +++ b/docs/snyk/master/quay.io_argoproj_argocd_latest.html @@ -7,7 +7,7 @@ Snyk test report - + @@ -456,7 +456,7 @@

    Snyk test report

    -

    January 19th 2025, 12:19:55 am (UTC+00:00)

    +

    February 2nd 2025, 12:19:34 am (UTC+00:00)

    Scanned the following paths: @@ -470,9 +470,9 @@

    Snyk test report

    -
    22 known vulnerabilities
    -
    105 vulnerable dependency paths
    -
    2384 dependencies
    +
    23 known vulnerabilities
    +
    106 vulnerable dependency paths
    +
    2382 dependencies
    @@ -480,89 +480,6 @@

    Snyk test report

    -
    -

    Denial of Service (DoS)

    -
    - -
    - high severity -
    - -
    - -
      -
    • - Manifest file: quay.io/argoproj/argocd:latest/helm/v3 › /usr/local/bin/helm -
    • -
    • - Package Manager: golang -
    • -
    • - Vulnerable module: - - golang.org/x/net/html -
    • - -
    • Introduced through: - - helm.sh/helm/v3@* and golang.org/x/net/html@v0.26.0 - -
    • -
    - -
    - - -

    Detailed paths

    - -
      -
    • - Introduced through: - helm.sh/helm/v3@* - › - golang.org/x/net/html@v0.26.0 - - - -
    • -
    - -
    - -
    - -

    Overview

    -

    golang.org/x/net/html is a package that implements an HTML5-compliant tokenizer and parser.

    -

    Affected versions of this package are vulnerable to Denial of Service (DoS) through the functions parseDoctype, htmlIntegrationPoint, inBodyIM and inTableIM due to inefficient usage of the method strings.ToLower combining with the == operator to convert strings to lowercase and then comparing them.

    -

    An attacker can cause the application to slow down significantly by crafting inputs that are processed non-linearly.

    -

    Details

    -

    Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.

    -

    Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.

    -

    One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.

    -

    When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.

    -

    Two common types of DoS vulnerabilities:

    -
      -
    • High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.

      -
    • -
    • Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm ws package

      -
    • -
    -

    Remediation

    -

    Upgrade golang.org/x/net/html to version 0.33.0 or higher.

    -

    References

    - - -
    - - - -

    CVE-2024-56433

    @@ -728,7 +645,7 @@

    Detailed paths

    Introduced through: docker-image|quay.io/argoproj/argocd@latest › - util-linux@2.39.3-9ubuntu6.1 + util-linux@2.39.3-9ubuntu6.2 › pam/libpam0g@1.5.3-5ubuntu5.1 @@ -967,7 +884,7 @@

    Detailed paths

    Introduced through: docker-image|quay.io/argoproj/argocd@latest › - util-linux@2.39.3-9ubuntu6.1 + util-linux@2.39.3-9ubuntu6.2 › pam/libpam0g@1.5.3-5ubuntu5.1 @@ -1770,6 +1687,144 @@

    Detailed paths

    More about this vulnerability

    +
    +
    +

    Generation of Error Message Containing Sensitive Information

    +
    + +
    + medium severity +
    + +
    + +
      +
    • + Manifest file: quay.io/argoproj/argocd:latest/argoproj/argo-cd/v3 › /usr/local/bin/argocd +
    • +
    • + Package Manager: golang +
    • +
    • + Vulnerable module: + + github.com/argoproj/gitops-engine/pkg/utils/kube +
    • + +
    • Introduced through: + + github.com/argoproj/argo-cd/v3@* and github.com/argoproj/gitops-engine/pkg/utils/kube@v0.7.1-0.20250129155113-7e21b91e9d0f + +
    • +
    + +
    + + +

    Detailed paths

    + +
      +
    • + Introduced through: + github.com/argoproj/argo-cd/v3@* + › + github.com/argoproj/gitops-engine/pkg/utils/kube@v0.7.1-0.20250129155113-7e21b91e9d0f + + + +
    • +
    + +
    + +
    + +

    Overview

    +

    Affected versions of this package are vulnerable to Generation of Error Message Containing Sensitive Information when syncing invalid Kubernetes Secret resources. An attacker with write access to the repository can expose secret values by committing an invalid Secret to repository and triggering a Sync, which then become visible to any user with read access to Argo CD.

    +

    Remediation

    +

    A fix was pushed into the master branch but not yet published.

    +

    References

    + + +
    + + + +
    +
    +

    Generation of Error Message Containing Sensitive Information

    +
    + +
    + medium severity +
    + +
    + +
      +
    • + Manifest file: quay.io/argoproj/argocd:latest/argoproj/argo-cd/v3 › /usr/local/bin/argocd +
    • +
    • + Package Manager: golang +
    • +
    • + Vulnerable module: + + github.com/argoproj/gitops-engine/pkg/diff +
    • + +
    • Introduced through: + + github.com/argoproj/argo-cd/v3@* and github.com/argoproj/gitops-engine/pkg/diff@v0.7.1-0.20250129155113-7e21b91e9d0f + +
    • +
    + +
    + + +

    Detailed paths

    + +
      +
    • + Introduced through: + github.com/argoproj/argo-cd/v3@* + › + github.com/argoproj/gitops-engine/pkg/diff@v0.7.1-0.20250129155113-7e21b91e9d0f + + + +
    • +
    + +
    + +
    + +

    Overview

    +

    Affected versions of this package are vulnerable to Generation of Error Message Containing Sensitive Information when syncing invalid Kubernetes Secret resources. An attacker with write access to the repository can expose secret values by committing an invalid Secret to repository and triggering a Sync, which then become visible to any user with read access to Argo CD.

    +

    Remediation

    +

    A fix was pushed into the master branch but not yet published.

    +

    References

    + + +
    + + +

    Release of Invalid Pointer or Reference

    @@ -2243,7 +2298,7 @@

    Detailed paths

    › pam/libpam-modules@1.5.3-5ubuntu5.1 › - systemd/libsystemd0@255.4-1ubuntu8.4 + systemd/libsystemd0@255.4-1ubuntu8.5 › libgcrypt20@1.10.3-2build1 diff --git a/docs/snyk/master/redis_7.0.15-alpine.html b/docs/snyk/master/redis_7.0.15-alpine.html index ff5cc0f44035d..27e59d89c3972 100644 --- a/docs/snyk/master/redis_7.0.15-alpine.html +++ b/docs/snyk/master/redis_7.0.15-alpine.html @@ -456,7 +456,7 @@

    Snyk test report

    -

    January 19th 2025, 12:20:00 am (UTC+00:00)

    +

    February 2nd 2025, 12:19:38 am (UTC+00:00)

    Scanned the following paths: diff --git a/docs/snyk/v2.11.12/argocd-iac-install.html b/docs/snyk/v2.11.13/argocd-iac-install.html similarity index 99% rename from docs/snyk/v2.11.12/argocd-iac-install.html rename to docs/snyk/v2.11.13/argocd-iac-install.html index 69cb61e1b9875..def470d0590d8 100644 --- a/docs/snyk/v2.11.12/argocd-iac-install.html +++ b/docs/snyk/v2.11.13/argocd-iac-install.html @@ -456,7 +456,7 @@

    Snyk test report

    -

    January 19th 2025, 12:31:47 am (UTC+00:00)

    +

    February 2nd 2025, 12:31:28 am (UTC+00:00)

    Scanned the following path: diff --git a/docs/snyk/v2.11.12/argocd-iac-namespace-install.html b/docs/snyk/v2.11.13/argocd-iac-namespace-install.html similarity index 99% rename from docs/snyk/v2.11.12/argocd-iac-namespace-install.html rename to docs/snyk/v2.11.13/argocd-iac-namespace-install.html index b8318e94ac182..4a366d43e32c0 100644 --- a/docs/snyk/v2.11.12/argocd-iac-namespace-install.html +++ b/docs/snyk/v2.11.13/argocd-iac-namespace-install.html @@ -456,7 +456,7 @@

    Snyk test report

    -

    January 19th 2025, 12:31:59 am (UTC+00:00)

    +

    February 2nd 2025, 12:31:37 am (UTC+00:00)

    Scanned the following path: diff --git a/docs/snyk/v2.11.12/argocd-test.html b/docs/snyk/v2.11.13/argocd-test.html similarity index 77% rename from docs/snyk/v2.11.12/argocd-test.html rename to docs/snyk/v2.11.13/argocd-test.html index c94661988dcdd..8561c034eb9cc 100644 --- a/docs/snyk/v2.11.12/argocd-test.html +++ b/docs/snyk/v2.11.13/argocd-test.html @@ -7,7 +7,7 @@ Snyk test report - + @@ -456,7 +456,7 @@

    Snyk test report

    -

    January 19th 2025, 12:29:42 am (UTC+00:00)

    +

    February 2nd 2025, 12:29:26 am (UTC+00:00)

    Scanned the following paths: @@ -467,9 +467,9 @@

    Snyk test report

    -
    17 known vulnerabilities
    -
    1176 vulnerable dependency paths
    -
    2041 dependencies
    +
    13 known vulnerabilities
    +
    936 vulnerable dependency paths
    +
    2046 dependencies
    @@ -477,277 +477,6 @@

    Snyk test report

    -
    -

    Incorrect Implementation of Authentication Algorithm

    -
    - -
    - critical severity -
    - -
    - -
      -
    • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
    • -
    • - Package Manager: golang -
    • -
    • - Vulnerable module: - - golang.org/x/crypto/ssh -
    • - -
    • Introduced through: - - github.com/argoproj/argo-cd/v2@0.0.0 and golang.org/x/crypto/ssh@0.19.0 - -
    • -
    - -
    - - -

    Detailed paths

    - -
      -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - golang.org/x/crypto/ssh@0.19.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - golang.org/x/crypto/ssh/knownhosts@0.19.0 - › - golang.org/x/crypto/ssh@0.19.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - golang.org/x/crypto/ssh@0.19.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/skeema/knownhosts@1.2.2 - › - golang.org/x/crypto/ssh@0.19.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - golang.org/x/crypto/ssh@0.19.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/skeema/knownhosts@1.2.2 - › - golang.org/x/crypto/ssh/knownhosts@0.19.0 - › - golang.org/x/crypto/ssh@0.19.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/skeema/knownhosts@1.2.2 - › - golang.org/x/crypto/ssh@0.19.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/xanzy/ssh-agent@0.3.3 - › - golang.org/x/crypto/ssh/agent@0.19.0 - › - golang.org/x/crypto/ssh@0.19.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - golang.org/x/crypto/ssh@0.19.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/skeema/knownhosts@1.2.2 - › - golang.org/x/crypto/ssh/knownhosts@0.19.0 - › - golang.org/x/crypto/ssh@0.19.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/skeema/knownhosts@1.2.2 - › - golang.org/x/crypto/ssh@0.19.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/xanzy/ssh-agent@0.3.3 - › - golang.org/x/crypto/ssh/agent@0.19.0 - › - golang.org/x/crypto/ssh@0.19.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/skeema/knownhosts@1.2.2 - › - golang.org/x/crypto/ssh/knownhosts@0.19.0 - › - golang.org/x/crypto/ssh@0.19.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/xanzy/ssh-agent@0.3.3 - › - golang.org/x/crypto/ssh/agent@0.19.0 - › - golang.org/x/crypto/ssh@0.19.0 - - - -
    • -
    - -
    - -
    - -

    Overview

    -

    golang.org/x/crypto/ssh is a SSH client and server

    -

    Affected versions of this package are vulnerable to Incorrect Implementation of Authentication Algorithm when the key passed in the last call before a connection is established is assumed to be the key used for authentication. It is not necessarily the authentication key in use, and this allows attackers who can control the key cache by making their own carefully-timed connections to bypass authorization with subsequent legitimate ServerConfig.PublicKeyCallback callbacks.

    -

    Note: The assumed caching behavior of this callback is not documented and is therefore considered human error, but the project maintainers have observed reliance on it for authorization decisions in production. In fact, the assumption is negated in the documentation, which states "A call to this function does not guarantee that the key offered is in fact used to authenticate." The behavior after upgrading still allows the possibility of an attacker forcing their own key to be the one in the cache when the callback is invoked if the client is using a different authentication method such as PasswordCallback, KeyboardInteractiveCallback, or NoClientAuth. It is therefore recommended to rely on the return values of the connection itself, found in ServerConn.Permissions for further authorization steps.

    -

    Remediation

    -

    Upgrade golang.org/x/crypto/ssh to version 0.31.0 or higher.

    -

    References

    - - -
    - - - -

    Denial of Service (DoS)

    @@ -1025,7 +754,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 › @@ -1103,7 +832,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 › @@ -1129,7 +858,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admission/install@1.26.11 › @@ -1142,7 +871,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admissionregistration/install@1.26.11 › @@ -1155,7 +884,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/apps/install@1.26.11 › @@ -1168,7 +897,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authentication/install@1.26.11 › @@ -1181,7 +910,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authorization/install@1.26.11 › @@ -1194,7 +923,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/autoscaling/install@1.26.11 › @@ -1207,7 +936,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/batch/install@1.26.11 › @@ -1220,7 +949,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/certificates/install@1.26.11 › @@ -1233,7 +962,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/coordination/install@1.26.11 › @@ -1246,7 +975,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/core/install@1.26.11 › @@ -1259,7 +988,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/discovery/install@1.26.11 › @@ -1272,7 +1001,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/events/install@1.26.11 › @@ -1285,7 +1014,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/extensions/install@1.26.11 › @@ -1298,7 +1027,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/flowcontrol/install@1.26.11 › @@ -1311,7 +1040,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/imagepolicy/install@1.26.11 › @@ -1324,7 +1053,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/networking/install@1.26.11 › @@ -1337,7 +1066,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/node/install@1.26.11 › @@ -1350,7 +1079,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/policy/install@1.26.11 › @@ -1363,7 +1092,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/rbac/install@1.26.11 › @@ -1376,7 +1105,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/scheduling/install@1.26.11 › @@ -1389,7 +1118,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -1454,7 +1183,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/scheme@0.26.11 › @@ -1779,7 +1508,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/runtime@0.26.11 › @@ -1805,7 +1534,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 › @@ -1818,7 +1547,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 › @@ -1831,7 +1560,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/testing@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/testing@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 › @@ -1900,7 +1629,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 › @@ -1915,7 +1644,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 › @@ -1930,7 +1659,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/testing@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/testing@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 › @@ -2005,7 +1734,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 › @@ -2185,7 +1914,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 › @@ -2200,7 +1929,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 › @@ -2215,7 +1944,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/testing@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/testing@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 › @@ -2365,7 +2094,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/util/managedfields@0.26.11 › @@ -2500,9 +2229,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admission/install@1.26.11 › @@ -2515,9 +2244,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admission/install@1.26.11 › @@ -2530,9 +2259,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admissionregistration/install@1.26.11 › @@ -2545,9 +2274,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admissionregistration/install@1.26.11 › @@ -2560,9 +2289,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/apps/install@1.26.11 › @@ -2575,9 +2304,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/apps/install@1.26.11 › @@ -2590,9 +2319,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authentication/install@1.26.11 › @@ -2605,9 +2334,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authentication/install@1.26.11 › @@ -2620,9 +2349,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authorization/install@1.26.11 › @@ -2635,9 +2364,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authorization/install@1.26.11 › @@ -2650,9 +2379,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/autoscaling/install@1.26.11 › @@ -2665,9 +2394,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/autoscaling/install@1.26.11 › @@ -2680,9 +2409,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/batch/install@1.26.11 › @@ -2695,9 +2424,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/batch/install@1.26.11 › @@ -2710,9 +2439,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/certificates/install@1.26.11 › @@ -2725,9 +2454,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/certificates/install@1.26.11 › @@ -2740,9 +2469,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/coordination/install@1.26.11 › @@ -2755,9 +2484,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/coordination/install@1.26.11 › @@ -2770,9 +2499,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/core/install@1.26.11 › @@ -2785,9 +2514,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/core/install@1.26.11 › @@ -2800,9 +2529,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/discovery/install@1.26.11 › @@ -2815,9 +2544,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/discovery/install@1.26.11 › @@ -2830,9 +2559,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/events/install@1.26.11 › @@ -2845,9 +2574,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/events/install@1.26.11 › @@ -2860,9 +2589,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/extensions/install@1.26.11 › @@ -2875,9 +2604,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/extensions/install@1.26.11 › @@ -2890,9 +2619,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/flowcontrol/install@1.26.11 › @@ -2905,9 +2634,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/flowcontrol/install@1.26.11 › @@ -2920,9 +2649,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/imagepolicy/install@1.26.11 › @@ -2935,9 +2664,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/imagepolicy/install@1.26.11 › @@ -2950,9 +2679,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/networking/install@1.26.11 › @@ -2965,9 +2694,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/networking/install@1.26.11 › @@ -2980,9 +2709,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/node/install@1.26.11 › @@ -2995,9 +2724,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/node/install@1.26.11 › @@ -3010,9 +2739,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/policy/install@1.26.11 › @@ -3025,9 +2754,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/policy/install@1.26.11 › @@ -3040,9 +2769,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/rbac/install@1.26.11 › @@ -3055,9 +2784,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/rbac/install@1.26.11 › @@ -3070,9 +2799,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/scheduling/install@1.26.11 › @@ -3085,9 +2814,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/scheduling/install@1.26.11 › @@ -3100,9 +2829,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -3115,9 +2844,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -3205,7 +2934,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -3220,7 +2949,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -3235,7 +2964,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -3250,9 +2979,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/scheme@0.26.11 › @@ -3265,7 +2994,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -3280,9 +3009,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/scheme@0.26.11 › @@ -3295,9 +3024,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/scheme@0.26.11 › @@ -3310,7 +3039,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -3325,7 +3054,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › k8s.io/client-go/tools/watch@0.26.11 › @@ -3385,7 +3114,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -3400,7 +3129,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -3415,7 +3144,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -3790,7 +3519,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 › @@ -3880,7 +3609,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/util/strategicpatch@0.26.11 › @@ -3940,7 +3669,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/util/strategicpatch@0.26.11 › @@ -4025,11 +3754,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 › @@ -4229,7 +3958,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/util/strategicpatch@0.26.11 › @@ -4246,7 +3975,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 › @@ -4450,7 +4179,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 › @@ -4467,7 +4196,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 › @@ -4484,7 +4213,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/testing@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/testing@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 › @@ -4569,7 +4298,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 › @@ -4841,7 +4570,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -4858,7 +4587,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -4875,7 +4604,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -4977,11 +4706,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admission/install@1.26.11 › @@ -4994,11 +4723,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admission/install@1.26.11 › @@ -5011,11 +4740,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admission/install@1.26.11 › @@ -5028,11 +4757,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admission/install@1.26.11 › @@ -5045,11 +4774,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admissionregistration/install@1.26.11 › @@ -5062,11 +4791,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admissionregistration/install@1.26.11 › @@ -5079,11 +4808,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admissionregistration/install@1.26.11 › @@ -5096,11 +4825,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admissionregistration/install@1.26.11 › @@ -5113,7 +4842,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -5130,11 +4859,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/apps/install@1.26.11 › @@ -5147,11 +4876,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/apps/install@1.26.11 › @@ -5164,11 +4893,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/apps/install@1.26.11 › @@ -5181,11 +4910,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/apps/install@1.26.11 › @@ -5198,11 +4927,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authentication/install@1.26.11 › @@ -5215,11 +4944,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authentication/install@1.26.11 › @@ -5232,11 +4961,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authentication/install@1.26.11 › @@ -5249,11 +4978,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authentication/install@1.26.11 › @@ -5266,11 +4995,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authorization/install@1.26.11 › @@ -5283,11 +5012,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authorization/install@1.26.11 › @@ -5300,11 +5029,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authorization/install@1.26.11 › @@ -5317,11 +5046,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authorization/install@1.26.11 › @@ -5334,11 +5063,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/autoscaling/install@1.26.11 › @@ -5351,11 +5080,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/autoscaling/install@1.26.11 › @@ -5368,11 +5097,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/autoscaling/install@1.26.11 › @@ -5385,11 +5114,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/autoscaling/install@1.26.11 › @@ -5402,11 +5131,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/batch/install@1.26.11 › @@ -5419,11 +5148,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/batch/install@1.26.11 › @@ -5436,11 +5165,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/batch/install@1.26.11 › @@ -5453,11 +5182,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/batch/install@1.26.11 › @@ -5470,11 +5199,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/certificates/install@1.26.11 › @@ -5487,11 +5216,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/certificates/install@1.26.11 › @@ -5504,11 +5233,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/certificates/install@1.26.11 › @@ -5521,11 +5250,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/certificates/install@1.26.11 › @@ -5538,11 +5267,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/coordination/install@1.26.11 › @@ -5555,11 +5284,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/coordination/install@1.26.11 › @@ -5572,11 +5301,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/coordination/install@1.26.11 › @@ -5589,11 +5318,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/coordination/install@1.26.11 › @@ -5606,11 +5335,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/core/install@1.26.11 › @@ -5623,11 +5352,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/core/install@1.26.11 › @@ -5640,11 +5369,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/core/install@1.26.11 › @@ -5657,11 +5386,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/core/install@1.26.11 › @@ -5674,11 +5403,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/discovery/install@1.26.11 › @@ -5691,11 +5420,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/discovery/install@1.26.11 › @@ -5708,11 +5437,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/discovery/install@1.26.11 › @@ -5725,11 +5454,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/discovery/install@1.26.11 › @@ -5742,11 +5471,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/events/install@1.26.11 › @@ -5759,11 +5488,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/events/install@1.26.11 › @@ -5776,11 +5505,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/events/install@1.26.11 › @@ -5793,11 +5522,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/events/install@1.26.11 › @@ -5810,11 +5539,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/extensions/install@1.26.11 › @@ -5827,11 +5556,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/extensions/install@1.26.11 › @@ -5844,11 +5573,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/extensions/install@1.26.11 › @@ -5861,11 +5590,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/extensions/install@1.26.11 › @@ -5878,11 +5607,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/flowcontrol/install@1.26.11 › @@ -5895,11 +5624,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/flowcontrol/install@1.26.11 › @@ -5912,11 +5641,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/flowcontrol/install@1.26.11 › @@ -5929,11 +5658,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/flowcontrol/install@1.26.11 › @@ -5946,11 +5675,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/imagepolicy/install@1.26.11 › @@ -5963,11 +5692,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/imagepolicy/install@1.26.11 › @@ -5980,11 +5709,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/imagepolicy/install@1.26.11 › @@ -5997,11 +5726,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/imagepolicy/install@1.26.11 › @@ -6014,11 +5743,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/networking/install@1.26.11 › @@ -6031,11 +5760,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/networking/install@1.26.11 › @@ -6048,11 +5777,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/networking/install@1.26.11 › @@ -6065,11 +5794,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/networking/install@1.26.11 › @@ -6082,11 +5811,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/node/install@1.26.11 › @@ -6099,11 +5828,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/node/install@1.26.11 › @@ -6116,11 +5845,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/node/install@1.26.11 › @@ -6133,11 +5862,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/node/install@1.26.11 › @@ -6150,11 +5879,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/policy/install@1.26.11 › @@ -6167,11 +5896,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/policy/install@1.26.11 › @@ -6184,11 +5913,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/policy/install@1.26.11 › @@ -6201,11 +5930,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/policy/install@1.26.11 › @@ -6218,11 +5947,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/rbac/install@1.26.11 › @@ -6235,11 +5964,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/rbac/install@1.26.11 › @@ -6252,11 +5981,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/rbac/install@1.26.11 › @@ -6269,11 +5998,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/rbac/install@1.26.11 › @@ -6286,11 +6015,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/scheduling/install@1.26.11 › @@ -6303,11 +6032,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/scheduling/install@1.26.11 › @@ -6320,11 +6049,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/scheduling/install@1.26.11 › @@ -6337,11 +6066,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/scheduling/install@1.26.11 › @@ -6354,11 +6083,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -6371,11 +6100,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -6388,11 +6117,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -6405,11 +6134,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -6626,9 +6355,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -6643,9 +6372,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -6728,7 +6457,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -6745,7 +6474,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -6762,7 +6491,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -6779,9 +6508,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -6796,9 +6525,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -6813,9 +6542,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -6830,7 +6559,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -6847,7 +6576,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -6864,7 +6593,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -6932,7 +6661,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › k8s.io/client-go/tools/watch@0.26.11 › @@ -7391,7 +7120,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset@0.26.11 › @@ -8133,7 +7862,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/util/strategicpatch@0.26.11 › @@ -8494,9 +8223,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -8513,9 +8242,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -8608,9 +8337,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -8627,9 +8356,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -8646,7 +8375,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -8817,13 +8546,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/scheme@0.26.11 › @@ -8836,13 +8565,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/scheme@0.26.11 › @@ -8855,9 +8584,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -8874,9 +8603,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -8893,9 +8622,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -8950,7 +8679,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -8969,7 +8698,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -8988,7 +8717,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -9007,9 +8736,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -9026,9 +8755,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -9045,9 +8774,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -9064,7 +8793,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -9083,7 +8812,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -9102,7 +8831,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -9311,7 +9040,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -9330,7 +9059,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -9349,7 +9078,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -9710,11 +9439,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 › @@ -9929,7 +9658,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -10034,11 +9763,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 › @@ -10517,15 +10246,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admission/install@1.26.11 › @@ -10538,15 +10267,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admission/install@1.26.11 › @@ -10559,15 +10288,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admissionregistration/install@1.26.11 › @@ -10580,15 +10309,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admissionregistration/install@1.26.11 › @@ -10601,11 +10330,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -10622,11 +10351,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -10643,11 +10372,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -10664,11 +10393,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -10685,15 +10414,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/apps/install@1.26.11 › @@ -10706,15 +10435,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/apps/install@1.26.11 › @@ -10727,15 +10456,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authentication/install@1.26.11 › @@ -10748,15 +10477,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authentication/install@1.26.11 › @@ -10769,15 +10498,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authorization/install@1.26.11 › @@ -10790,15 +10519,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authorization/install@1.26.11 › @@ -10811,15 +10540,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/autoscaling/install@1.26.11 › @@ -10832,15 +10561,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/autoscaling/install@1.26.11 › @@ -10853,15 +10582,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/batch/install@1.26.11 › @@ -10874,15 +10603,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/batch/install@1.26.11 › @@ -10895,15 +10624,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/certificates/install@1.26.11 › @@ -10916,15 +10645,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/certificates/install@1.26.11 › @@ -10937,15 +10666,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/coordination/install@1.26.11 › @@ -10958,15 +10687,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/coordination/install@1.26.11 › @@ -10979,15 +10708,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/core/install@1.26.11 › @@ -11000,15 +10729,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/core/install@1.26.11 › @@ -11021,15 +10750,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/discovery/install@1.26.11 › @@ -11042,15 +10771,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/discovery/install@1.26.11 › @@ -11063,15 +10792,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/events/install@1.26.11 › @@ -11084,15 +10813,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/events/install@1.26.11 › @@ -11105,15 +10834,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/extensions/install@1.26.11 › @@ -11126,15 +10855,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/extensions/install@1.26.11 › @@ -11147,15 +10876,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/flowcontrol/install@1.26.11 › @@ -11168,15 +10897,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/flowcontrol/install@1.26.11 › @@ -11189,15 +10918,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/imagepolicy/install@1.26.11 › @@ -11210,15 +10939,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/imagepolicy/install@1.26.11 › @@ -11231,15 +10960,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/networking/install@1.26.11 › @@ -11252,15 +10981,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/networking/install@1.26.11 › @@ -11273,15 +11002,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/node/install@1.26.11 › @@ -11294,15 +11023,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/node/install@1.26.11 › @@ -11315,15 +11044,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/policy/install@1.26.11 › @@ -11336,15 +11065,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/policy/install@1.26.11 › @@ -11357,15 +11086,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/rbac/install@1.26.11 › @@ -11378,15 +11107,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/rbac/install@1.26.11 › @@ -11399,15 +11128,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/scheduling/install@1.26.11 › @@ -11420,15 +11149,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/scheduling/install@1.26.11 › @@ -11441,9 +11170,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -11462,9 +11191,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -11483,15 +11212,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -11504,15 +11233,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -11525,7 +11254,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -11546,7 +11275,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -11567,7 +11296,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -11672,7 +11401,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -11693,13 +11422,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -11714,13 +11443,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -11882,15 +11611,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/scheme@0.26.11 › @@ -11924,9 +11653,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -11945,9 +11674,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -11966,9 +11695,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -11987,13 +11716,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -12008,13 +11737,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -12029,9 +11758,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -12050,9 +11779,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -12071,9 +11800,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -12134,7 +11863,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -12155,7 +11884,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -12176,7 +11905,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -12344,9 +12073,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -12365,9 +12094,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -12470,7 +12199,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -12491,7 +12220,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -12512,7 +12241,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -12785,7 +12514,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -12827,7 +12556,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -12850,7 +12579,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -12873,7 +12602,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -13034,7 +12763,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -13103,7 +12832,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -13126,7 +12855,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -13149,7 +12878,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -13241,7 +12970,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -13264,13 +12993,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -13287,13 +13016,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -13356,17 +13085,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admission/install@1.26.11 › @@ -13379,17 +13108,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/admissionregistration/install@1.26.11 › @@ -13402,17 +13131,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/apps/install@1.26.11 › @@ -13425,17 +13154,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authentication/install@1.26.11 › @@ -13448,17 +13177,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/authorization/install@1.26.11 › @@ -13471,17 +13200,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/autoscaling/install@1.26.11 › @@ -13494,17 +13223,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/batch/install@1.26.11 › @@ -13517,17 +13246,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/certificates/install@1.26.11 › @@ -13540,17 +13269,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/coordination/install@1.26.11 › @@ -13563,17 +13292,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/core/install@1.26.11 › @@ -13586,17 +13315,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/discovery/install@1.26.11 › @@ -13609,17 +13338,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/events/install@1.26.11 › @@ -13632,17 +13361,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/extensions/install@1.26.11 › @@ -13655,17 +13384,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/flowcontrol/install@1.26.11 › @@ -13678,17 +13407,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/imagepolicy/install@1.26.11 › @@ -13701,17 +13430,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/networking/install@1.26.11 › @@ -13724,17 +13453,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/node/install@1.26.11 › @@ -13747,17 +13476,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/policy/install@1.26.11 › @@ -13770,17 +13499,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/rbac/install@1.26.11 › @@ -13793,17 +13522,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/scheduling/install@1.26.11 › @@ -13816,11 +13545,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -13839,11 +13568,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -13862,11 +13591,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -13885,11 +13614,11 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -13908,17 +13637,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -13931,9 +13660,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -13954,9 +13683,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -14069,15 +13798,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -14115,13 +13844,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -14138,13 +13867,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -14184,15 +13913,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -14207,13 +13936,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -14230,13 +13959,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -14253,7 +13982,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -14276,7 +14005,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -14299,7 +14028,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -14345,9 +14074,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -14368,9 +14097,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -14506,9 +14235,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -14529,9 +14258,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -14644,7 +14373,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -14667,7 +14396,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -14690,7 +14419,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -14811,7 +14540,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -14836,7 +14565,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -14861,7 +14590,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -14886,9 +14615,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -14986,15 +14715,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -15036,15 +14765,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -15061,15 +14790,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -15136,15 +14865,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -15211,13 +14940,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -15236,13 +14965,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -15261,15 +14990,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -15286,9 +15015,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/cache@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -15311,9 +15040,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -15336,9 +15065,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -15361,13 +15090,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -15386,13 +15115,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -15461,7 +15190,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -15486,13 +15215,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -15511,13 +15240,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -15846,17 +15575,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -15873,15 +15602,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -15900,15 +15629,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -15927,7 +15656,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -15954,13 +15683,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -15981,13 +15710,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -16089,7 +15818,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/replace@0.26.11 › @@ -16116,15 +15845,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -16143,15 +15872,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -16224,7 +15953,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -16251,13 +15980,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -16278,13 +16007,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -16359,15 +16088,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -16440,7 +16169,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/diff@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -16467,13 +16196,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -16494,13 +16223,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -16577,13 +16306,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -16635,17 +16364,17 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#a4b7cc110bf1 › k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 › @@ -16664,15 +16393,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -16780,9 +16509,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/replace@0.26.11 › @@ -16809,9 +16538,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/replace@0.26.11 › @@ -16838,9 +16567,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/replace@0.26.11 › @@ -16867,13 +16596,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -16896,13 +16625,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -16925,7 +16654,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/replace@0.26.11 › @@ -16954,15 +16683,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -17041,15 +16770,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/util/openapi@0.26.11 › @@ -17161,15 +16890,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/util@0.26.11 › @@ -17192,9 +16921,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/health@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/replace@0.26.11 › @@ -17223,9 +16952,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/replace@0.26.11 › @@ -17254,9 +16983,9 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/replace@0.26.11 › @@ -17351,13 +17080,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/replace@0.26.11 › @@ -17384,13 +17113,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/replace@0.26.11 › @@ -17417,15 +17146,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/replace@0.26.11 › @@ -17452,13 +17181,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/replace@0.26.11 › @@ -17487,13 +17216,13 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/replace@0.26.11 › @@ -17522,15 +17251,15 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/ignore@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/sync/common@#a4b7cc110bf1 › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb + github.com/argoproj/gitops-engine/pkg/utils/kube@#a4b7cc110bf1 › k8s.io/kubectl/pkg/cmd/replace@0.26.11 › @@ -17604,12 +17333,12 @@

    References

    -
    -

    Allocation of Resources Without Limits or Throttling

    +
    +

    LGPL-3.0 license

    -
    - high severity +
    + medium severity

    @@ -17622,15 +17351,15 @@

    Allocation of Resources Without Limits or Throttling

  • - Vulnerable module: + Module: - golang.org/x/net/http2 + gopkg.in/retry.v1
  • Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0, k8s.io/apimachinery/pkg/util/net@0.26.11 and others + github.com/argoproj/argo-cd/v2@0.0.0, github.com/Azure/kubelogin/pkg/token@0.0.20 and others
  • @@ -17644,3974 +17373,22 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@0.0.0 › - k8s.io/apimachinery/pkg/util/net@0.26.11 + github.com/Azure/kubelogin/pkg/token@0.0.20 › - golang.org/x/net/http2@0.19.0 + gopkg.in/retry.v1@1.0.3 -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/soheilhy/cmux@0.1.5 - › - golang.org/x/net/http2@0.19.0 - - + -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - +
  • - -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/improbable-eng/grpc-web/go/grpcweb@0.15.0 - › - golang.org/x/net/http2@0.19.0 - - +
    + +

    LGPL-3.0 license

    -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/transport@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - google.golang.org/grpc@1.59.0 - › - google.golang.org/grpc/internal/transport@1.59.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/transport/spdy@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/pkg/kubeclientmetrics@#d56162821bd1 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/testing@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/dynamic@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/tools/cache@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/plugin/pkg/client/auth/azure@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/plugin/pkg/client/auth/gcp@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/plugin/pkg/client/auth/oidc@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/tools/record@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/rest@0.26.11 - › - k8s.io/client-go/transport@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/grpc-ecosystem/go-grpc-middleware@1.4.0 - › - google.golang.org/grpc@1.59.0 - › - google.golang.org/grpc/internal/transport@1.59.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/grpc-ecosystem/go-grpc-middleware/auth@1.4.0 - › - google.golang.org/grpc@1.59.0 - › - google.golang.org/grpc/internal/transport@1.59.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/grpc-ecosystem/go-grpc-middleware/retry@1.4.0 - › - google.golang.org/grpc@1.59.0 - › - google.golang.org/grpc/internal/transport@1.59.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/grpc-ecosystem/go-grpc-prometheus@1.2.0 - › - google.golang.org/grpc@1.59.0 - › - google.golang.org/grpc/internal/transport@1.59.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc@1.21.0 - › - google.golang.org/grpc@1.59.0 - › - google.golang.org/grpc/internal/transport@1.59.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/grpc-ecosystem/go-grpc-middleware/logging/logrus@1.4.0 - › - google.golang.org/grpc@1.59.0 - › - google.golang.org/grpc/internal/transport@1.59.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc@0.46.1 - › - google.golang.org/grpc@1.59.0 - › - google.golang.org/grpc/internal/transport@1.59.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - google.golang.org/grpc/health/grpc_health_v1@1.59.0 - › - google.golang.org/grpc@1.59.0 - › - google.golang.org/grpc/internal/transport@1.59.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/kubectl/pkg/util/openapi@0.26.11 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/tools/clientcmd@0.26.11 - › - k8s.io/client-go/tools/auth@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/controller@#f48567108f01 - › - k8s.io/client-go/tools/cache@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/discovery/fake@0.26.11 - › - k8s.io/client-go/testing@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/kubernetes/fake@0.26.11 - › - k8s.io/client-go/testing@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/client@0.14.7 - › - k8s.io/client-go/dynamic@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/informers/apps/v1@0.26.11 - › - k8s.io/client-go/tools/cache@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/informers@0.26.11 - › - k8s.io/client-go/tools/cache@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/listers/core/v1@0.26.11 - › - k8s.io/client-go/tools/cache@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/tools/remotecommand@0.26.11 - › - k8s.io/client-go/transport/spdy@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/services@#f48567108f01 - › - google.golang.org/api/chat/v1@0.132.0 - › - google.golang.org/api/transport/http@0.132.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/pkg/apis/clientauthentication/v1beta1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/api/rbac/v1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/api/core/v1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/apimachinery/pkg/api/errors@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/apimachinery/pkg/api/equality@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/transport/spdy@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - k8s.io/client-go/transport@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/pkg/kubeclientmetrics@#d56162821bd1 - › - k8s.io/client-go/rest@0.26.11 - › - k8s.io/client-go/transport@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/testing@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - k8s.io/client-go/transport@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/plugin/pkg/client/auth/azure@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - k8s.io/client-go/transport@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/plugin/pkg/client/auth/gcp@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - k8s.io/client-go/transport@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/plugin/pkg/client/auth/oidc@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - k8s.io/client-go/transport@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/improbable-eng/grpc-web/go/grpcweb@0.15.0 - › - google.golang.org/grpc/health/grpc_health_v1@1.59.0 - › - google.golang.org/grpc@1.59.0 - › - google.golang.org/grpc/internal/transport@1.59.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - google.golang.org/grpc/reflection@1.59.0 - › - google.golang.org/grpc/reflection/grpc_reflection_v1alpha@1.59.0 - › - google.golang.org/grpc@1.59.0 - › - google.golang.org/grpc/internal/transport@1.59.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - google.golang.org/grpc/health@1.59.0 - › - google.golang.org/grpc/health/grpc_health_v1@1.59.0 - › - google.golang.org/grpc@1.59.0 - › - google.golang.org/grpc/internal/transport@1.59.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb - › - k8s.io/kubectl/pkg/util/openapi@0.26.11 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb - › - k8s.io/kubectl/pkg/util/openapi@0.26.11 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb - › - k8s.io/kubectl/pkg/util/openapi@0.26.11 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/api@#f48567108f01 - › - k8s.io/client-go/listers/core/v1@0.26.11 - › - k8s.io/client-go/tools/cache@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/cmd@#f48567108f01 - › - k8s.io/client-go/tools/clientcmd@0.26.11 - › - k8s.io/client-go/tools/auth@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/event@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/client@0.14.7 - › - k8s.io/client-go/dynamic@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/informers/core/v1@0.26.11 - › - k8s.io/client-go/listers/core/v1@0.26.11 - › - k8s.io/client-go/tools/cache@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/cache@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/cache/internal@0.14.7 - › - k8s.io/client-go/tools/cache@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/kubectl/pkg/util/term@0.26.11 - › - k8s.io/client-go/tools/remotecommand@0.26.11 - › - k8s.io/client-go/transport/spdy@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/metrics@0.14.7 - › - k8s.io/client-go/tools/leaderelection@0.26.11 - › - k8s.io/client-go/tools/leaderelection/resourcelock@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#f48567108f01 - › - github.com/argoproj/notifications-engine/pkg/services@#f48567108f01 - › - google.golang.org/api/chat/v1@0.132.0 - › - google.golang.org/api/transport/http@0.132.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/cmd@#f48567108f01 - › - github.com/argoproj/notifications-engine/pkg/services@#f48567108f01 - › - google.golang.org/api/chat/v1@0.132.0 - › - google.golang.org/api/transport/http@0.132.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/Azure/kubelogin/pkg/token@0.0.20 - › - k8s.io/client-go/pkg/apis/clientauthentication/v1beta1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/dynamic@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/utils/testing@#18ba62e1f1fb - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/apimachinery/pkg/util/strategicpatch@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/scheme@0.14.7 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/listers/core/v1@0.26.11 - › - k8s.io/api/core/v1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/kubectl/pkg/util/resource@0.26.11 - › - k8s.io/api/core/v1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/util/retry@0.26.11 - › - k8s.io/apimachinery/pkg/api/errors@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/apimachinery/pkg/util/managedfields@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/tools/cache@0.26.11 - › - k8s.io/client-go/tools/pager@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/tools/portforward@0.26.11 - › - k8s.io/api/core/v1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1@0.26.11 - › - k8s.io/apimachinery/pkg/api/equality@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/apimachinery/pkg/api/validation@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1/validation@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/discovery/fake@0.26.11 - › - k8s.io/client-go/testing@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - k8s.io/client-go/transport@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/kubernetes/fake@0.26.11 - › - k8s.io/client-go/testing@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - k8s.io/client-go/transport@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/tools/remotecommand@0.26.11 - › - k8s.io/client-go/transport/spdy@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - k8s.io/client-go/transport@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/health@#18ba62e1f1fb - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb - › - k8s.io/kubectl/pkg/util/openapi@0.26.11 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb - › - k8s.io/kubectl/pkg/util/openapi@0.26.11 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/controller/controllerutil@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/client/apiutil@0.14.7 - › - k8s.io/client-go/restmapper@0.26.11 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/predicate@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/runtime/inject@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/client@0.14.7 - › - k8s.io/client-go/dynamic@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/envtest@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/internal/testing/controlplane@0.14.7 - › - k8s.io/client-go/tools/clientcmd@0.26.11 - › - k8s.io/client-go/tools/auth@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/handler@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/runtime/inject@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/client@0.14.7 - › - k8s.io/client-go/dynamic@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/api@#f48567108f01 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#f48567108f01 - › - github.com/argoproj/notifications-engine/pkg/services@#f48567108f01 - › - google.golang.org/api/chat/v1@0.132.0 - › - google.golang.org/api/transport/http@0.132.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/controller@#f48567108f01 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#f48567108f01 - › - github.com/argoproj/notifications-engine/pkg/services@#f48567108f01 - › - google.golang.org/api/chat/v1@0.132.0 - › - google.golang.org/api/transport/http@0.132.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb - › - k8s.io/apimachinery/pkg/util/strategicpatch@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/apimachinery/pkg/runtime/serializer@0.26.11 - › - k8s.io/apimachinery/pkg/runtime/serializer/versioning@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/informers/core/v1@0.26.11 - › - k8s.io/client-go/listers/core/v1@0.26.11 - › - k8s.io/api/core/v1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/kubernetes/scheme@0.26.11 - › - k8s.io/api/storage/v1beta1@0.26.11 - › - k8s.io/api/core/v1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/tools/record@0.26.11 - › - k8s.io/client-go/tools/reference@0.26.11 - › - k8s.io/api/core/v1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb - › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb - › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/controller@#f48567108f01 - › - k8s.io/client-go/tools/cache@0.26.11 - › - k8s.io/client-go/tools/pager@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/informers/apps/v1@0.26.11 - › - k8s.io/client-go/tools/cache@0.26.11 - › - k8s.io/client-go/tools/pager@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/informers@0.26.11 - › - k8s.io/client-go/tools/cache@0.26.11 - › - k8s.io/client-go/tools/pager@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/client@0.14.7 - › - k8s.io/client-go/dynamic@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/kubectl/pkg/util/term@0.26.11 - › - k8s.io/client-go/tools/remotecommand@0.26.11 - › - k8s.io/client-go/transport/spdy@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - k8s.io/client-go/transport@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/metrics@0.14.7 - › - k8s.io/client-go/tools/leaderelection@0.26.11 - › - k8s.io/client-go/tools/leaderelection/resourcelock@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - k8s.io/client-go/transport@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/services@#f48567108f01 - › - google.golang.org/api/chat/v1@0.132.0 - › - google.golang.org/api/transport/http@0.132.0 - › - google.golang.org/api/option@0.132.0 - › - google.golang.org/grpc@1.59.0 - › - google.golang.org/grpc/internal/transport@1.59.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/grpc-ecosystem/go-grpc-middleware/tags/logrus@1.4.0 - › - github.com/grpc-ecosystem/go-grpc-middleware/logging/logrus/ctxlogrus@1.4.0 - › - github.com/grpc-ecosystem/go-grpc-middleware/tags@1.4.0 - › - github.com/grpc-ecosystem/go-grpc-middleware@1.4.0 - › - google.golang.org/grpc@1.59.0 - › - google.golang.org/grpc/internal/transport@1.59.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/api@#f48567108f01 - › - k8s.io/client-go/listers/core/v1@0.26.11 - › - k8s.io/api/core/v1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/kubernetes@0.26.11 - › - k8s.io/client-go/kubernetes/typed/storage/v1beta1@0.26.11 - › - k8s.io/client-go/applyconfigurations/storage/v1beta1@0.26.11 - › - k8s.io/client-go/applyconfigurations/meta/v1@0.26.11 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/tools/clientcmd@0.26.11 - › - k8s.io/client-go/tools/clientcmd/api/latest@0.26.11 - › - k8s.io/apimachinery/pkg/runtime/serializer/versioning@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/kubernetes/scheme@0.26.11 - › - k8s.io/api/storage/v1beta1@0.26.11 - › - k8s.io/api/core/v1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/event@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/client@0.14.7 - › - k8s.io/client-go/dynamic@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/cache@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/cache/internal@0.14.7 - › - k8s.io/client-go/tools/cache@0.26.11 - › - k8s.io/client-go/tools/pager@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#f48567108f01 - › - github.com/argoproj/notifications-engine/pkg/services@#f48567108f01 - › - google.golang.org/api/chat/v1@0.132.0 - › - google.golang.org/api/transport/http@0.132.0 - › - google.golang.org/api/option@0.132.0 - › - google.golang.org/grpc@1.59.0 - › - google.golang.org/grpc/internal/transport@1.59.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/diff@#18ba62e1f1fb - › - k8s.io/kubectl/pkg/cmd/util@0.26.11 - › - k8s.io/kubectl/pkg/validation@0.26.11 - › - k8s.io/cli-runtime/pkg/resource@0.26.11 - › - k8s.io/client-go/restmapper@0.26.11 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb - › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb - › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb - › - k8s.io/kubectl/pkg/util/openapi@0.26.11 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#18ba62e1f1fb - › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb - › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb - › - k8s.io/kubectl/pkg/util/openapi@0.26.11 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/source@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/source/internal@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/predicate@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/runtime/inject@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/client@0.14.7 - › - k8s.io/client-go/dynamic@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/builder@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/webhook/admission@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/webhook/internal/metrics@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/metrics@0.14.7 - › - k8s.io/client-go/tools/leaderelection@0.26.11 - › - k8s.io/client-go/tools/leaderelection/resourcelock@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/cmd@#f48567108f01 - › - github.com/argoproj/notifications-engine/pkg/services@#f48567108f01 - › - google.golang.org/api/chat/v1@0.132.0 - › - google.golang.org/api/transport/http@0.132.0 - › - google.golang.org/api/option@0.132.0 - › - google.golang.org/grpc@1.59.0 - › - google.golang.org/grpc/internal/transport@1.59.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/builder@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/webhook/conversion@0.14.7 - › - k8s.io/apimachinery/pkg/runtime/serializer@0.26.11 - › - k8s.io/apimachinery/pkg/runtime/serializer/versioning@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/envtest@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/webhook/conversion@0.14.7 - › - k8s.io/apimachinery/pkg/runtime/serializer@0.26.11 - › - k8s.io/apimachinery/pkg/runtime/serializer/versioning@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/cmd@#f48567108f01 - › - k8s.io/client-go/tools/clientcmd@0.26.11 - › - k8s.io/client-go/tools/clientcmd/api/latest@0.26.11 - › - k8s.io/apimachinery/pkg/runtime/serializer/versioning@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/kubectl/pkg/util/openapi@0.26.11 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/kubernetes/scheme@0.26.11 - › - k8s.io/api/storage/v1beta1@0.26.11 - › - k8s.io/api/core/v1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/kubernetes@0.26.11 - › - k8s.io/client-go/kubernetes/typed/storage/v1beta1@0.26.11 - › - k8s.io/client-go/kubernetes/scheme@0.26.11 - › - k8s.io/api/storage/v1beta1@0.26.11 - › - k8s.io/api/core/v1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/utils/kube/scheme@#18ba62e1f1fb - › - k8s.io/kubernetes/pkg/apis/storage/install@1.26.11 - › - k8s.io/kubernetes/pkg/apis/storage/v1alpha1@1.26.11 - › - k8s.io/api/storage/v1alpha1@0.26.11 - › - k8s.io/api/core/v1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/predicate@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/runtime/inject@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/client@0.14.7 - › - k8s.io/client-go/dynamic@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/handler@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/runtime/inject@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/client@0.14.7 - › - k8s.io/client-go/dynamic@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/api@#f48567108f01 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#f48567108f01 - › - github.com/argoproj/notifications-engine/pkg/services@#f48567108f01 - › - google.golang.org/api/chat/v1@0.132.0 - › - google.golang.org/api/transport/http@0.132.0 - › - google.golang.org/api/option@0.132.0 - › - google.golang.org/grpc@1.59.0 - › - google.golang.org/grpc/internal/transport@1.59.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#18ba62e1f1fb - › - github.com/argoproj/gitops-engine/pkg/sync/hook@#18ba62e1f1fb - › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#18ba62e1f1fb - › - github.com/argoproj/gitops-engine/pkg/sync/common@#18ba62e1f1fb - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb - › - k8s.io/kubectl/pkg/util/openapi@0.26.11 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/controller@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/source@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/source/internal@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/predicate@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/runtime/inject@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/client@0.14.7 - › - k8s.io/client-go/dynamic@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/manager@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/webhook@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/webhook/internal/metrics@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/metrics@0.14.7 - › - k8s.io/client-go/tools/leaderelection@0.26.11 - › - k8s.io/client-go/tools/leaderelection/resourcelock@0.26.11 - › - k8s.io/client-go/rest@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/controller@#f48567108f01 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#f48567108f01 - › - github.com/argoproj/notifications-engine/pkg/services@#f48567108f01 - › - google.golang.org/api/chat/v1@0.132.0 - › - google.golang.org/api/transport/http@0.132.0 - › - google.golang.org/api/option@0.132.0 - › - google.golang.org/grpc@1.59.0 - › - google.golang.org/grpc/internal/transport@1.59.0 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/cache@#18ba62e1f1fb - › - k8s.io/kubectl/pkg/util/openapi@0.26.11 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/kubernetes/scheme@0.26.11 - › - k8s.io/api/storage/v1beta1@0.26.11 - › - k8s.io/api/core/v1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync@#18ba62e1f1fb - › - k8s.io/kubectl/pkg/util/openapi@0.26.11 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/kubernetes/scheme@0.26.11 - › - k8s.io/api/storage/v1beta1@0.26.11 - › - k8s.io/api/core/v1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#18ba62e1f1fb - › - k8s.io/kubectl/pkg/util/openapi@0.26.11 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/kubernetes/scheme@0.26.11 - › - k8s.io/api/storage/v1beta1@0.26.11 - › - k8s.io/api/core/v1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/controller/controllerutil@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/client/apiutil@0.14.7 - › - k8s.io/client-go/restmapper@0.26.11 - › - k8s.io/client-go/discovery@0.26.11 - › - k8s.io/client-go/kubernetes/scheme@0.26.11 - › - k8s.io/api/storage/v1beta1@0.26.11 - › - k8s.io/api/core/v1@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/source@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/source/internal@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/predicate@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/runtime/inject@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/client@0.14.7 - › - k8s.io/client-go/dynamic@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • -
  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - sigs.k8s.io/controller-runtime/pkg/controller@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/source@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/source/internal@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/predicate@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/runtime/inject@0.14.7 - › - sigs.k8s.io/controller-runtime/pkg/client@0.14.7 - › - k8s.io/client-go/dynamic@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1/unstructured@0.26.11 - › - k8s.io/apimachinery/pkg/apis/meta/v1@0.26.11 - › - k8s.io/apimachinery/pkg/watch@0.26.11 - › - k8s.io/apimachinery/pkg/util/net@0.26.11 - › - golang.org/x/net/http2@0.19.0 - - - -
  • - - -
    - -
    - -

    Overview

    -

    golang.org/x/net/http2 is a work-in-progress HTTP/2 implementation for Go.

    -

    Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling when reading header data from CONTINUATION frames. As part of the HPACK flow, all incoming HEADERS and CONTINUATION frames are read even if their payloads exceed MaxHeaderBytes and will be discarded. An attacker can send excessive data over a connection to render it unresponsive.

    -

    Remediation

    -

    Upgrade golang.org/x/net/http2 to version 0.23.0 or higher.

    -

    References

    - - -
    - - - -
    -
    -

    Allocation of Resources Without Limits or Throttling

    -
    - -
    - high severity -
    - -
    - -
      -
    • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
    • -
    • - Package Manager: golang -
    • -
    • - Vulnerable module: - - github.com/go-git/go-git/v5/plumbing -
    • - -
    • Introduced through: - - github.com/argoproj/argo-cd/v2@0.0.0 and github.com/go-git/go-git/v5/plumbing@5.11.0 - -
    • -
    - -
    - - -

    Detailed paths

    - -
      -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/config@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/utils/merkletrie/filesystem@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/config@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/utils/merkletrie/index@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/packfile@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/objfile@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/config@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/packfile@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/cache@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/revlist@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.11.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/packfile@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/idxfile@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/utils/merkletrie/index@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.11.0 - › - github.com/go-git/go-git/v5/utils/binary@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/config@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/revlist@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/object@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/revlist@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.11.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.11.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.11.0 - › - github.com/go-git/go-git/v5/utils/binary@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.11.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.11.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/packfile@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/revlist@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/object@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/revlist@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/object@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/diff@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.11.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.11.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/objfile@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/config@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/config@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.11.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.11.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/packfile@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/cache@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/revlist@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/object@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/diff@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.11.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.11.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/packfile@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/idxfile@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.11.0 - › - github.com/go-git/go-git/v5/utils/binary@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/config@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.11.0 - › - github.com/go-git/go-git/v5/utils/binary@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.11.0 - › - github.com/go-git/go-git/v5/utils/binary@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.11.0 - › - github.com/go-git/go-git/v5/storage/memory@5.11.0 - › - github.com/go-git/go-git/v5/storage@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.11.0 - › - github.com/go-git/go-git/v5/utils/binary@5.11.0 - › - github.com/go-git/go-git/v5/plumbing@5.11.0 - - - -
    • -
    - -
    - -
    - -

    Overview

    -

    github.com/go-git/go-git/v5/plumbing is a highly extensible git implementation library written in pure Go.

    -

    Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via specially crafted responses from a Git server, which triggers resource exhaustion in clients.

    -

    Workaround

    -

    In cases where a bump to the latest version of go-git is not possible, we recommend limiting its use to only trustworthy Git servers.

    -

    Remediation

    -

    Upgrade github.com/go-git/go-git/v5/plumbing to version 5.13.0 or higher.

    -

    References

    - - -
    - - - -
    -
    -

    LGPL-3.0 license

    -
    - -
    - medium severity -
    - -
    - -
      -
    • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
    • -
    • - Package Manager: golang -
    • -
    • - Module: - - gopkg.in/retry.v1 -
    • - -
    • Introduced through: - - - github.com/argoproj/argo-cd/v2@0.0.0, github.com/Azure/kubelogin/pkg/token@0.0.20 and others -
    • -
    - -
    - - -

    Detailed paths

    - -
      -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/Azure/kubelogin/pkg/token@0.0.20 - › - gopkg.in/retry.v1@1.0.3 - - - -
    • -
    - -
    - -
    - -

    LGPL-3.0 license

    - -
    +

    More about this vulnerability

    @@ -22522,332 +18299,6 @@

    Detailed paths

    More about this vulnerability

    -
    -
    -

    Arbitrary Argument Injection

    -
    - -
    - medium severity -
    - -
    - -
      -
    • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
    • -
    • - Package Manager: golang -
    • -
    • - Vulnerable module: - - github.com/go-git/go-git/v5/plumbing/transport -
    • - -
    • Introduced through: - - github.com/argoproj/argo-cd/v2@0.0.0 and github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - -
    • -
    - -
    - - -

    Detailed paths

    - -
      -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/git@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/git@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.11.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.11.0 - - - -
    • -
    - -
    - -
    - -

    Overview

    -

    Affected versions of this package are vulnerable to Arbitrary Argument Injection via a malicious URL value, which allows an attacker to set flags on the git-upload-pack command, if the file: protocol is in use.

    -

    Remediation

    -

    Upgrade github.com/go-git/go-git/v5/plumbing/transport to version 5.13.0 or higher.

    -

    References

    - - -
    - - -

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

    diff --git a/docs/snyk/v2.12.9/ghcr.io_dexidp_dex_v2.38.0.html b/docs/snyk/v2.11.13/ghcr.io_dexidp_dex_v2.38.0.html similarity index 96% rename from docs/snyk/v2.12.9/ghcr.io_dexidp_dex_v2.38.0.html rename to docs/snyk/v2.11.13/ghcr.io_dexidp_dex_v2.38.0.html index ac8351bce41b4..6a64e7c3d908a 100644 --- a/docs/snyk/v2.12.9/ghcr.io_dexidp_dex_v2.38.0.html +++ b/docs/snyk/v2.11.13/ghcr.io_dexidp_dex_v2.38.0.html @@ -7,7 +7,7 @@ Snyk test report - + @@ -456,7 +456,7 @@

    Snyk test report

    -

    January 19th 2025, 12:27:19 am (UTC+00:00)

    +

    February 2nd 2025, 12:29:34 am (UTC+00:00)

    Scanned the following paths: @@ -469,8 +469,8 @@

    Snyk test report

    -
    45 known vulnerabilities
    -
    133 vulnerable dependency paths
    +
    46 known vulnerabilities
    +
    134 vulnerable dependency paths
    829 dependencies
    @@ -2695,6 +2695,131 @@

    References

    More about this vulnerability

    +
    +
    +

    Cross-site Scripting (XSS)

    +
    + +
    + medium severity +
    + +
    + +
      +
    • + Manifest file: ghcr.io/dexidp/dex:v2.38.0/hairyhenderson/gomplate/v3 › /usr/local/bin/gomplate +
    • +
    • + Package Manager: golang +
    • +
    • + Vulnerable module: + + github.com/hashicorp/consul/api +
    • + +
    • Introduced through: + + github.com/hairyhenderson/gomplate/v3@* and github.com/hashicorp/consul/api@v1.13.0 + +
    • +
    + +
    + + +

    Detailed paths

    + +
      +
    • + Introduced through: + github.com/hairyhenderson/gomplate/v3@* + › + github.com/hashicorp/consul/api@v1.13.0 + + + +
    • +
    + +
    + +
    + +

    Overview

    +

    Affected versions of this package are vulnerable to Cross-site Scripting (XSS) via requests sent with a Content-Type text value, which is insufficiently validated against the content of the request.

    +

    Note: This vulnerability has also been patched in Enterprise releases 1.15.16, 1.18.6, and 1.19.4.

    +

    Details

    +

    A cross-site scripting attack occurs when the attacker tricks a legitimate web-based application or site to accept a request as originating from a trusted source.

    +

    This is done by escaping the context of the web application; the web application then delivers that data to its users along with other trusted dynamic content, without validating it. The browser unknowingly executes malicious script on the client side (through client-side languages; usually JavaScript or HTML) in order to perform actions that are otherwise typically blocked by the browser’s Same Origin Policy.

    +

    Injecting malicious code is the most prevalent manner by which XSS is exploited; for this reason, escaping characters in order to prevent this manipulation is the top method for securing code against this vulnerability.

    +

    Escaping means that the application is coded to mark key characters, and particularly key characters included in user input, to prevent those characters from being interpreted in a dangerous context. For example, in HTML, < can be coded as &lt; and > can be coded as &gt; in order to be interpreted and displayed as themselves in text, while within the code itself, they are used for HTML tags. If malicious content is injected into an application that escapes special characters and that malicious content uses < and > as HTML tags, those characters are nonetheless not interpreted as HTML tags by the browser if they’ve been correctly escaped in the application code and in this way the attempted attack is diverted.

    +

    The most prominent use of XSS is to steal cookies (source: OWASP HttpOnly) and hijack user sessions, but XSS exploits have been used to expose sensitive information, enable access to privileged services and functionality and deliver malware.

    +

    Types of attacks

    +

    There are a few methods by which XSS can be manipulated:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TypeOriginDescription
    StoredServerThe malicious code is inserted in the application (usually as a link) by the attacker. The code is activated every time a user clicks the link.
    ReflectedServerThe attacker delivers a malicious link externally from the vulnerable web site application to a user. When clicked, malicious code is sent to the vulnerable web site, which reflects the attack back to the user’s browser.
    DOM-basedClientThe attacker forces the user’s browser to render a malicious page. The data in the page itself delivers the cross-site scripting data.
    MutatedThe attacker injects code that appears safe, but is then rewritten and modified by the browser, while parsing the markup. An example is rebalancing unclosed quotation marks or even adding quotation marks to unquoted parameters.
    +

    Affected environments

    +

    The following environments are susceptible to an XSS attack:

    +
      +
    • Web servers
    • +
    • Application servers
    • +
    • Web application environments
    • +
    +

    How to prevent

    +

    This section describes the top best practices designed to specifically protect your code:

    +
      +
    • Sanitize data input in an HTTP request before reflecting it back, ensuring all data is validated, filtered or escaped before echoing anything back to the user, such as the values of query parameters during searches.
    • +
    • Convert special characters such as ?, &, /, <, > and spaces to their respective HTML or URL encoded equivalents.
    • +
    • Give users the option to disable client-side scripts.
    • +
    • Redirect invalid requests.
    • +
    • Detect simultaneous logins, including those from two separate IP addresses, and invalidate those sessions.
    • +
    • Use and enforce a Content Security Policy (source: Wikipedia) to disable any features that might be manipulated for an XSS attack.
    • +
    • Read the documentation for any of the libraries referenced in your code to understand which elements allow for embedded HTML.
    • +
    +

    Remediation

    +

    Upgrade github.com/hashicorp/consul/api to version 1.20.2 or higher.

    +

    References

    + + +
    + + +

    MPL-2.0 license

    diff --git a/docs/snyk/v2.11.12/haproxy_2.6.14-alpine.html b/docs/snyk/v2.11.13/haproxy_2.6.14-alpine.html similarity index 99% rename from docs/snyk/v2.11.12/haproxy_2.6.14-alpine.html rename to docs/snyk/v2.11.13/haproxy_2.6.14-alpine.html index de32dad6c0cce..82428d7261d59 100644 --- a/docs/snyk/v2.11.12/haproxy_2.6.14-alpine.html +++ b/docs/snyk/v2.11.13/haproxy_2.6.14-alpine.html @@ -456,7 +456,7 @@

    Snyk test report

    -

    January 19th 2025, 12:29:58 am (UTC+00:00)

    +

    February 2nd 2025, 12:29:39 am (UTC+00:00)

    Scanned the following path: diff --git a/docs/snyk/v2.11.12/quay.io_argoproj_argocd_v2.11.12.html b/docs/snyk/v2.11.13/quay.io_argoproj_argocd_v2.11.13.html similarity index 86% rename from docs/snyk/v2.11.12/quay.io_argoproj_argocd_v2.11.12.html rename to docs/snyk/v2.11.13/quay.io_argoproj_argocd_v2.11.13.html index 1b37dbf6c0e27..a1ed9f5458205 100644 --- a/docs/snyk/v2.11.12/quay.io_argoproj_argocd_v2.11.12.html +++ b/docs/snyk/v2.11.13/quay.io_argoproj_argocd_v2.11.13.html @@ -7,7 +7,7 @@ Snyk test report - + @@ -456,22 +456,22 @@

    Snyk test report

    -

    January 19th 2025, 12:30:22 am (UTC+00:00)

    +

    February 2nd 2025, 12:29:59 am (UTC+00:00)

    Scanned the following paths:
      -
    • quay.io/argoproj/argocd:v2.11.12/argoproj/argocd/Dockerfile (deb)
    • -
    • quay.io/argoproj/argocd:v2.11.12/argoproj/argo-cd/v2//usr/local/bin/argocd (gomodules)
    • -
    • quay.io/argoproj/argocd:v2.11.12//usr/local/bin/kustomize (gomodules)
    • -
    • quay.io/argoproj/argocd:v2.11.12/helm/v3//usr/local/bin/helm (gomodules)
    • -
    • quay.io/argoproj/argocd:v2.11.12/git-lfs/git-lfs//usr/bin/git-lfs (gomodules)
    • +
    • quay.io/argoproj/argocd:v2.11.13/argoproj/argocd/Dockerfile (deb)
    • +
    • quay.io/argoproj/argocd:v2.11.13/argoproj/argo-cd/v2//usr/local/bin/argocd (gomodules)
    • +
    • quay.io/argoproj/argocd:v2.11.13//usr/local/bin/kustomize (gomodules)
    • +
    • quay.io/argoproj/argocd:v2.11.13/helm/v3//usr/local/bin/helm (gomodules)
    • +
    • quay.io/argoproj/argocd:v2.11.13/git-lfs/git-lfs//usr/bin/git-lfs (gomodules)
    -
    45 known vulnerabilities
    -
    211 vulnerable dependency paths
    +
    39 known vulnerabilities
    +
    200 vulnerable dependency paths
    2280 dependencies
    @@ -480,80 +480,6 @@

    Snyk test report

    -
    -

    Incorrect Implementation of Authentication Algorithm

    -
    - -
    - critical severity -
    - -
    - -
      -
    • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argo-cd/v2 › /usr/local/bin/argocd -
    • -
    • - Package Manager: golang -
    • -
    • - Vulnerable module: - - golang.org/x/crypto/ssh -
    • - -
    • Introduced through: - - github.com/argoproj/argo-cd/v2@* and golang.org/x/crypto/ssh@v0.19.0 - -
    • -
    - -
    - - -

    Detailed paths

    - -
      -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@* - › - golang.org/x/crypto/ssh@v0.19.0 - - - -
    • -
    - -
    - -
    - -

    Overview

    -

    golang.org/x/crypto/ssh is a SSH client and server

    -

    Affected versions of this package are vulnerable to Incorrect Implementation of Authentication Algorithm when the key passed in the last call before a connection is established is assumed to be the key used for authentication. It is not necessarily the authentication key in use, and this allows attackers who can control the key cache by making their own carefully-timed connections to bypass authorization with subsequent legitimate ServerConfig.PublicKeyCallback callbacks.

    -

    Note: The assumed caching behavior of this callback is not documented and is therefore considered human error, but the project maintainers have observed reliance on it for authorization decisions in production. In fact, the assumption is negated in the documentation, which states "A call to this function does not guarantee that the key offered is in fact used to authenticate." The behavior after upgrading still allows the possibility of an attacker forcing their own key to be the one in the cache when the callback is invoked if the client is using a different authentication method such as PasswordCallback, KeyboardInteractiveCallback, or NoClientAuth. It is therefore recommended to rely on the return values of the connection itself, found in ServerConn.Permissions for further authorization steps.

    -

    Remediation

    -

    Upgrade golang.org/x/crypto/ssh to version 0.31.0 or higher.

    -

    References

    - - -
    - - - -

    Denial of Service (DoS)

    @@ -566,7 +492,7 @@

    Denial of Service (DoS)

    • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argo-cd/v2 › /usr/local/bin/argocd
    • Package Manager: golang @@ -660,7 +586,7 @@

      Allocation of Resources Without Limits or Throttling

    • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.11.13/helm/v3 › /usr/local/bin/helm
    • Package Manager: golang @@ -673,7 +599,7 @@

      Allocation of Resources Without Limits or Throttling

      Introduced through: - github.com/argoproj/argo-cd/v2@* and golang.org/x/net/http2@v0.19.0 + helm.sh/helm/v3@* and golang.org/x/net/http2@v0.17.0
    @@ -684,15 +610,6 @@

    Allocation of Resources Without Limits or Throttling

    Detailed paths

      -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@* - › - golang.org/x/net/http2@v0.19.0 - - - -
    • Introduced through: helm.sh/helm/v3@* @@ -741,7 +658,7 @@

      Denial of Service (DoS)

      • - Manifest file: quay.io/argoproj/argocd:v2.11.12/helm/v3 › /usr/local/bin/helm + Manifest file: quay.io/argoproj/argocd:v2.11.13/helm/v3 › /usr/local/bin/helm
      • Package Manager: golang @@ -811,76 +728,6 @@

        References

        More about this vulnerability

    -

    -
    -

    Allocation of Resources Without Limits or Throttling

    -
    - -
    - high severity -
    - -
    - -
      -
    • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argo-cd/v2 › /usr/local/bin/argocd -
    • -
    • - Package Manager: golang -
    • -
    • - Vulnerable module: - - github.com/go-git/go-git/v5/plumbing -
    • - -
    • Introduced through: - - github.com/argoproj/argo-cd/v2@* and github.com/go-git/go-git/v5/plumbing@v5.11.0 - -
    • -
    - -
    - - -

    Detailed paths

    - -
      -
    • - Introduced through: - github.com/argoproj/argo-cd/v2@* - › - github.com/go-git/go-git/v5/plumbing@v5.11.0 - - - -
    • -
    - -
    - -
    - -

    Overview

    -

    github.com/go-git/go-git/v5/plumbing is a highly extensible git implementation library written in pure Go.

    -

    Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via specially crafted responses from a Git server, which triggers resource exhaustion in clients.

    -

    Workaround

    -

    In cases where a bump to the latest version of go-git is not possible, we recommend limiting its use to only trustworthy Git servers.

    -

    Remediation

    -

    Upgrade github.com/go-git/go-git/v5/plumbing to version 5.13.0 or higher.

    -

    References

    - - -
    - - -

    CVE-2024-56433

    @@ -894,7 +741,7 @@

    CVE-2024-56433

    • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
    • Package Manager: ubuntu:22.04 @@ -907,7 +754,7 @@

      CVE-2024-56433

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and shadow/passwd@1:4.8.1-2ubuntu2.2 + docker-image|quay.io/argoproj/argocd@v2.11.13 and shadow/passwd@1:4.8.1-2ubuntu2.2
    @@ -920,7 +767,7 @@

    Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › shadow/passwd@1:4.8.1-2ubuntu2.2 @@ -929,7 +776,7 @@

      Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › @@ -940,7 +787,7 @@

      Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › openssh/openssh-client@1:8.9p1-3ubuntu0.10 › @@ -951,7 +798,7 @@

      Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › shadow/login@1:4.8.1-2ubuntu2.2 @@ -997,7 +844,7 @@

      Insecure Storage of Sensitive Information

      • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
      • Package Manager: ubuntu:22.04 @@ -1010,7 +857,7 @@

        Insecure Storage of Sensitive Information

      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and pam/libpam0g@1.4.0-11ubuntu2.4 + docker-image|quay.io/argoproj/argocd@v2.11.13 and pam/libpam0g@1.4.0-11ubuntu2.5
      @@ -1023,164 +870,164 @@

      Detailed paths

      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › - pam/libpam0g@1.4.0-11ubuntu2.4 + pam/libpam0g@1.4.0-11ubuntu2.5
      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › shadow/login@1:4.8.1-2ubuntu2.2 › - pam/libpam0g@1.4.0-11ubuntu2.4 + pam/libpam0g@1.4.0-11ubuntu2.5
      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › util-linux@2.37.2-4ubuntu3.4 › - pam/libpam0g@1.4.0-11ubuntu2.4 + pam/libpam0g@1.4.0-11ubuntu2.5
      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam0g@1.4.0-11ubuntu2.4 + pam/libpam0g@1.4.0-11ubuntu2.5
      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › - pam/libpam0g@1.4.0-11ubuntu2.4 + pam/libpam0g@1.4.0-11ubuntu2.5
      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › - pam/libpam-modules-bin@1.4.0-11ubuntu2.4 + pam/libpam-modules-bin@1.4.0-11ubuntu2.5 › - pam/libpam0g@1.4.0-11ubuntu2.4 + pam/libpam0g@1.4.0-11ubuntu2.5
      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › - pam/libpam-modules-bin@1.4.0-11ubuntu2.4 + pam/libpam-modules-bin@1.4.0-11ubuntu2.5
      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › - pam/libpam-modules-bin@1.4.0-11ubuntu2.4 + pam/libpam-modules-bin@1.4.0-11ubuntu2.5
      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5
      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › - pam/libpam-runtime@1.4.0-11ubuntu2.4 + pam/libpam-runtime@1.4.0-11ubuntu2.5 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5
      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › shadow/login@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5
      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5
      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › - pam/libpam-runtime@1.4.0-11ubuntu2.4 + pam/libpam-runtime@1.4.0-11ubuntu2.5
      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › shadow/login@1:4.8.1-2ubuntu2.2 › - pam/libpam-runtime@1.4.0-11ubuntu2.4 + pam/libpam-runtime@1.4.0-11ubuntu2.5 @@ -1226,7 +1073,7 @@

        CVE-2024-26462

        • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
        • Package Manager: ubuntu:22.04 @@ -1239,7 +1086,7 @@

          CVE-2024-26462

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and krb5/libk5crypto3@1.19.2-2ubuntu0.4 + docker-image|quay.io/argoproj/argocd@v2.11.13 and krb5/libk5crypto3@1.19.2-2ubuntu0.4
        @@ -1252,7 +1099,7 @@

        Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › krb5/libk5crypto3@1.19.2-2ubuntu0.4 @@ -1261,13 +1108,13 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › libnsl/libnsl2@1.3.0-2build2 › @@ -1282,13 +1129,13 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › libnsl/libnsl2@1.3.0-2build2 › @@ -1305,7 +1152,7 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › krb5/libkrb5-3@1.19.2-2ubuntu0.4 @@ -1314,13 +1161,13 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › libnsl/libnsl2@1.3.0-2build2 › @@ -1335,7 +1182,7 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › krb5/libgssapi-krb5-2@1.19.2-2ubuntu0.4 @@ -1344,7 +1191,7 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › openssh/openssh-client@1:8.9p1-3ubuntu0.10 › @@ -1355,11 +1202,11 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › - git@1:2.34.1-1ubuntu1.11 + git@1:2.34.1-1ubuntu1.12 › - curl/libcurl3-gnutls@7.81.0-1ubuntu1.18 + curl/libcurl3-gnutls@7.81.0-1ubuntu1.20 › krb5/libgssapi-krb5-2@1.19.2-2ubuntu0.4 @@ -1368,11 +1215,11 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › - git@1:2.34.1-1ubuntu1.11 + git@1:2.34.1-1ubuntu1.12 › - curl/libcurl3-gnutls@7.81.0-1ubuntu1.18 + curl/libcurl3-gnutls@7.81.0-1ubuntu1.20 › libssh/libssh-4@0.9.6-2ubuntu0.22.04.3 › @@ -1383,13 +1230,13 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › libnsl/libnsl2@1.3.0-2build2 › @@ -1402,7 +1249,7 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › krb5/libkrb5support0@1.19.2-2ubuntu0.4 @@ -1447,7 +1294,7 @@

          LGPL-3.0 license

          • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argo-cd/v2 › /usr/local/bin/argocd
          • Package Manager: golang @@ -1507,7 +1354,7 @@

            Denial of Service (DoS)

            • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argo-cd/v2 › /usr/local/bin/argocd
            • Package Manager: golang @@ -1617,7 +1464,7 @@

              MPL-2.0 license

              • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argo-cd/v2 › /usr/local/bin/argocd
              • Package Manager: golang @@ -1677,7 +1524,7 @@

                MPL-2.0 license

                • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                • Package Manager: golang @@ -1737,7 +1584,7 @@

                  Insertion of Sensitive Information into Log File

                  • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                  • Package Manager: golang @@ -1805,7 +1652,7 @@

                    MPL-2.0 license

                    • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                    • Package Manager: golang @@ -1865,7 +1712,7 @@

                      MPL-2.0 license

                      • - Manifest file: quay.io/argoproj/argocd:v2.11.12/helm/v3 › /usr/local/bin/helm + Manifest file: quay.io/argoproj/argocd:v2.11.13/helm/v3 › /usr/local/bin/helm
                      • Package Manager: golang @@ -1925,7 +1772,7 @@

                        MPL-2.0 license

                        • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                        • Package Manager: golang @@ -1985,7 +1832,7 @@

                          MPL-2.0 license

                          • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                          • Package Manager: golang @@ -2034,7 +1881,7 @@

                            Detailed paths

    -

    Arbitrary Argument Injection

    +

    Generation of Error Message Containing Sensitive Information

    @@ -2045,7 +1892,7 @@

    Arbitrary Argument Injection

    • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argo-cd/v2 › /usr/local/bin/argocd
    • Package Manager: golang @@ -2053,12 +1900,12 @@

      Arbitrary Argument Injection

    • Vulnerable module: - github.com/go-git/go-git/v5/plumbing/transport + github.com/argoproj/gitops-engine/pkg/utils/kube
    • Introduced through: - github.com/argoproj/argo-cd/v2@* and github.com/go-git/go-git/v5/plumbing/transport@v5.11.0 + github.com/argoproj/argo-cd/v2@* and github.com/argoproj/gitops-engine/pkg/utils/kube@v0.7.1-0.20250129155113-a4b7cc110bf1
    @@ -2073,7 +1920,7 @@

    Detailed paths

    Introduced through: github.com/argoproj/argo-cd/v2@* › - github.com/go-git/go-git/v5/plumbing/transport@v5.11.0 + github.com/argoproj/gitops-engine/pkg/utils/kube@v0.7.1-0.20250129155113-a4b7cc110bf1 @@ -2085,118 +1932,25 @@

    Detailed paths


    Overview

    -

    Affected versions of this package are vulnerable to Arbitrary Argument Injection via a malicious URL value, which allows an attacker to set flags on the git-upload-pack command, if the file: protocol is in use.

    -

    Remediation

    -

    Upgrade github.com/go-git/go-git/v5/plumbing/transport to version 5.13.0 or higher.

    -

    References

    - - -
    - - - -
    -
    -

    Improper Encoding or Escaping of Output

    -
    - -
    - medium severity -
    - -
    - -
      -
    • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile -
    • -
    • - Package Manager: ubuntu:22.04 -
    • -
    • - Vulnerable module: - - git/git-man -
    • - -
    • Introduced through: - - - docker-image|quay.io/argoproj/argocd@v2.11.12, git@1:2.34.1-1ubuntu1.11 and others -
    • -
    - -
    - - -

    Detailed paths

    - -
      -
    • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 - › - git@1:2.34.1-1ubuntu1.11 - › - git/git-man@1:2.34.1-1ubuntu1.11 - - - -
    • -
    • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 - › - git@1:2.34.1-1ubuntu1.11 - - - -
    • -
    • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 - › - git-lfs@3.0.2-1ubuntu0.2 - › - git@1:2.34.1-1ubuntu1.11 - - - -
    • -
    - -
    - -
    - -

    NVD Description

    -

    Note: Versions mentioned in the description apply only to the upstream git package and not the git package as distributed by Ubuntu. - See How to fix? for Ubuntu:22.04 relevant fixed versions and status.

    -

    Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. Git defines a line-based protocol that is used to exchange information between Git and Git credential helpers. Some ecosystems (most notably, .NET and node.js) interpret single Carriage Return characters as newlines, which renders the protections against CVE-2020-5260 incomplete for credential helpers that treat Carriage Returns in this way. This issue has been addressed in commit b01b9b8 which is included in release versions v2.48.1, v2.47.1, v2.46.3, v2.45.3, v2.44.3, v2.43.6, v2.42.4, v2.41.3, and v2.40.4. Users are advised to upgrade. Users unable to upgrade should avoid cloning from untrusted URLs, especially recursive clones.

    +

    Affected versions of this package are vulnerable to Generation of Error Message Containing Sensitive Information when syncing invalid Kubernetes Secret resources. An attacker with write access to the repository can expose secret values by committing an invalid Secret to repository and triggering a Sync, which then become visible to any user with read access to Argo CD.

    Remediation

    -

    Upgrade Ubuntu:22.04 git to version 1:2.34.1-1ubuntu1.12 or higher.

    +

    A fix was pushed into the master branch but not yet published.

    References


    -

    Improper Encoding or Escaping of Output

    +

    Generation of Error Message Containing Sensitive Information

    @@ -2207,21 +1961,21 @@

    Improper Encoding or Escaping of Output

    • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argo-cd/v2 › /usr/local/bin/argocd
    • - Package Manager: ubuntu:22.04 + Package Manager: golang
    • Vulnerable module: - git/git-man + github.com/argoproj/gitops-engine/pkg/diff
    • Introduced through: + github.com/argoproj/argo-cd/v2@* and github.com/argoproj/gitops-engine/pkg/diff@v0.7.1-0.20250129155113-a4b7cc110bf1 - docker-image|quay.io/argoproj/argocd@v2.11.12, git@1:2.34.1-1ubuntu1.11 and others
    @@ -2233,31 +1987,9 @@

    Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 - › - git@1:2.34.1-1ubuntu1.11 - › - git/git-man@1:2.34.1-1ubuntu1.11 - - - -
    • -
    • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 - › - git@1:2.34.1-1ubuntu1.11 - - - -
    • -
    • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 - › - git-lfs@3.0.2-1ubuntu0.2 + github.com/argoproj/argo-cd/v2@* › - git@1:2.34.1-1ubuntu1.11 + github.com/argoproj/gitops-engine/pkg/diff@v0.7.1-0.20250129155113-a4b7cc110bf1 @@ -2268,24 +2000,21 @@

      Detailed paths


      -

      NVD Description

      -

      Note: Versions mentioned in the description apply only to the upstream git package and not the git package as distributed by Ubuntu. - See How to fix? for Ubuntu:22.04 relevant fixed versions and status.

      -

      Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. When Git asks for credentials via a terminal prompt (i.e. without using any credential helper), it prints out the host name for which the user is expected to provide a username and/or a password. At this stage, any URL-encoded parts have been decoded already, and are printed verbatim. This allows attackers to craft URLs that contain ANSI escape sequences that the terminal interpret to confuse users e.g. into providing passwords for trusted Git hosting sites when in fact they are then sent to untrusted sites that are under the attacker's control. This issue has been patch via commits 7725b81 and c903985 which are included in release versions v2.48.1, v2.47.1, v2.46.3, v2.45.3, v2.44.3, v2.43.6, v2.42.4, v2.41.3, and v2.40.4. Users are advised to upgrade. Users unable to upgrade should avoid cloning from untrusted URLs, especially recursive clones.

      +

      Overview

      +

      Affected versions of this package are vulnerable to Generation of Error Message Containing Sensitive Information when syncing invalid Kubernetes Secret resources. An attacker with write access to the repository can expose secret values by committing an invalid Secret to repository and triggering a Sync, which then become visible to any user with read access to Argo CD.

      Remediation

      -

      Upgrade Ubuntu:22.04 git to version 1:2.34.1-1ubuntu1.12 or higher.

      +

      A fix was pushed into the master branch but not yet published.

      References


    @@ -2301,7 +2030,7 @@

    CVE-2023-4039

    • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
    • Package Manager: ubuntu:22.04 @@ -2314,7 +2043,7 @@

      CVE-2023-4039

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and gcc-12/libstdc++6@12.3.0-1ubuntu1~22.04 + docker-image|quay.io/argoproj/argocd@v2.11.13 and gcc-12/libstdc++6@12.3.0-1ubuntu1~22.04
    @@ -2327,7 +2056,7 @@

    Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gcc-12/libstdc++6@12.3.0-1ubuntu1~22.04 @@ -2336,7 +2065,7 @@

      Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › apt@2.4.13 › @@ -2347,7 +2076,7 @@

      Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › apt@2.4.13 › @@ -2360,7 +2089,7 @@

      Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gcc-12/gcc-12-base@12.3.0-1ubuntu1~22.04 @@ -2369,7 +2098,7 @@

      Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gcc-12/libgcc-s1@12.3.0-1ubuntu1~22.04 @@ -2413,78 +2142,6 @@

      References

      More about this vulnerability

    -
    -
    -

    CVE-2024-50602

    -
    - -
    - medium severity -
    - -
    - -
      -
    • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile -
    • -
    • - Package Manager: ubuntu:22.04 -
    • -
    • - Vulnerable module: - - expat/libexpat1 -
    • - -
    • Introduced through: - - - docker-image|quay.io/argoproj/argocd@v2.11.12, git@1:2.34.1-1ubuntu1.11 and others -
    • -
    - -
    - - -

    Detailed paths

    - -
      -
    • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 - › - git@1:2.34.1-1ubuntu1.11 - › - expat/libexpat1@2.4.7-1ubuntu0.4 - - - -
    • -
    - -
    - -
    - -

    NVD Description

    -

    Note: Versions mentioned in the description apply only to the upstream expat package and not the expat package as distributed by Ubuntu. - See How to fix? for Ubuntu:22.04 relevant fixed versions and status.

    -

    An issue was discovered in libexpat before 2.6.4. There is a crash within the XML_ResumeParser function because XML_StopParser can stop/suspend an unstarted parser.

    -

    Remediation

    -

    Upgrade Ubuntu:22.04 expat to version 2.4.7-1ubuntu0.5 or higher.

    -

    References

    - - -
    - - -

    CVE-2023-7008

    @@ -2498,7 +2155,7 @@

    CVE-2023-7008

    • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
    • Package Manager: ubuntu:22.04 @@ -2511,7 +2168,7 @@

      CVE-2023-7008

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and systemd/libsystemd0@249.11-0ubuntu3.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 and systemd/libsystemd0@249.11-0ubuntu3.12
    @@ -2524,7 +2181,7 @@

    Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › systemd/libsystemd0@249.11-0ubuntu3.12 @@ -2533,7 +2190,7 @@

      Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › apt@2.4.13 › @@ -2544,7 +2201,7 @@

      Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › procps/libprocps8@2:3.3.17-6ubuntu2.1 › @@ -2555,7 +2212,7 @@

      Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › util-linux@2.37.2-4ubuntu3.4 › @@ -2566,7 +2223,7 @@

      Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › util-linux/bsdutils@1:2.37.2-4ubuntu3.4 › @@ -2577,7 +2234,7 @@

      Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › apt@2.4.13 › @@ -2590,7 +2247,7 @@

      Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › systemd/libudev1@249.11-0ubuntu3.12 @@ -2599,7 +2256,7 @@

      Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › libfido2/libfido2-1@1.10.0-1 › @@ -2610,7 +2267,7 @@

      Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › util-linux@2.37.2-4ubuntu3.4 › @@ -2621,7 +2278,7 @@

      Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › apt@2.4.13 › @@ -2677,7 +2334,7 @@

      Arbitrary Code Injection

      • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
      • Package Manager: ubuntu:22.04 @@ -2690,7 +2347,7 @@

        Arbitrary Code Injection

      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and shadow/passwd@1:4.8.1-2ubuntu2.2 + docker-image|quay.io/argoproj/argocd@v2.11.13 and shadow/passwd@1:4.8.1-2ubuntu2.2
      @@ -2703,7 +2360,7 @@

      Detailed paths

      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › shadow/passwd@1:4.8.1-2ubuntu2.2 @@ -2712,7 +2369,7 @@

        Detailed paths

      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › @@ -2723,7 +2380,7 @@

        Detailed paths

      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › openssh/openssh-client@1:8.9p1-3ubuntu0.10 › @@ -2734,7 +2391,7 @@

        Detailed paths

      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › shadow/login@1:4.8.1-2ubuntu2.2 @@ -2781,7 +2438,7 @@

        Uncontrolled Recursion

        • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
        • Package Manager: ubuntu:22.04 @@ -2794,7 +2451,7 @@

          Uncontrolled Recursion

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and pcre3/libpcre3@2:8.39-13ubuntu0.22.04.1 + docker-image|quay.io/argoproj/argocd@v2.11.13 and pcre3/libpcre3@2:8.39-13ubuntu0.22.04.1
        @@ -2807,7 +2464,7 @@

        Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › pcre3/libpcre3@2:8.39-13ubuntu0.22.04.1 @@ -2816,7 +2473,7 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › grep@3.7-1build1 › @@ -2869,7 +2526,7 @@

          Integer Overflow or Wraparound

          • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
          • Package Manager: ubuntu:22.04 @@ -2882,7 +2539,7 @@

            Integer Overflow or Wraparound

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and pcre2/libpcre2-8-0@10.39-3ubuntu0.1 + docker-image|quay.io/argoproj/argocd@v2.11.13 and pcre2/libpcre2-8-0@10.39-3ubuntu0.1
          @@ -2895,7 +2552,7 @@

          Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › pcre2/libpcre2-8-0@10.39-3ubuntu0.1 @@ -2940,7 +2597,7 @@

            Release of Invalid Pointer or Reference

            • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
            • Package Manager: ubuntu:22.04 @@ -2953,7 +2610,7 @@

              Release of Invalid Pointer or Reference

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and patch@2.7.6-7build2 + docker-image|quay.io/argoproj/argocd@v2.11.13 and patch@2.7.6-7build2
            @@ -2966,7 +2623,7 @@

            Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › patch@2.7.6-7build2 @@ -3010,7 +2667,7 @@

              Double Free

              • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
              • Package Manager: ubuntu:22.04 @@ -3023,7 +2680,7 @@

                Double Free

              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and patch@2.7.6-7build2 + docker-image|quay.io/argoproj/argocd@v2.11.13 and patch@2.7.6-7build2
              @@ -3036,7 +2693,7 @@

              Detailed paths

              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › patch@2.7.6-7build2 @@ -3085,7 +2742,7 @@

                CVE-2024-41996

                • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
                • Package Manager: ubuntu:22.04 @@ -3098,7 +2755,7 @@

                  CVE-2024-41996

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and openssl/libssl3@3.0.2-0ubuntu1.18 + docker-image|quay.io/argoproj/argocd@v2.11.13 and openssl/libssl3@3.0.2-0ubuntu1.18
                @@ -3111,7 +2768,7 @@

                Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › openssl/libssl3@3.0.2-0ubuntu1.18 @@ -3120,7 +2777,7 @@

                  Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › cyrus-sasl2/libsasl2-modules@2.1.27+dfsg2-3ubuntu1.2 › @@ -3131,7 +2788,7 @@

                  Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › libfido2/libfido2-1@1.10.0-1 › @@ -3142,7 +2799,7 @@

                  Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › openssh/openssh-client@1:8.9p1-3ubuntu0.10 › @@ -3153,7 +2810,7 @@

                  Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › ca-certificates@20240203~22.04.1 › @@ -3166,11 +2823,11 @@

                  Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › - git@1:2.34.1-1ubuntu1.11 + git@1:2.34.1-1ubuntu1.12 › - curl/libcurl3-gnutls@7.81.0-1ubuntu1.18 + curl/libcurl3-gnutls@7.81.0-1ubuntu1.20 › libssh/libssh-4@0.9.6-2ubuntu0.22.04.3 › @@ -3181,13 +2838,13 @@

                  Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › libnsl/libnsl2@1.3.0-2build2 › @@ -3204,7 +2861,7 @@

                  Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › openssl@3.0.2-0ubuntu1.18 @@ -3213,7 +2870,7 @@

                  Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › ca-certificates@20240203~22.04.1 › @@ -3261,7 +2918,7 @@

                  CVE-2023-50495

                  • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
                  • Package Manager: ubuntu:22.04 @@ -3274,7 +2931,7 @@

                    CVE-2023-50495

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and ncurses/libtinfo6@6.3-2ubuntu0.1 + docker-image|quay.io/argoproj/argocd@v2.11.13 and ncurses/libtinfo6@6.3-2ubuntu0.1
                  @@ -3287,7 +2944,7 @@

                  Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › ncurses/libtinfo6@6.3-2ubuntu0.1 @@ -3296,7 +2953,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › bash@5.1-6ubuntu1.1 › @@ -3307,7 +2964,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › ncurses/libncursesw6@6.3-2ubuntu0.1 › @@ -3318,7 +2975,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › less@590-1ubuntu0.22.04.3 › @@ -3329,7 +2986,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › libedit/libedit2@3.1-20210910-1build1 › @@ -3340,7 +2997,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › ncurses/libncurses6@6.3-2ubuntu0.1 › @@ -3351,7 +3008,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › ncurses/ncurses-bin@6.3-2ubuntu0.1 › @@ -3362,7 +3019,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › procps@2:3.3.17-6ubuntu2.1 › @@ -3373,7 +3030,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › util-linux@2.37.2-4ubuntu3.4 › @@ -3384,7 +3041,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gpg@2.2.27-3ubuntu2.1 › @@ -3399,7 +3056,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -3414,7 +3071,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › ncurses/libncursesw6@6.3-2ubuntu0.1 @@ -3423,7 +3080,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › procps@2:3.3.17-6ubuntu2.1 › @@ -3434,7 +3091,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -3449,7 +3106,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › ncurses/libncurses6@6.3-2ubuntu0.1 @@ -3458,7 +3115,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › procps@2:3.3.17-6ubuntu2.1 › @@ -3469,7 +3126,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › ncurses/ncurses-base@6.3-2ubuntu0.1 @@ -3478,7 +3135,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › ncurses/ncurses-bin@6.3-2ubuntu0.1 @@ -3525,7 +3182,7 @@

                    CVE-2023-45918

                    • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
                    • Package Manager: ubuntu:22.04 @@ -3538,7 +3195,7 @@

                      CVE-2023-45918

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and ncurses/libtinfo6@6.3-2ubuntu0.1 + docker-image|quay.io/argoproj/argocd@v2.11.13 and ncurses/libtinfo6@6.3-2ubuntu0.1
                    @@ -3551,7 +3208,7 @@

                    Detailed paths

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › ncurses/libtinfo6@6.3-2ubuntu0.1 @@ -3560,7 +3217,7 @@

                      Detailed paths

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › bash@5.1-6ubuntu1.1 › @@ -3571,7 +3228,7 @@

                      Detailed paths

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › ncurses/libncursesw6@6.3-2ubuntu0.1 › @@ -3582,7 +3239,7 @@

                      Detailed paths

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › less@590-1ubuntu0.22.04.3 › @@ -3593,7 +3250,7 @@

                      Detailed paths

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › libedit/libedit2@3.1-20210910-1build1 › @@ -3604,7 +3261,7 @@

                      Detailed paths

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › ncurses/libncurses6@6.3-2ubuntu0.1 › @@ -3615,7 +3272,7 @@

                      Detailed paths

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › ncurses/ncurses-bin@6.3-2ubuntu0.1 › @@ -3626,7 +3283,7 @@

                      Detailed paths

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › procps@2:3.3.17-6ubuntu2.1 › @@ -3637,7 +3294,7 @@

                      Detailed paths

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › util-linux@2.37.2-4ubuntu3.4 › @@ -3648,7 +3305,7 @@

                      Detailed paths

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gpg@2.2.27-3ubuntu2.1 › @@ -3663,7 +3320,7 @@

                      Detailed paths

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -3678,7 +3335,7 @@

                      Detailed paths

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › ncurses/libncursesw6@6.3-2ubuntu0.1 @@ -3687,7 +3344,7 @@

                      Detailed paths

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › procps@2:3.3.17-6ubuntu2.1 › @@ -3698,7 +3355,7 @@

                      Detailed paths

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -3713,7 +3370,7 @@

                      Detailed paths

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › ncurses/libncurses6@6.3-2ubuntu0.1 @@ -3722,7 +3379,7 @@

                      Detailed paths

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › procps@2:3.3.17-6ubuntu2.1 › @@ -3733,7 +3390,7 @@

                      Detailed paths

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › ncurses/ncurses-base@6.3-2ubuntu0.1 @@ -3742,7 +3399,7 @@

                      Detailed paths

                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › ncurses/ncurses-bin@6.3-2ubuntu0.1 @@ -3788,7 +3445,7 @@

                      Resource Exhaustion

                      • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
                      • Package Manager: ubuntu:22.04 @@ -3801,7 +3458,7 @@

                        Resource Exhaustion

                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and libzstd/libzstd1@1.4.8+dfsg-3build1 + docker-image|quay.io/argoproj/argocd@v2.11.13 and libzstd/libzstd1@1.4.8+dfsg-3build1
                      @@ -3814,7 +3471,7 @@

                      Detailed paths

                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › libzstd/libzstd1@1.4.8+dfsg-3build1 @@ -3865,7 +3522,7 @@

                        Information Exposure

                        • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
                        • Package Manager: ubuntu:22.04 @@ -3878,7 +3535,7 @@

                          Information Exposure

                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and libgcrypt20@1.9.4-3ubuntu3 + docker-image|quay.io/argoproj/argocd@v2.11.13 and libgcrypt20@1.9.4-3ubuntu3
                        @@ -3891,7 +3548,7 @@

                        Detailed paths

                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › libgcrypt20@1.9.4-3ubuntu3 @@ -3900,7 +3557,7 @@

                          Detailed paths

                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/dirmngr@2.2.27-3ubuntu2.1 › @@ -3911,7 +3568,7 @@

                          Detailed paths

                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gpg@2.2.27-3ubuntu2.1 › @@ -3922,7 +3579,7 @@

                          Detailed paths

                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › apt@2.4.13 › @@ -3935,7 +3592,7 @@

                          Detailed paths

                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › apt@2.4.13 › @@ -3948,7 +3605,7 @@

                          Detailed paths

                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gpg@2.2.27-3ubuntu2.1 › @@ -3961,7 +3618,7 @@

                          Detailed paths

                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -3974,7 +3631,7 @@

                          Detailed paths

                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -3987,7 +3644,7 @@

                          Detailed paths

                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -4000,7 +3657,7 @@

                          Detailed paths

                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -4013,7 +3670,7 @@

                          Detailed paths

                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -4026,7 +3683,7 @@

                          Detailed paths

                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › apt@2.4.13 › @@ -4079,7 +3736,7 @@

                          Integer Overflow or Wraparound

                          • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
                          • Package Manager: ubuntu:22.04 @@ -4092,7 +3749,7 @@

                            Integer Overflow or Wraparound

                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and krb5/libk5crypto3@1.19.2-2ubuntu0.4 + docker-image|quay.io/argoproj/argocd@v2.11.13 and krb5/libk5crypto3@1.19.2-2ubuntu0.4
                          @@ -4105,7 +3762,7 @@

                          Detailed paths

                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › krb5/libk5crypto3@1.19.2-2ubuntu0.4 @@ -4114,13 +3771,13 @@

                            Detailed paths

                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › libnsl/libnsl2@1.3.0-2build2 › @@ -4135,13 +3792,13 @@

                            Detailed paths

                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › libnsl/libnsl2@1.3.0-2build2 › @@ -4158,7 +3815,7 @@

                            Detailed paths

                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › krb5/libkrb5-3@1.19.2-2ubuntu0.4 @@ -4167,13 +3824,13 @@

                            Detailed paths

                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › libnsl/libnsl2@1.3.0-2build2 › @@ -4188,7 +3845,7 @@

                            Detailed paths

                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › krb5/libgssapi-krb5-2@1.19.2-2ubuntu0.4 @@ -4197,7 +3854,7 @@

                            Detailed paths

                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › openssh/openssh-client@1:8.9p1-3ubuntu0.10 › @@ -4208,11 +3865,11 @@

                            Detailed paths

                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › - git@1:2.34.1-1ubuntu1.11 + git@1:2.34.1-1ubuntu1.12 › - curl/libcurl3-gnutls@7.81.0-1ubuntu1.18 + curl/libcurl3-gnutls@7.81.0-1ubuntu1.20 › krb5/libgssapi-krb5-2@1.19.2-2ubuntu0.4 @@ -4221,11 +3878,11 @@

                            Detailed paths

                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › - git@1:2.34.1-1ubuntu1.11 + git@1:2.34.1-1ubuntu1.12 › - curl/libcurl3-gnutls@7.81.0-1ubuntu1.18 + curl/libcurl3-gnutls@7.81.0-1ubuntu1.20 › libssh/libssh-4@0.9.6-2ubuntu0.22.04.3 › @@ -4236,13 +3893,13 @@

                            Detailed paths

                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › libnsl/libnsl2@1.3.0-2build2 › @@ -4255,7 +3912,7 @@

                            Detailed paths

                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › krb5/libkrb5support0@1.19.2-2ubuntu0.4 @@ -4303,7 +3960,7 @@

                            CVE-2024-26461

                            • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
                            • Package Manager: ubuntu:22.04 @@ -4316,7 +3973,7 @@

                              CVE-2024-26461

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and krb5/libk5crypto3@1.19.2-2ubuntu0.4 + docker-image|quay.io/argoproj/argocd@v2.11.13 and krb5/libk5crypto3@1.19.2-2ubuntu0.4
                            @@ -4329,7 +3986,7 @@

                            Detailed paths

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › krb5/libk5crypto3@1.19.2-2ubuntu0.4 @@ -4338,13 +3995,13 @@

                              Detailed paths

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › libnsl/libnsl2@1.3.0-2build2 › @@ -4359,13 +4016,13 @@

                              Detailed paths

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › libnsl/libnsl2@1.3.0-2build2 › @@ -4382,7 +4039,7 @@

                              Detailed paths

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › krb5/libkrb5-3@1.19.2-2ubuntu0.4 @@ -4391,13 +4048,13 @@

                              Detailed paths

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › libnsl/libnsl2@1.3.0-2build2 › @@ -4412,7 +4069,7 @@

                              Detailed paths

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › krb5/libgssapi-krb5-2@1.19.2-2ubuntu0.4 @@ -4421,7 +4078,7 @@

                              Detailed paths

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › openssh/openssh-client@1:8.9p1-3ubuntu0.10 › @@ -4432,11 +4089,11 @@

                              Detailed paths

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › - git@1:2.34.1-1ubuntu1.11 + git@1:2.34.1-1ubuntu1.12 › - curl/libcurl3-gnutls@7.81.0-1ubuntu1.18 + curl/libcurl3-gnutls@7.81.0-1ubuntu1.20 › krb5/libgssapi-krb5-2@1.19.2-2ubuntu0.4 @@ -4445,11 +4102,11 @@

                              Detailed paths

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › - git@1:2.34.1-1ubuntu1.11 + git@1:2.34.1-1ubuntu1.12 › - curl/libcurl3-gnutls@7.81.0-1ubuntu1.18 + curl/libcurl3-gnutls@7.81.0-1ubuntu1.20 › libssh/libssh-4@0.9.6-2ubuntu0.22.04.3 › @@ -4460,13 +4117,13 @@

                              Detailed paths

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › libnsl/libnsl2@1.3.0-2build2 › @@ -4479,7 +4136,7 @@

                              Detailed paths

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › krb5/libkrb5support0@1.19.2-2ubuntu0.4 @@ -4524,7 +4181,7 @@

                              CVE-2024-26458

                              • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
                              • Package Manager: ubuntu:22.04 @@ -4537,7 +4194,7 @@

                                CVE-2024-26458

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and krb5/libk5crypto3@1.19.2-2ubuntu0.4 + docker-image|quay.io/argoproj/argocd@v2.11.13 and krb5/libk5crypto3@1.19.2-2ubuntu0.4
                              @@ -4550,7 +4207,7 @@

                              Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › krb5/libk5crypto3@1.19.2-2ubuntu0.4 @@ -4559,13 +4216,13 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › libnsl/libnsl2@1.3.0-2build2 › @@ -4580,13 +4237,13 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › libnsl/libnsl2@1.3.0-2build2 › @@ -4603,7 +4260,7 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › krb5/libkrb5-3@1.19.2-2ubuntu0.4 @@ -4612,13 +4269,13 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › libnsl/libnsl2@1.3.0-2build2 › @@ -4633,7 +4290,7 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › krb5/libgssapi-krb5-2@1.19.2-2ubuntu0.4 @@ -4642,7 +4299,7 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › openssh/openssh-client@1:8.9p1-3ubuntu0.10 › @@ -4653,11 +4310,11 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › - git@1:2.34.1-1ubuntu1.11 + git@1:2.34.1-1ubuntu1.12 › - curl/libcurl3-gnutls@7.81.0-1ubuntu1.18 + curl/libcurl3-gnutls@7.81.0-1ubuntu1.20 › krb5/libgssapi-krb5-2@1.19.2-2ubuntu0.4 @@ -4666,11 +4323,11 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › - git@1:2.34.1-1ubuntu1.11 + git@1:2.34.1-1ubuntu1.12 › - curl/libcurl3-gnutls@7.81.0-1ubuntu1.18 + curl/libcurl3-gnutls@7.81.0-1ubuntu1.20 › libssh/libssh-4@0.9.6-2ubuntu0.22.04.3 › @@ -4681,13 +4338,13 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › adduser@3.118ubuntu5 › shadow/passwd@1:4.8.1-2ubuntu2.2 › - pam/libpam-modules@1.4.0-11ubuntu2.4 + pam/libpam-modules@1.4.0-11ubuntu2.5 › libnsl/libnsl2@1.3.0-2build2 › @@ -4700,7 +4357,7 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › krb5/libkrb5support0@1.19.2-2ubuntu0.4 @@ -4745,7 +4402,7 @@

                                Out-of-bounds Write

                                • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
                                • Package Manager: ubuntu:22.04 @@ -4758,7 +4415,7 @@

                                  Out-of-bounds Write

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and gnupg2/gpgv@2.2.27-3ubuntu2.1 + docker-image|quay.io/argoproj/argocd@v2.11.13 and gnupg2/gpgv@2.2.27-3ubuntu2.1
                                @@ -4771,7 +4428,7 @@

                                Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gpgv@2.2.27-3ubuntu2.1 @@ -4780,7 +4437,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › apt@2.4.13 › @@ -4791,7 +4448,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -4802,7 +4459,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/dirmngr@2.2.27-3ubuntu2.1 › @@ -4813,7 +4470,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gpg@2.2.27-3ubuntu2.1 › @@ -4824,7 +4481,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -4837,7 +4494,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -4850,7 +4507,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/dirmngr@2.2.27-3ubuntu2.1 @@ -4859,7 +4516,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -4870,7 +4527,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -4883,7 +4540,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg-l10n@2.2.27-3ubuntu2.1 @@ -4892,7 +4549,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -4903,7 +4560,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg-utils@2.2.27-3ubuntu2.1 @@ -4912,7 +4569,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -4923,7 +4580,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gpg@2.2.27-3ubuntu2.1 @@ -4932,7 +4589,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -4943,7 +4600,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -4956,7 +4613,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -4969,7 +4626,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gpg-agent@2.2.27-3ubuntu2.1 @@ -4978,7 +4635,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -4989,7 +4646,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -5002,7 +4659,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -5015,7 +4672,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gpg-wks-client@2.2.27-3ubuntu2.1 @@ -5024,7 +4681,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -5035,7 +4692,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gpg-wks-server@2.2.27-3ubuntu2.1 @@ -5044,7 +4701,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -5055,7 +4712,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gpgsm@2.2.27-3ubuntu2.1 @@ -5064,7 +4721,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 › @@ -5075,7 +4732,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gnupg2/gnupg@2.2.27-3ubuntu2.1 @@ -5124,7 +4781,7 @@

                                  Allocation of Resources Without Limits or Throttling

                                • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
                                • Package Manager: ubuntu:22.04 @@ -5137,7 +4794,7 @@

                                  Allocation of Resources Without Limits or Throttling

                                  Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and glibc/libc-bin@2.35-0ubuntu3.8 + docker-image|quay.io/argoproj/argocd@v2.11.13 and glibc/libc-bin@2.35-0ubuntu3.8
                                @@ -5150,7 +4807,7 @@

                                Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › glibc/libc-bin@2.35-0ubuntu3.8 @@ -5159,7 +4816,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › glibc/libc6@2.35-0ubuntu3.8 @@ -5205,7 +4862,7 @@

                                  Insufficient Documentation of Error Handling Techniques<
                                  • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                                  • Package Manager: golang @@ -5274,7 +4931,7 @@

                                    Insufficient Documentation of Error Handling Techniques<
                                    • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                                    • Package Manager: golang @@ -5343,7 +5000,7 @@

                                      Improper Input Validation

                                      • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
                                      • Package Manager: ubuntu:22.04 @@ -5357,7 +5014,7 @@

                                        Improper Input Validation

                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12, git@1:2.34.1-1ubuntu1.11 and others + docker-image|quay.io/argoproj/argocd@v2.11.13, git@1:2.34.1-1ubuntu1.12 and others
                                      @@ -5369,31 +5026,31 @@

                                      Detailed paths

                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › - git@1:2.34.1-1ubuntu1.11 + git@1:2.34.1-1ubuntu1.12 › - git/git-man@1:2.34.1-1ubuntu1.11 + git/git-man@1:2.34.1-1ubuntu1.12
                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › - git@1:2.34.1-1ubuntu1.11 + git@1:2.34.1-1ubuntu1.12
                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › - git-lfs@3.0.2-1ubuntu0.2 + git-lfs@3.0.2-1ubuntu0.3 › - git@1:2.34.1-1ubuntu1.11 + git@1:2.34.1-1ubuntu1.12 @@ -5436,7 +5093,7 @@

                                        Uncontrolled Recursion

                                        • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
                                        • Package Manager: ubuntu:22.04 @@ -5449,7 +5106,7 @@

                                          Uncontrolled Recursion

                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and gcc-12/libstdc++6@12.3.0-1ubuntu1~22.04 + docker-image|quay.io/argoproj/argocd@v2.11.13 and gcc-12/libstdc++6@12.3.0-1ubuntu1~22.04
                                        @@ -5462,7 +5119,7 @@

                                        Detailed paths

                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gcc-12/libstdc++6@12.3.0-1ubuntu1~22.04 @@ -5471,7 +5128,7 @@

                                          Detailed paths

                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › apt@2.4.13 › @@ -5482,7 +5139,7 @@

                                          Detailed paths

                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › apt@2.4.13 › @@ -5495,7 +5152,7 @@

                                          Detailed paths

                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gcc-12/gcc-12-base@12.3.0-1ubuntu1~22.04 @@ -5504,7 +5161,7 @@

                                          Detailed paths

                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › gcc-12/libgcc-s1@12.3.0-1ubuntu1~22.04 @@ -5538,181 +5195,6 @@

                                          References

                                          More about this vulnerability

    -
    -
    -

    Insufficient Comparison

    -
    - -
    - low severity -
    - -
    - -
      -
    • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile -
    • -
    • - Package Manager: ubuntu:22.04 -
    • -
    • - Vulnerable module: - - curl/libcurl3-gnutls -
    • - -
    • Introduced through: - - - docker-image|quay.io/argoproj/argocd@v2.11.12, git@1:2.34.1-1ubuntu1.11 and others -
    • -
    - -
    - - -

    Detailed paths

    - -
      -
    • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 - › - git@1:2.34.1-1ubuntu1.11 - › - curl/libcurl3-gnutls@7.81.0-1ubuntu1.18 - - - -
    • -
    - -
    - -
    - -

    NVD Description

    -

    Note: Versions mentioned in the description apply only to the upstream curl package and not the curl package as distributed by Ubuntu. - See How to fix? for Ubuntu:22.04 relevant fixed versions and status.

    -

    When curl is asked to use HSTS, the expiry time for a subdomain might - overwrite a parent domain's cache entry, making it end sooner or later than - otherwise intended.

    -

    This affects curl using applications that enable HSTS and use URLs with the - insecure HTTP:// scheme and perform transfers with hosts like - x.example.com as well as example.com where the first host is a subdomain - of the second host.

    -

    (The HSTS cache either needs to have been populated manually or there needs to - have been previous HTTPS accesses done as the cache needs to have entries for - the domains involved to trigger this problem.)

    -

    When x.example.com responds with Strict-Transport-Security: headers, this - bug can make the subdomain's expiry timeout bleed over and get set for the - parent domain example.com in curl's HSTS cache.

    -

    The result of a triggered bug is that HTTP accesses to example.com get - converted to HTTPS for a different period of time than what was asked for by - the origin server. If example.com for example stops supporting HTTPS at its - expiry time, curl might then fail to access http://example.com until the - (wrongly set) timeout expires. This bug can also expire the parent's entry - earlier, thus making curl inadvertently switch back to insecure HTTP earlier - than otherwise intended.

    -

    Remediation

    -

    Upgrade Ubuntu:22.04 curl to version 7.81.0-1ubuntu1.19 or higher.

    -

    References

    - - -
    - - - -
    -
    -

    CVE-2024-11053

    -
    - -
    - low severity -
    - -
    - -
      -
    • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile -
    • -
    • - Package Manager: ubuntu:22.04 -
    • -
    • - Vulnerable module: - - curl/libcurl3-gnutls -
    • - -
    • Introduced through: - - - docker-image|quay.io/argoproj/argocd@v2.11.12, git@1:2.34.1-1ubuntu1.11 and others -
    • -
    - -
    - - -

    Detailed paths

    - -
      -
    • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 - › - git@1:2.34.1-1ubuntu1.11 - › - curl/libcurl3-gnutls@7.81.0-1ubuntu1.18 - - - -
    • -
    - -
    - -
    - -

    NVD Description

    -

    Note: Versions mentioned in the description apply only to the upstream curl package and not the curl package as distributed by Ubuntu. - See How to fix? for Ubuntu:22.04 relevant fixed versions and status.

    -

    When asked to both use a .netrc file for credentials and to follow HTTP - redirects, curl could leak the password used for the first host to the - followed-to host under certain circumstances.

    -

    This flaw only manifests itself if the netrc file has an entry that matches - the redirect target hostname but the entry either omits just the password or - omits both login and password.

    -

    Remediation

    -

    Upgrade Ubuntu:22.04 curl to version 7.81.0-1ubuntu1.20 or higher.

    -

    References

    - - -
    - - -

    Improper Input Validation

    @@ -5726,7 +5208,7 @@

    Improper Input Validation

    • - Manifest file: quay.io/argoproj/argocd:v2.11.12/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.11.13/argoproj/argocd › Dockerfile
    • Package Manager: ubuntu:22.04 @@ -5739,7 +5221,7 @@

      Improper Input Validation

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 and coreutils@8.32-4.1ubuntu1.2 + docker-image|quay.io/argoproj/argocd@v2.11.13 and coreutils@8.32-4.1ubuntu1.2
    @@ -5752,7 +5234,7 @@

    Detailed paths

    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.11.12 + docker-image|quay.io/argoproj/argocd@v2.11.13 › coreutils@8.32-4.1ubuntu1.2 diff --git a/docs/snyk/v2.11.12/redis_7.0.15-alpine.html b/docs/snyk/v2.11.13/redis_7.0.15-alpine.html similarity index 99% rename from docs/snyk/v2.11.12/redis_7.0.15-alpine.html rename to docs/snyk/v2.11.13/redis_7.0.15-alpine.html index 1f990753f5b4f..8950240209ecd 100644 --- a/docs/snyk/v2.11.12/redis_7.0.15-alpine.html +++ b/docs/snyk/v2.11.13/redis_7.0.15-alpine.html @@ -456,7 +456,7 @@

      Snyk test report

      -

      January 19th 2025, 12:30:27 am (UTC+00:00)

      +

      February 2nd 2025, 12:30:03 am (UTC+00:00)

      Scanned the following paths: diff --git a/docs/snyk/v2.12.9/argocd-iac-install.html b/docs/snyk/v2.12.10/argocd-iac-install.html similarity index 99% rename from docs/snyk/v2.12.9/argocd-iac-install.html rename to docs/snyk/v2.12.10/argocd-iac-install.html index 85a7e4ead484e..08718df7bfafb 100644 --- a/docs/snyk/v2.12.9/argocd-iac-install.html +++ b/docs/snyk/v2.12.10/argocd-iac-install.html @@ -456,7 +456,7 @@

      Snyk test report

      -

      January 19th 2025, 12:29:14 am (UTC+00:00)

      +

      February 2nd 2025, 12:29:01 am (UTC+00:00)

      Scanned the following path: diff --git a/docs/snyk/v2.12.9/argocd-iac-namespace-install.html b/docs/snyk/v2.12.10/argocd-iac-namespace-install.html similarity index 99% rename from docs/snyk/v2.12.9/argocd-iac-namespace-install.html rename to docs/snyk/v2.12.10/argocd-iac-namespace-install.html index d7fb0e256402f..cb7d8b4a816c8 100644 --- a/docs/snyk/v2.12.9/argocd-iac-namespace-install.html +++ b/docs/snyk/v2.12.10/argocd-iac-namespace-install.html @@ -456,7 +456,7 @@

      Snyk test report

      -

      January 19th 2025, 12:29:25 am (UTC+00:00)

      +

      February 2nd 2025, 12:29:11 am (UTC+00:00)

      Scanned the following path: diff --git a/docs/snyk/v2.12.10/argocd-test.html b/docs/snyk/v2.12.10/argocd-test.html new file mode 100644 index 0000000000000..3a63c1868599c --- /dev/null +++ b/docs/snyk/v2.12.10/argocd-test.html @@ -0,0 +1,1714 @@ + + + + + + + + + Snyk test report + + + + + + + + + +
      +
      +
      +
      + + + Snyk - Open Source Security + + + + + + + +
      +

      Snyk test report

      + +

      February 2nd 2025, 12:26:57 am (UTC+00:00)

      +
      +
      + Scanned the following paths: +
        +
      • /argo-cd/argoproj/argo-cd/v2/go.mod (gomodules)
      • +
      • /argo-cd/ui/yarn.lock (yarn)
      • +
      +
      + +
      +
      11 known vulnerabilities
      +
      37 vulnerable dependency paths
      +
      2066 dependencies
      +
      +
      +
      +
      + +
      +
      +
      +

      LGPL-3.0 license

      +
      + +
      + medium severity +
      + +
      + +
        +
      • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
      • +
      • + Package Manager: golang +
      • +
      • + Module: + + gopkg.in/retry.v1 +
      • + +
      • Introduced through: + + + github.com/argoproj/argo-cd/v2@0.0.0, github.com/Azure/kubelogin/pkg/token@0.0.20 and others +
      • +
      + +
      + + +

      Detailed paths

      + +
        +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/Azure/kubelogin/pkg/token@0.0.20 + › + gopkg.in/retry.v1@1.0.3 + + + +
      • +
      + +
      + +
      + +

      LGPL-3.0 license

      + +
      + + + +
      +
      +

      Denial of Service (DoS)

      +
      + +
      + medium severity +
      + +
      + +
        +
      • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
      • +
      • + Package Manager: golang +
      • +
      • + Vulnerable module: + + github.com/rs/cors +
      • + +
      • Introduced through: + + + github.com/argoproj/argo-cd/v2@0.0.0, github.com/improbable-eng/grpc-web/go/grpcweb@0.15.0 and others +
      • +
      + +
      + + +

      Detailed paths

      + +
        +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/improbable-eng/grpc-web/go/grpcweb@0.15.0 + › + github.com/rs/cors@1.9.0 + + + +
      • +
      + +
      + +
      + +

      Overview

      +

      Affected versions of this package are vulnerable to Denial of Service (DoS) through the processing of malicious preflight requests that include a Access-Control-Request-Headers header with excessive commas. An attacker can induce excessive memory consumption and potentially crash the server by sending specially crafted requests.

      +

      PoC

      +
      
      +        func BenchmarkPreflightAdversarialACRH(b *testing.B) {
      +            resps := makeFakeResponses(b.N)
      +            req, _ := http.NewRequest(http.MethodOptions, dummyEndpoint, nil)
      +            req.Header.Add(headerOrigin, dummyOrigin)
      +            req.Header.Add(headerACRM, http.MethodGet)
      +            req.Header[headerACRH] = adversarialACRH
      +            handler := Default().Handler(testHandler)
      +        
      +            b.ReportAllocs()
      +            b.ResetTimer()
      +            for i := 0; i < b.N; i++ {
      +                handler.ServeHTTP(resps[i], req)
      +            }
      +        }
      +        
      +        var adversarialACRH []string
      +        
      +        func init() { // populates adversarialACRH
      +            n := int(math.Floor(math.Sqrt(http.DefaultMaxHeaderBytes)))
      +            commas := strings.Repeat(",", n)
      +            res := make([]string, n)
      +            for i := range res {
      +                res[i] = commas
      +            }
      +            adversarialACRH = res
      +        }
      +        
      +

      Details

      +

      Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.

      +

      Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.

      +

      One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.

      +

      When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.

      +

      Two common types of DoS vulnerabilities:

      +
        +
      • High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.

        +
      • +
      • Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm ws package

        +
      • +
      +

      Remediation

      +

      Upgrade github.com/rs/cors to version 1.11.0 or higher.

      +

      References

      + + +
      + + + +
      +
      +

      MPL-2.0 license

      +
      + +
      + medium severity +
      + +
      + +
        +
      • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
      • +
      • + Package Manager: golang +
      • +
      • + Module: + + github.com/r3labs/diff +
      • + +
      • Introduced through: + + github.com/argoproj/argo-cd/v2@0.0.0 and github.com/r3labs/diff@1.1.0 + +
      • +
      + +
      + + +

      Detailed paths

      + +
        +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/r3labs/diff@1.1.0 + + + +
      • +
      + +
      + +
      + +

      MPL-2.0 license

      + +
      + + + +
      +
      +

      MPL-2.0 license

      +
      + +
      + medium severity +
      + +
      + +
        +
      • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
      • +
      • + Package Manager: golang +
      • +
      • + Module: + + github.com/hashicorp/go-version +
      • + +
      • Introduced through: + + + github.com/argoproj/argo-cd/v2@0.0.0, code.gitea.io/sdk/gitea@0.18.0 and others +
      • +
      + +
      + + +

      Detailed paths

      + +
        +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + code.gitea.io/sdk/gitea@0.18.0 + › + github.com/hashicorp/go-version@1.6.0 + + + +
      • +
      + +
      + +
      + +

      MPL-2.0 license

      + +
      + + + +
      +
      +

      MPL-2.0 license

      +
      + +
      + medium severity +
      + +
      + +
        +
      • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
      • +
      • + Package Manager: golang +
      • +
      • + Module: + + github.com/hashicorp/go-retryablehttp +
      • + +
      • Introduced through: + + github.com/argoproj/argo-cd/v2@0.0.0 and github.com/hashicorp/go-retryablehttp@0.7.7 + +
      • +
      + +
      + + +

      Detailed paths

      + +
        +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/xanzy/go-gitlab@0.91.1 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/cmd@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/api@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/controller@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/cmd@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/api@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/controller@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
      • +
      + +
      + +
      + +

      MPL-2.0 license

      + +
      + + + +
      +
      +

      MPL-2.0 license

      +
      + +
      + medium severity +
      + +
      + +
        +
      • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
      • +
      • + Package Manager: golang +
      • +
      • + Module: + + github.com/hashicorp/go-cleanhttp +
      • + +
      • Introduced through: + + + github.com/argoproj/argo-cd/v2@0.0.0, github.com/hashicorp/go-retryablehttp@0.7.7 and others +
      • +
      + +
      + + +

      Detailed paths

      + +
        +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + › + github.com/hashicorp/go-cleanhttp@0.5.2 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/xanzy/go-gitlab@0.91.1 + › + github.com/hashicorp/go-cleanhttp@0.5.2 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/xanzy/go-gitlab@0.91.1 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + › + github.com/hashicorp/go-cleanhttp@0.5.2 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + › + github.com/hashicorp/go-cleanhttp@0.5.2 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + › + github.com/hashicorp/go-cleanhttp@0.5.2 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/cmd@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + › + github.com/hashicorp/go-cleanhttp@0.5.2 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/api@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + › + github.com/hashicorp/go-cleanhttp@0.5.2 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/controller@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + › + github.com/hashicorp/go-cleanhttp@0.5.2 + + + +
      • +
      + +
      + +
      + +

      MPL-2.0 license

      + +
      + + + +
      +
      +

      MPL-2.0 license

      +
      + +
      + medium severity +
      + +
      + +
        +
      • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
      • +
      • + Package Manager: golang +
      • +
      • + Module: + + github.com/gosimple/slug +
      • + +
      • Introduced through: + + github.com/argoproj/argo-cd/v2@0.0.0 and github.com/gosimple/slug@1.13.1 + +
      • +
      + +
      + + +

      Detailed paths

      + +
        +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/gosimple/slug@1.13.1 + + + +
      • +
      + +
      + +
      + +

      MPL-2.0 license

      + +
      + + + +
      +
      +

      Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

      +
      + +
      + medium severity +
      + +
      + +
        +
      • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
      • +
      • + Package Manager: golang +
      • +
      • + Vulnerable module: + + github.com/Azure/azure-sdk-for-go/sdk/azidentity +
      • + +
      • Introduced through: + + + github.com/argoproj/argo-cd/v2@0.0.0, github.com/Azure/kubelogin/pkg/token@0.0.20 and others +
      • +
      + +
      + + +

      Detailed paths

      + +
        +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/Azure/kubelogin/pkg/token@0.0.20 + › + github.com/Azure/azure-sdk-for-go/sdk/azidentity@1.1.0 + + + +
      • +
      + +
      + +
      + +

      Overview

      +

      github.com/Azure/azure-sdk-for-go/sdk/azidentity is a module that provides Microsoft Entra ID (formerly Azure Active Directory) token authentication support across the Azure SDK. It includes a set of TokenCredential implementations, which can be used with Azure SDK clients supporting token authentication.

      +

      Affected versions of this package are vulnerable to Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') in the authentication process. An attacker can elevate privileges by exploiting race conditions during the token validation steps. This is only exploitable if the application is configured to use multiple threads or processes for handling authentication requests.

      +

      Notes:

      +
        +
      1. An attacker who successfully exploited the vulnerability could elevate privileges and read any file on the file system with SYSTEM access permissions;

        +
      2. +
      3. An attacker who successfully exploits this vulnerability can only obtain read access to the system files by exploiting this vulnerability. The attacker cannot perform write or delete operations on the files;

        +
      4. +
      5. The vulnerability exists in the following credential types: DefaultAzureCredential and ManagedIdentityCredential;

        +
      6. +
      7. The vulnerability exists in the following credential types:

        +
      8. +
      +

      ManagedIdentityApplication (.NET)

      +

      ManagedIdentityApplication (Java)

      +

      ManagedIdentityApplication (Node.js)

      +

      Remediation

      +

      Upgrade github.com/Azure/azure-sdk-for-go/sdk/azidentity to version 1.6.0 or higher.

      +

      References

      + + +
      + + + +
      +
      +

      Regular Expression Denial of Service (ReDoS)

      +
      + +
      + medium severity +
      + +
      + +
        +
      • + Manifest file: /argo-cd › ui/yarn.lock +
      • +
      • + Package Manager: npm +
      • +
      • + Vulnerable module: + + foundation-sites +
      • + +
      • Introduced through: + + argo-cd-ui@1.0.0 and foundation-sites@6.8.1 + +
      • +
      + +
      + + +

      Detailed paths

      + +
        +
      • + Introduced through: + argo-cd-ui@1.0.0 + › + foundation-sites@6.8.1 + + + +
      • +
      • + Introduced through: + argo-cd-ui@1.0.0 + › + argo-ui@1.0.0 + › + foundation-sites@6.8.1 + + + +
      • +
      + +
      + +
      + +

      Overview

      +

      foundation-sites is a responsive front-end framework

      +

      Affected versions of this package are vulnerable to Regular Expression Denial of Service (ReDoS) due to inefficient backtracking in the regular expressions used in URL forms.

      +

      PoC

      +
      https://www.''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
      +        
      +

      Details

      +

      Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its original and legitimate users. There are many types of DoS attacks, ranging from trying to clog the network pipes to the system by generating a large volume of traffic from many machines (a Distributed Denial of Service - DDoS - attack) to sending crafted requests that cause a system to crash or take a disproportional amount of time to process.

      +

      The Regular expression Denial of Service (ReDoS) is a type of Denial of Service attack. Regular expressions are incredibly powerful, but they aren't very intuitive and can ultimately end up making it easy for attackers to take your site down.

      +

      Let’s take the following regular expression as an example:

      +
      regex = /A(B|C+)+D/
      +        
      +

      This regular expression accomplishes the following:

      +
        +
      • A The string must start with the letter 'A'
      • +
      • (B|C+)+ The string must then follow the letter A with either the letter 'B' or some number of occurrences of the letter 'C' (the + matches one or more times). The + at the end of this section states that we can look for one or more matches of this section.
      • +
      • D Finally, we ensure this section of the string ends with a 'D'
      • +
      +

      The expression would match inputs such as ABBD, ABCCCCD, ABCBCCCD and ACCCCCD

      +

      It most cases, it doesn't take very long for a regex engine to find a match:

      +
      $ time node -e '/A(B|C+)+D/.test("ACCCCCCCCCCCCCCCCCCCCCCCCCCCCD")'
      +        0.04s user 0.01s system 95% cpu 0.052 total
      +        
      +        $ time node -e '/A(B|C+)+D/.test("ACCCCCCCCCCCCCCCCCCCCCCCCCCCCX")'
      +        1.79s user 0.02s system 99% cpu 1.812 total
      +        
      +

      The entire process of testing it against a 30 characters long string takes around ~52ms. But when given an invalid string, it takes nearly two seconds to complete the test, over ten times as long as it took to test a valid string. The dramatic difference is due to the way regular expressions get evaluated.

      +

      Most Regex engines will work very similarly (with minor differences). The engine will match the first possible way to accept the current character and proceed to the next one. If it then fails to match the next one, it will backtrack and see if there was another way to digest the previous character. If it goes too far down the rabbit hole only to find out the string doesn’t match in the end, and if many characters have multiple valid regex paths, the number of backtracking steps can become very large, resulting in what is known as catastrophic backtracking.

      +

      Let's look at how our expression runs into this problem, using a shorter string: "ACCCX". While it seems fairly straightforward, there are still four different ways that the engine could match those three C's:

      +
        +
      1. CCC
      2. +
      3. CC+C
      4. +
      5. C+CC
      6. +
      7. C+C+C.
      8. +
      +

      The engine has to try each of those combinations to see if any of them potentially match against the expression. When you combine that with the other steps the engine must take, we can use RegEx 101 debugger to see the engine has to take a total of 38 steps before it can determine the string doesn't match.

      +

      From there, the number of steps the engine must use to validate a string just continues to grow.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      StringNumber of C'sNumber of steps
      ACCCX338
      ACCCCX471
      ACCCCCX5136
      ACCCCCCCCCCCCCCX1465,553
      +

      By the time the string includes 14 C's, the engine has to take over 65,000 steps just to see if the string is valid. These extreme situations can cause them to work very slowly (exponentially related to input size, as shown above), allowing an attacker to exploit this and can cause the service to excessively consume CPU, resulting in a Denial of Service.

      +

      Remediation

      +

      There is no fixed version for foundation-sites.

      +

      References

      + + +
      + + + +
      +
      +

      Insufficient Documentation of Error Handling Techniques

      +
      + +
      + low severity +
      + +
      + +
        +
      • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
      • +
      • + Package Manager: golang +
      • +
      • + Vulnerable module: + + github.com/golang-jwt/jwt/v4 +
      • + +
      • Introduced through: + + github.com/argoproj/argo-cd/v2@0.0.0 and github.com/golang-jwt/jwt/v4@4.5.0 + +
      • +
      + +
      + + +

      Detailed paths

      + +
        +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/golang-jwt/jwt/v4@4.5.0 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/bradleyfalzon/ghinstallation/v2@2.6.0 + › + github.com/golang-jwt/jwt/v4@4.5.0 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/bradleyfalzon/ghinstallation/v2@2.6.0 + › + github.com/golang-jwt/jwt/v4@4.5.0 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/bradleyfalzon/ghinstallation/v2@2.6.0 + › + github.com/golang-jwt/jwt/v4@4.5.0 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/cmd@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/bradleyfalzon/ghinstallation/v2@2.6.0 + › + github.com/golang-jwt/jwt/v4@4.5.0 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/Azure/kubelogin/pkg/token@0.0.20 + › + github.com/Azure/go-autorest/autorest/azure@0.11.29 + › + github.com/Azure/go-autorest/autorest@0.11.29 + › + github.com/Azure/go-autorest/autorest/adal@0.9.23 + › + github.com/golang-jwt/jwt/v4@4.5.0 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/api@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/bradleyfalzon/ghinstallation/v2@2.6.0 + › + github.com/golang-jwt/jwt/v4@4.5.0 + + + +
      • +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/controller@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/bradleyfalzon/ghinstallation/v2@2.6.0 + › + github.com/golang-jwt/jwt/v4@4.5.0 + + + +
      • +
      + +
      + +
      + +

      Overview

      +

      Affected versions of this package are vulnerable to Insufficient Documentation of Error Handling Techniques in the ParseWithClaims function. An attacker can exploit this to accept invalid tokens by only checking for specific errors and ignoring others.

      +

      Workaround

      +

      Users who are not able to upgrade to the fixed version should make sure that they are properly checking for all errors, see example_test.go

      +

      Remediation

      +

      Upgrade github.com/golang-jwt/jwt/v4 to version 4.5.1 or higher.

      +

      References

      + + +
      + + + +
      +
      +

      Insufficient Documentation of Error Handling Techniques

      +
      + +
      + low severity +
      + +
      + +
        +
      • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
      • +
      • + Package Manager: golang +
      • +
      • + Vulnerable module: + + github.com/golang-jwt/jwt +
      • + +
      • Introduced through: + + + github.com/argoproj/argo-cd/v2@0.0.0, github.com/Azure/kubelogin/pkg/token@0.0.20 and others +
      • +
      + +
      + + +

      Detailed paths

      + +
        +
      • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/Azure/kubelogin/pkg/token@0.0.20 + › + github.com/AzureAD/microsoft-authentication-library-for-go/apps/confidential@0.5.2 + › + github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/oauth/ops/accesstokens@0.5.2 + › + github.com/golang-jwt/jwt@3.2.2 + + + +
      • +
      + +
      + +
      + +

      Overview

      +

      Affected versions of this package are vulnerable to Insufficient Documentation of Error Handling Techniques in the ParseWithClaims function. An attacker can exploit this to accept invalid tokens by only checking for specific errors and ignoring others.

      +

      Workaround

      +

      Users who are not able to upgrade to the fixed version should make sure that they are properly checking for all errors, see example_test.go

      +

      Remediation

      +

      A fix was pushed into the master branch but not yet published.

      +

      References

      + + +
      + + + +
      +
      +
      +
      + + + diff --git a/docs/snyk/v2.11.12/ghcr.io_dexidp_dex_v2.38.0.html b/docs/snyk/v2.12.10/ghcr.io_dexidp_dex_v2.38.0.html similarity index 96% rename from docs/snyk/v2.11.12/ghcr.io_dexidp_dex_v2.38.0.html rename to docs/snyk/v2.12.10/ghcr.io_dexidp_dex_v2.38.0.html index 1142e6ca715f5..717223f3b69b1 100644 --- a/docs/snyk/v2.11.12/ghcr.io_dexidp_dex_v2.38.0.html +++ b/docs/snyk/v2.12.10/ghcr.io_dexidp_dex_v2.38.0.html @@ -7,7 +7,7 @@ Snyk test report - + @@ -456,7 +456,7 @@

      Snyk test report

      -

      January 19th 2025, 12:29:51 am (UTC+00:00)

      +

      February 2nd 2025, 12:27:05 am (UTC+00:00)

      Scanned the following paths: @@ -469,8 +469,8 @@

      Snyk test report

      -
      45 known vulnerabilities
      -
      133 vulnerable dependency paths
      +
      46 known vulnerabilities
      +
      134 vulnerable dependency paths
      829 dependencies
      @@ -2695,6 +2695,131 @@

      References

      More about this vulnerability

      +
      +
      +

      Cross-site Scripting (XSS)

      +
      + +
      + medium severity +
      + +
      + +
        +
      • + Manifest file: ghcr.io/dexidp/dex:v2.38.0/hairyhenderson/gomplate/v3 › /usr/local/bin/gomplate +
      • +
      • + Package Manager: golang +
      • +
      • + Vulnerable module: + + github.com/hashicorp/consul/api +
      • + +
      • Introduced through: + + github.com/hairyhenderson/gomplate/v3@* and github.com/hashicorp/consul/api@v1.13.0 + +
      • +
      + +
      + + +

      Detailed paths

      + +
        +
      • + Introduced through: + github.com/hairyhenderson/gomplate/v3@* + › + github.com/hashicorp/consul/api@v1.13.0 + + + +
      • +
      + +
      + +
      + +

      Overview

      +

      Affected versions of this package are vulnerable to Cross-site Scripting (XSS) via requests sent with a Content-Type text value, which is insufficiently validated against the content of the request.

      +

      Note: This vulnerability has also been patched in Enterprise releases 1.15.16, 1.18.6, and 1.19.4.

      +

      Details

      +

      A cross-site scripting attack occurs when the attacker tricks a legitimate web-based application or site to accept a request as originating from a trusted source.

      +

      This is done by escaping the context of the web application; the web application then delivers that data to its users along with other trusted dynamic content, without validating it. The browser unknowingly executes malicious script on the client side (through client-side languages; usually JavaScript or HTML) in order to perform actions that are otherwise typically blocked by the browser’s Same Origin Policy.

      +

      Injecting malicious code is the most prevalent manner by which XSS is exploited; for this reason, escaping characters in order to prevent this manipulation is the top method for securing code against this vulnerability.

      +

      Escaping means that the application is coded to mark key characters, and particularly key characters included in user input, to prevent those characters from being interpreted in a dangerous context. For example, in HTML, < can be coded as &lt; and > can be coded as &gt; in order to be interpreted and displayed as themselves in text, while within the code itself, they are used for HTML tags. If malicious content is injected into an application that escapes special characters and that malicious content uses < and > as HTML tags, those characters are nonetheless not interpreted as HTML tags by the browser if they’ve been correctly escaped in the application code and in this way the attempted attack is diverted.

      +

      The most prominent use of XSS is to steal cookies (source: OWASP HttpOnly) and hijack user sessions, but XSS exploits have been used to expose sensitive information, enable access to privileged services and functionality and deliver malware.

      +

      Types of attacks

      +

      There are a few methods by which XSS can be manipulated:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      TypeOriginDescription
      StoredServerThe malicious code is inserted in the application (usually as a link) by the attacker. The code is activated every time a user clicks the link.
      ReflectedServerThe attacker delivers a malicious link externally from the vulnerable web site application to a user. When clicked, malicious code is sent to the vulnerable web site, which reflects the attack back to the user’s browser.
      DOM-basedClientThe attacker forces the user’s browser to render a malicious page. The data in the page itself delivers the cross-site scripting data.
      MutatedThe attacker injects code that appears safe, but is then rewritten and modified by the browser, while parsing the markup. An example is rebalancing unclosed quotation marks or even adding quotation marks to unquoted parameters.
      +

      Affected environments

      +

      The following environments are susceptible to an XSS attack:

      +
        +
      • Web servers
      • +
      • Application servers
      • +
      • Web application environments
      • +
      +

      How to prevent

      +

      This section describes the top best practices designed to specifically protect your code:

      +
        +
      • Sanitize data input in an HTTP request before reflecting it back, ensuring all data is validated, filtered or escaped before echoing anything back to the user, such as the values of query parameters during searches.
      • +
      • Convert special characters such as ?, &, /, <, > and spaces to their respective HTML or URL encoded equivalents.
      • +
      • Give users the option to disable client-side scripts.
      • +
      • Redirect invalid requests.
      • +
      • Detect simultaneous logins, including those from two separate IP addresses, and invalidate those sessions.
      • +
      • Use and enforce a Content Security Policy (source: Wikipedia) to disable any features that might be manipulated for an XSS attack.
      • +
      • Read the documentation for any of the libraries referenced in your code to understand which elements allow for embedded HTML.
      • +
      +

      Remediation

      +

      Upgrade github.com/hashicorp/consul/api to version 1.20.2 or higher.

      +

      References

      + + +
      + + +

      MPL-2.0 license

      diff --git a/docs/snyk/v2.12.9/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html b/docs/snyk/v2.12.10/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html similarity index 99% rename from docs/snyk/v2.12.9/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html rename to docs/snyk/v2.12.10/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html index 2b2f51d0e118e..f6c89052e2ff5 100644 --- a/docs/snyk/v2.12.9/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html +++ b/docs/snyk/v2.12.10/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html @@ -456,7 +456,7 @@

      Snyk test report

      -

      January 19th 2025, 12:27:23 am (UTC+00:00)

      +

      February 2nd 2025, 12:27:09 am (UTC+00:00)

      Scanned the following path: diff --git a/docs/snyk/v2.14.0-rc5/public.ecr.aws_docker_library_redis_7.0.15-alpine.html b/docs/snyk/v2.12.10/public.ecr.aws_docker_library_redis_7.0.15-alpine.html similarity index 99% rename from docs/snyk/v2.14.0-rc5/public.ecr.aws_docker_library_redis_7.0.15-alpine.html rename to docs/snyk/v2.12.10/public.ecr.aws_docker_library_redis_7.0.15-alpine.html index 5476c483c5f54..cabef146606fa 100644 --- a/docs/snyk/v2.14.0-rc5/public.ecr.aws_docker_library_redis_7.0.15-alpine.html +++ b/docs/snyk/v2.12.10/public.ecr.aws_docker_library_redis_7.0.15-alpine.html @@ -456,7 +456,7 @@

      Snyk test report

      -

      January 19th 2025, 12:22:13 am (UTC+00:00)

      +

      February 2nd 2025, 12:27:14 am (UTC+00:00)

      Scanned the following paths: diff --git a/docs/snyk/v2.13.3/quay.io_argoproj_argocd_v2.13.3.html b/docs/snyk/v2.12.10/quay.io_argoproj_argocd_v2.12.10.html similarity index 86% rename from docs/snyk/v2.13.3/quay.io_argoproj_argocd_v2.13.3.html rename to docs/snyk/v2.12.10/quay.io_argoproj_argocd_v2.12.10.html index 7a640ae81b6da..f419f0edcc559 100644 --- a/docs/snyk/v2.13.3/quay.io_argoproj_argocd_v2.13.3.html +++ b/docs/snyk/v2.12.10/quay.io_argoproj_argocd_v2.12.10.html @@ -7,7 +7,7 @@ Snyk test report - + @@ -456,23 +456,23 @@

      Snyk test report

      -

      January 19th 2025, 12:25:12 am (UTC+00:00)

      +

      February 2nd 2025, 12:27:34 am (UTC+00:00)

      Scanned the following paths:
        -
      • quay.io/argoproj/argocd:v2.13.3/argoproj/argocd/Dockerfile (deb)
      • -
      • quay.io/argoproj/argocd:v2.13.3/argoproj/argo-cd/v2//usr/local/bin/argocd (gomodules)
      • -
      • quay.io/argoproj/argocd:v2.13.3//usr/local/bin/kustomize (gomodules)
      • -
      • quay.io/argoproj/argocd:v2.13.3/helm/v3//usr/local/bin/helm (gomodules)
      • -
      • quay.io/argoproj/argocd:v2.13.3/git-lfs/git-lfs//usr/bin/git-lfs (gomodules)
      • +
      • quay.io/argoproj/argocd:v2.12.10/argoproj/argocd/Dockerfile (deb)
      • +
      • quay.io/argoproj/argocd:v2.12.10/argoproj/argo-cd/v2//usr/local/bin/argocd (gomodules)
      • +
      • quay.io/argoproj/argocd:v2.12.10//usr/local/bin/kustomize (gomodules)
      • +
      • quay.io/argoproj/argocd:v2.12.10/helm/v3//usr/local/bin/helm (gomodules)
      • +
      • quay.io/argoproj/argocd:v2.12.10/git-lfs/git-lfs//usr/bin/git-lfs (gomodules)
      -
      29 known vulnerabilities
      -
      117 vulnerable dependency paths
      -
      2354 dependencies
      +
      27 known vulnerabilities
      +
      110 vulnerable dependency paths
      +
      2292 dependencies
      @@ -480,80 +480,6 @@

      Snyk test report

      -
      -

      Incorrect Implementation of Authentication Algorithm

      -
      - -
      - critical severity -
      - -
      - -
        -
      • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argo-cd/v2 › /usr/local/bin/argocd -
      • -
      • - Package Manager: golang -
      • -
      • - Vulnerable module: - - golang.org/x/crypto/ssh -
      • - -
      • Introduced through: - - github.com/argoproj/argo-cd/v2@* and golang.org/x/crypto/ssh@v0.27.0 - -
      • -
      - -
      - - -

      Detailed paths

      - -
        -
      • - Introduced through: - github.com/argoproj/argo-cd/v2@* - › - golang.org/x/crypto/ssh@v0.27.0 - - - -
      • -
      - -
      - -
      - -

      Overview

      -

      golang.org/x/crypto/ssh is a SSH client and server

      -

      Affected versions of this package are vulnerable to Incorrect Implementation of Authentication Algorithm when the key passed in the last call before a connection is established is assumed to be the key used for authentication. It is not necessarily the authentication key in use, and this allows attackers who can control the key cache by making their own carefully-timed connections to bypass authorization with subsequent legitimate ServerConfig.PublicKeyCallback callbacks.

      -

      Note: The assumed caching behavior of this callback is not documented and is therefore considered human error, but the project maintainers have observed reliance on it for authorization decisions in production. In fact, the assumption is negated in the documentation, which states "A call to this function does not guarantee that the key offered is in fact used to authenticate." The behavior after upgrading still allows the possibility of an attacker forcing their own key to be the one in the cache when the callback is invoked if the client is using a different authentication method such as PasswordCallback, KeyboardInteractiveCallback, or NoClientAuth. It is therefore recommended to rely on the return values of the connection itself, found in ServerConn.Permissions for further authorization steps.

      -

      Remediation

      -

      Upgrade golang.org/x/crypto/ssh to version 0.31.0 or higher.

      -

      References

      - - -
      - - - -

      Denial of Service (DoS)

      @@ -566,7 +492,7 @@

      Denial of Service (DoS)

      • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.12.10/helm/v3 › /usr/local/bin/helm
      • Package Manager: golang @@ -579,7 +505,7 @@

        Denial of Service (DoS)

      • Introduced through: - github.com/argoproj/argo-cd/v2@* and golang.org/x/net/html@v0.29.0 + helm.sh/helm/v3@* and golang.org/x/net/html@v0.23.0
      @@ -590,15 +516,6 @@

      Denial of Service (DoS)

      Detailed paths

        -
      • - Introduced through: - github.com/argoproj/argo-cd/v2@* - › - golang.org/x/net/html@v0.29.0 - - - -
      • Introduced through: helm.sh/helm/v3@* @@ -645,76 +562,6 @@

        References

        More about this vulnerability

      -
      -
      -

      Allocation of Resources Without Limits or Throttling

      -
      - -
      - high severity -
      - -
      - -
        -
      • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argo-cd/v2 › /usr/local/bin/argocd -
      • -
      • - Package Manager: golang -
      • -
      • - Vulnerable module: - - github.com/go-git/go-git/v5/plumbing -
      • - -
      • Introduced through: - - github.com/argoproj/argo-cd/v2@* and github.com/go-git/go-git/v5/plumbing@v5.12.0 - -
      • -
      - -
      - - -

      Detailed paths

      - -
        -
      • - Introduced through: - github.com/argoproj/argo-cd/v2@* - › - github.com/go-git/go-git/v5/plumbing@v5.12.0 - - - -
      • -
      - -
      - -
      - -

      Overview

      -

      github.com/go-git/go-git/v5/plumbing is a highly extensible git implementation library written in pure Go.

      -

      Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via specially crafted responses from a Git server, which triggers resource exhaustion in clients.

      -

      Workaround

      -

      In cases where a bump to the latest version of go-git is not possible, we recommend limiting its use to only trustworthy Git servers.

      -

      Remediation

      -

      Upgrade github.com/go-git/go-git/v5/plumbing to version 5.13.0 or higher.

      -

      References

      - - -
      - - -

      CVE-2024-56433

      @@ -728,7 +575,7 @@

      CVE-2024-56433

      • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argocd › Dockerfile
      • Package Manager: ubuntu:24.04 @@ -741,7 +588,7 @@

        CVE-2024-56433

      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 and shadow/passwd@1:4.13+dfsg1-4ubuntu3.2 + docker-image|quay.io/argoproj/argocd@v2.12.10 and shadow/passwd@1:4.13+dfsg1-4ubuntu3.2
      @@ -754,7 +601,7 @@

      Detailed paths

      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › shadow/passwd@1:4.13+dfsg1-4ubuntu3.2 @@ -763,7 +610,7 @@

        Detailed paths

      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › openssh/openssh-client@1:9.6p1-3ubuntu13.5 › @@ -774,7 +621,7 @@

        Detailed paths

      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › apt@2.7.14build2 › @@ -787,7 +634,7 @@

        Detailed paths

      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 @@ -833,7 +680,7 @@

        Insecure Storage of Sensitive Information

        • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argocd › Dockerfile
        • Package Manager: ubuntu:24.04 @@ -846,7 +693,7 @@

          Insecure Storage of Sensitive Information

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 and pam/libpam0g@1.5.3-5ubuntu5.1 + docker-image|quay.io/argoproj/argocd@v2.12.10 and pam/libpam0g@1.5.3-5ubuntu5.1
        @@ -859,7 +706,7 @@

        Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › pam/libpam0g@1.5.3-5ubuntu5.1 @@ -868,7 +715,7 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 › @@ -879,9 +726,9 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - util-linux@2.39.3-9ubuntu6.1 + util-linux@2.39.3-9ubuntu6.2 › pam/libpam0g@1.5.3-5ubuntu5.1 @@ -890,7 +737,7 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › apt@2.7.14build2 › @@ -905,7 +752,7 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › apt@2.7.14build2 › @@ -922,7 +769,7 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › apt@2.7.14build2 › @@ -941,7 +788,7 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › pam/libpam-modules-bin@1.5.3-5ubuntu5.1 @@ -950,7 +797,7 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › apt@2.7.14build2 › @@ -967,7 +814,7 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › pam/libpam-modules@1.5.3-5ubuntu5.1 @@ -976,7 +823,7 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › pam/libpam-runtime@1.5.3-5ubuntu5.1 › @@ -987,7 +834,7 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 › @@ -998,7 +845,7 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › apt@2.7.14build2 › @@ -1013,7 +860,7 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › pam/libpam-runtime@1.5.3-5ubuntu5.1 @@ -1022,7 +869,7 @@

          Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 › @@ -1072,7 +919,7 @@

          Improper Authentication

          • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argocd › Dockerfile
          • Package Manager: ubuntu:24.04 @@ -1085,7 +932,7 @@

            Improper Authentication

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 and pam/libpam0g@1.5.3-5ubuntu5.1 + docker-image|quay.io/argoproj/argocd@v2.12.10 and pam/libpam0g@1.5.3-5ubuntu5.1
          @@ -1098,7 +945,7 @@

          Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › pam/libpam0g@1.5.3-5ubuntu5.1 @@ -1107,7 +954,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 › @@ -1118,9 +965,9 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - util-linux@2.39.3-9ubuntu6.1 + util-linux@2.39.3-9ubuntu6.2 › pam/libpam0g@1.5.3-5ubuntu5.1 @@ -1129,7 +976,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › apt@2.7.14build2 › @@ -1144,7 +991,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › apt@2.7.14build2 › @@ -1161,7 +1008,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › apt@2.7.14build2 › @@ -1180,7 +1027,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › pam/libpam-modules-bin@1.5.3-5ubuntu5.1 @@ -1189,7 +1036,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › apt@2.7.14build2 › @@ -1206,7 +1053,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › pam/libpam-modules@1.5.3-5ubuntu5.1 @@ -1215,7 +1062,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › pam/libpam-runtime@1.5.3-5ubuntu5.1 › @@ -1226,7 +1073,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 › @@ -1237,7 +1084,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › apt@2.7.14build2 › @@ -1252,7 +1099,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › pam/libpam-runtime@1.5.3-5ubuntu5.1 @@ -1261,7 +1108,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 › @@ -1308,7 +1155,7 @@

            CVE-2024-26462

            • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argocd › Dockerfile
            • Package Manager: ubuntu:24.04 @@ -1322,7 +1169,7 @@

              CVE-2024-26462

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3, git@1:2.43.0-1ubuntu7.1 and others + docker-image|quay.io/argoproj/argocd@v2.12.10, git@1:2.43.0-1ubuntu7.2 and others
            @@ -1334,9 +1181,9 @@

            Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1349,9 +1196,9 @@

              Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1366,9 +1213,9 @@

              Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1381,9 +1228,9 @@

              Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1398,9 +1245,9 @@

              Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1417,9 +1264,9 @@

              Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1432,7 +1279,7 @@

              Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › openssh/openssh-client@1:9.6p1-3ubuntu13.5 › @@ -1443,9 +1290,9 @@

              Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1456,9 +1303,9 @@

              Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1471,7 +1318,7 @@

              Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › krb5/krb5-locales@1.20.1-6ubuntu2.2 @@ -1516,7 +1363,7 @@

              LGPL-3.0 license

              • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argo-cd/v2 › /usr/local/bin/argocd
              • Package Manager: golang @@ -1565,7 +1412,7 @@

                Detailed paths

      -

      MPL-2.0 license

      +

      Denial of Service (DoS)

      @@ -1576,20 +1423,20 @@

      MPL-2.0 license

      • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argo-cd/v2 › /usr/local/bin/argocd
      • Package Manager: golang
      • - Module: + Vulnerable module: - github.com/r3labs/diff + github.com/rs/cors
      • Introduced through: - github.com/argoproj/argo-cd/v2@* and github.com/r3labs/diff@v1.1.0 + github.com/argoproj/argo-cd/v2@* and github.com/rs/cors@v1.9.0
      @@ -1604,7 +1451,7 @@

      Detailed paths

      Introduced through: github.com/argoproj/argo-cd/v2@* › - github.com/r3labs/diff@v1.1.0 + github.com/rs/cors@v1.9.0 @@ -1615,12 +1462,62 @@

      Detailed paths


      -

      MPL-2.0 license

      +

      Overview

      +

      Affected versions of this package are vulnerable to Denial of Service (DoS) through the processing of malicious preflight requests that include a Access-Control-Request-Headers header with excessive commas. An attacker can induce excessive memory consumption and potentially crash the server by sending specially crafted requests.

      +

      PoC

      +
      
      +        func BenchmarkPreflightAdversarialACRH(b *testing.B) {
      +            resps := makeFakeResponses(b.N)
      +            req, _ := http.NewRequest(http.MethodOptions, dummyEndpoint, nil)
      +            req.Header.Add(headerOrigin, dummyOrigin)
      +            req.Header.Add(headerACRM, http.MethodGet)
      +            req.Header[headerACRH] = adversarialACRH
      +            handler := Default().Handler(testHandler)
      +        
      +            b.ReportAllocs()
      +            b.ResetTimer()
      +            for i := 0; i < b.N; i++ {
      +                handler.ServeHTTP(resps[i], req)
      +            }
      +        }
      +        
      +        var adversarialACRH []string
      +        
      +        func init() { // populates adversarialACRH
      +            n := int(math.Floor(math.Sqrt(http.DefaultMaxHeaderBytes)))
      +            commas := strings.Repeat(",", n)
      +            res := make([]string, n)
      +            for i := range res {
      +                res[i] = commas
      +            }
      +            adversarialACRH = res
      +        }
      +        
      +

      Details

      +

      Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.

      +

      Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.

      +

      One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.

      +

      When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.

      +

      Two common types of DoS vulnerabilities:

      +
        +
      • High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.

        +
      • +
      • Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm ws package

        +
      • +
      +

      Remediation

      +

      Upgrade github.com/rs/cors to version 1.11.0 or higher.

      +

      References

      +
      @@ -1636,7 +1533,7 @@

      MPL-2.0 license

      • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argo-cd/v2 › /usr/local/bin/argocd
      • Package Manager: golang @@ -1644,12 +1541,12 @@

        MPL-2.0 license

      • Module: - github.com/hashicorp/go-version + github.com/r3labs/diff
      • Introduced through: - github.com/argoproj/argo-cd/v2@* and github.com/hashicorp/go-version@v1.6.0 + github.com/argoproj/argo-cd/v2@* and github.com/r3labs/diff@v1.1.0
      @@ -1664,7 +1561,7 @@

      Detailed paths

      Introduced through: github.com/argoproj/argo-cd/v2@* › - github.com/hashicorp/go-version@v1.6.0 + github.com/r3labs/diff@v1.1.0 @@ -1680,7 +1577,7 @@

      Detailed paths


      @@ -1696,7 +1593,7 @@

      MPL-2.0 license

      • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argo-cd/v2 › /usr/local/bin/argocd
      • Package Manager: golang @@ -1704,12 +1601,12 @@

        MPL-2.0 license

      • Module: - github.com/hashicorp/go-retryablehttp + github.com/hashicorp/go-version
      • Introduced through: - github.com/argoproj/argo-cd/v2@* and github.com/hashicorp/go-retryablehttp@v0.7.7 + github.com/argoproj/argo-cd/v2@* and github.com/hashicorp/go-version@v1.6.0
      @@ -1724,7 +1621,7 @@

      Detailed paths

      Introduced through: github.com/argoproj/argo-cd/v2@* › - github.com/hashicorp/go-retryablehttp@v0.7.7 + github.com/hashicorp/go-version@v1.6.0 @@ -1740,7 +1637,7 @@

      Detailed paths


      @@ -1756,7 +1653,7 @@

      MPL-2.0 license

      • - Manifest file: quay.io/argoproj/argocd:v2.13.3/helm/v3 › /usr/local/bin/helm + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argo-cd/v2 › /usr/local/bin/argocd
      • Package Manager: golang @@ -1764,12 +1661,12 @@

        MPL-2.0 license

      • Module: - github.com/hashicorp/go-multierror + github.com/hashicorp/go-retryablehttp
      • Introduced through: - helm.sh/helm/v3@* and github.com/hashicorp/go-multierror@v1.1.1 + github.com/argoproj/argo-cd/v2@* and github.com/hashicorp/go-retryablehttp@v0.7.7
      @@ -1782,9 +1679,9 @@

      Detailed paths

      @@ -1816,7 +1713,7 @@

      MPL-2.0 license

      • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.12.10/helm/v3 › /usr/local/bin/helm
      • Package Manager: golang @@ -1824,12 +1721,12 @@

        MPL-2.0 license

      • Module: - github.com/hashicorp/go-cleanhttp + github.com/hashicorp/go-multierror
      • Introduced through: - github.com/argoproj/argo-cd/v2@* and github.com/hashicorp/go-cleanhttp@v0.5.2 + helm.sh/helm/v3@* and github.com/hashicorp/go-multierror@v1.1.1
      @@ -1842,9 +1739,9 @@

      Detailed paths

      @@ -1876,7 +1773,7 @@

      MPL-2.0 license

      • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argo-cd/v2 › /usr/local/bin/argocd
      • Package Manager: golang @@ -1884,12 +1781,12 @@

        MPL-2.0 license

      • Module: - github.com/gosimple/slug + github.com/hashicorp/go-cleanhttp
      • Introduced through: - github.com/argoproj/argo-cd/v2@* and github.com/gosimple/slug@v1.14.0 + github.com/argoproj/argo-cd/v2@* and github.com/hashicorp/go-cleanhttp@v0.5.2
      @@ -1904,7 +1801,7 @@

      Detailed paths

      Introduced through: github.com/argoproj/argo-cd/v2@* › - github.com/gosimple/slug@v1.14.0 + github.com/hashicorp/go-cleanhttp@v0.5.2 @@ -1920,12 +1817,12 @@

      Detailed paths


      -

      Arbitrary Argument Injection

      +

      MPL-2.0 license

      @@ -1936,20 +1833,20 @@

      Arbitrary Argument Injection

      • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argo-cd/v2 › /usr/local/bin/argocd
      • Package Manager: golang
      • - Vulnerable module: + Module: - github.com/go-git/go-git/v5/plumbing/transport + github.com/gosimple/slug
      • Introduced through: - github.com/argoproj/argo-cd/v2@* and github.com/go-git/go-git/v5/plumbing/transport@v5.12.0 + github.com/argoproj/argo-cd/v2@* and github.com/gosimple/slug@v1.13.1
      @@ -1964,7 +1861,7 @@

      Detailed paths

      Introduced through: github.com/argoproj/argo-cd/v2@* › - github.com/go-git/go-git/v5/plumbing/transport@v5.12.0 + github.com/gosimple/slug@v1.13.1 @@ -1975,24 +1872,17 @@

      Detailed paths


      -

      Overview

      -

      Affected versions of this package are vulnerable to Arbitrary Argument Injection via a malicious URL value, which allows an attacker to set flags on the git-upload-pack command, if the file: protocol is in use.

      -

      Remediation

      -

      Upgrade github.com/go-git/go-git/v5/plumbing/transport to version 5.13.0 or higher.

      -

      References

      - +

      MPL-2.0 license


      -

      Improper Encoding or Escaping of Output

      +

      Generation of Error Message Containing Sensitive Information

      @@ -2003,21 +1893,21 @@

      Improper Encoding or Escaping of Output

      • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argo-cd/v2 › /usr/local/bin/argocd
      • - Package Manager: ubuntu:24.04 + Package Manager: golang
      • Vulnerable module: - git/git-man + github.com/argoproj/gitops-engine/pkg/utils/kube
      • Introduced through: + github.com/argoproj/argo-cd/v2@* and github.com/argoproj/gitops-engine/pkg/utils/kube@v0.7.1-0.20250129155113-faf5a4e5c37d - docker-image|quay.io/argoproj/argocd@v2.13.3, git@1:2.43.0-1ubuntu7.1 and others
      @@ -2029,31 +1919,9 @@

      Detailed paths

      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 - › - git@1:2.43.0-1ubuntu7.1 - › - git/git-man@1:2.43.0-1ubuntu7.1 - - - -
      • -
      • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 - › - git@1:2.43.0-1ubuntu7.1 - - - -
      • -
      • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 - › - git-lfs@3.4.1-1ubuntu0.2 + github.com/argoproj/argo-cd/v2@* › - git@1:2.43.0-1ubuntu7.1 + github.com/argoproj/gitops-engine/pkg/utils/kube@v0.7.1-0.20250129155113-faf5a4e5c37d @@ -2064,30 +1932,26 @@

        Detailed paths


        -

        NVD Description

        -

        Note: Versions mentioned in the description apply only to the upstream git package and not the git package as distributed by Ubuntu. - See How to fix? for Ubuntu:24.04 relevant fixed versions and status.

        -

        Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. Git defines a line-based protocol that is used to exchange information between Git and Git credential helpers. Some ecosystems (most notably, .NET and node.js) interpret single Carriage Return characters as newlines, which renders the protections against CVE-2020-5260 incomplete for credential helpers that treat Carriage Returns in this way. This issue has been addressed in commit b01b9b8 which is included in release versions v2.48.1, v2.47.1, v2.46.3, v2.45.3, v2.44.3, v2.43.6, v2.42.4, v2.41.3, and v2.40.4. Users are advised to upgrade. Users unable to upgrade should avoid cloning from untrusted URLs, especially recursive clones.

        +

        Overview

        +

        Affected versions of this package are vulnerable to Generation of Error Message Containing Sensitive Information when syncing invalid Kubernetes Secret resources. An attacker with write access to the repository can expose secret values by committing an invalid Secret to repository and triggering a Sync, which then become visible to any user with read access to Argo CD.

        Remediation

        -

        Upgrade Ubuntu:24.04 git to version 1:2.43.0-1ubuntu7.2 or higher.

        +

        A fix was pushed into the master branch but not yet published.

        References


      -

      Improper Encoding or Escaping of Output

      +

      Generation of Error Message Containing Sensitive Information

      @@ -2098,21 +1962,21 @@

      Improper Encoding or Escaping of Output

      • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argo-cd/v2 › /usr/local/bin/argocd
      • - Package Manager: ubuntu:24.04 + Package Manager: golang
      • Vulnerable module: - git/git-man + github.com/argoproj/gitops-engine/pkg/diff
      • Introduced through: + github.com/argoproj/argo-cd/v2@* and github.com/argoproj/gitops-engine/pkg/diff@v0.7.1-0.20250129155113-faf5a4e5c37d - docker-image|quay.io/argoproj/argocd@v2.13.3, git@1:2.43.0-1ubuntu7.1 and others
      @@ -2124,31 +1988,9 @@

      Detailed paths

      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 - › - git@1:2.43.0-1ubuntu7.1 - › - git/git-man@1:2.43.0-1ubuntu7.1 - - - -
      • -
      • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 - › - git@1:2.43.0-1ubuntu7.1 - - - -
      • -
      • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 - › - git-lfs@3.4.1-1ubuntu0.2 + github.com/argoproj/argo-cd/v2@* › - git@1:2.43.0-1ubuntu7.1 + github.com/argoproj/gitops-engine/pkg/diff@v0.7.1-0.20250129155113-faf5a4e5c37d @@ -2159,24 +2001,21 @@

        Detailed paths


        -

        NVD Description

        -

        Note: Versions mentioned in the description apply only to the upstream git package and not the git package as distributed by Ubuntu. - See How to fix? for Ubuntu:24.04 relevant fixed versions and status.

        -

        Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. When Git asks for credentials via a terminal prompt (i.e. without using any credential helper), it prints out the host name for which the user is expected to provide a username and/or a password. At this stage, any URL-encoded parts have been decoded already, and are printed verbatim. This allows attackers to craft URLs that contain ANSI escape sequences that the terminal interpret to confuse users e.g. into providing passwords for trusted Git hosting sites when in fact they are then sent to untrusted sites that are under the attacker's control. This issue has been patch via commits 7725b81 and c903985 which are included in release versions v2.48.1, v2.47.1, v2.46.3, v2.45.3, v2.44.3, v2.43.6, v2.42.4, v2.41.3, and v2.40.4. Users are advised to upgrade. Users unable to upgrade should avoid cloning from untrusted URLs, especially recursive clones.

        +

        Overview

        +

        Affected versions of this package are vulnerable to Generation of Error Message Containing Sensitive Information when syncing invalid Kubernetes Secret resources. An attacker with write access to the repository can expose secret values by committing an invalid Secret to repository and triggering a Sync, which then become visible to any user with read access to Argo CD.

        Remediation

        -

        Upgrade Ubuntu:24.04 git to version 1:2.43.0-1ubuntu7.2 or higher.

        +

        A fix was pushed into the master branch but not yet published.

        References


      @@ -2192,7 +2031,7 @@

      Release of Invalid Pointer or Reference

      • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argocd › Dockerfile
      • Package Manager: ubuntu:24.04 @@ -2205,7 +2044,7 @@

        Release of Invalid Pointer or Reference

      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 and patch@2.7.6-7build3 + docker-image|quay.io/argoproj/argocd@v2.12.10 and patch@2.7.6-7build3
      @@ -2218,7 +2057,7 @@

      Detailed paths

      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › patch@2.7.6-7build3 @@ -2262,7 +2101,7 @@

        Double Free

        • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argocd › Dockerfile
        • Package Manager: ubuntu:24.04 @@ -2275,7 +2114,7 @@

          Double Free

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 and patch@2.7.6-7build3 + docker-image|quay.io/argoproj/argocd@v2.12.10 and patch@2.7.6-7build3
        @@ -2288,7 +2127,7 @@

        Detailed paths

        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › patch@2.7.6-7build3 @@ -2337,7 +2176,7 @@

          CVE-2024-41996

          • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argocd › Dockerfile
          • Package Manager: ubuntu:24.04 @@ -2350,7 +2189,7 @@

            CVE-2024-41996

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 and openssl/libssl3t64@3.0.13-0ubuntu3.4 + docker-image|quay.io/argoproj/argocd@v2.12.10 and openssl/libssl3t64@3.0.13-0ubuntu3.4
          @@ -2363,7 +2202,7 @@

          Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › openssl/libssl3t64@3.0.13-0ubuntu3.4 @@ -2372,7 +2211,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › coreutils@9.4-3ubuntu6 › @@ -2383,7 +2222,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › cyrus-sasl2/libsasl2-modules@2.1.28+dfsg1-5ubuntu3.1 › @@ -2394,7 +2233,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › libfido2/libfido2-1@1.14.0-1build3 › @@ -2405,7 +2244,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › openssh/openssh-client@1:9.6p1-3ubuntu13.5 › @@ -2416,7 +2255,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › ca-certificates@20240203 › @@ -2429,9 +2268,9 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2444,9 +2283,9 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2461,9 +2300,9 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2478,7 +2317,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › openssl@3.0.13-0ubuntu3.4 @@ -2487,7 +2326,7 @@

            Detailed paths

          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › ca-certificates@20240203 › @@ -2535,7 +2374,7 @@

            Information Exposure

            • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argocd › Dockerfile
            • Package Manager: ubuntu:24.04 @@ -2548,7 +2387,7 @@

              Information Exposure

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 and libgcrypt20@1.10.3-2build1 + docker-image|quay.io/argoproj/argocd@v2.12.10 and libgcrypt20@1.10.3-2build1
            @@ -2561,7 +2400,7 @@

            Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › libgcrypt20@1.10.3-2build1 @@ -2570,7 +2409,7 @@

              Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › gnupg2/dirmngr@2.4.4-2ubuntu17 › @@ -2581,7 +2420,7 @@

              Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › gnupg2/gpg@2.4.4-2ubuntu17 › @@ -2592,7 +2431,7 @@

              Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › gnupg2/gpg-agent@2.4.4-2ubuntu17 › @@ -2603,7 +2442,7 @@

              Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › apt@2.7.14build2 › @@ -2616,7 +2455,7 @@

              Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › apt@2.7.14build2 › @@ -2629,7 +2468,7 @@

              Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › gnupg2/gpg@2.4.4-2ubuntu17 › @@ -2642,7 +2481,7 @@

              Detailed paths

            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › apt@2.7.14build2 › @@ -2652,7 +2491,7 @@

              Detailed paths

              › pam/libpam-modules@1.5.3-5ubuntu5.1 › - systemd/libsystemd0@255.4-1ubuntu8.4 + systemd/libsystemd0@255.4-1ubuntu8.5 › libgcrypt20@1.10.3-2build1 @@ -2699,7 +2538,7 @@

              CVE-2024-26458

              • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argocd › Dockerfile
              • Package Manager: ubuntu:24.04 @@ -2713,7 +2552,7 @@

                CVE-2024-26458

              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3, git@1:2.43.0-1ubuntu7.1 and others + docker-image|quay.io/argoproj/argocd@v2.12.10, git@1:2.43.0-1ubuntu7.2 and others
              @@ -2725,9 +2564,9 @@

              Detailed paths

              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2740,9 +2579,9 @@

                Detailed paths

              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2757,9 +2596,9 @@

                Detailed paths

              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2772,9 +2611,9 @@

                Detailed paths

              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2789,9 +2628,9 @@

                Detailed paths

              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2808,9 +2647,9 @@

                Detailed paths

              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2823,7 +2662,7 @@

                Detailed paths

              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › openssh/openssh-client@1:9.6p1-3ubuntu13.5 › @@ -2834,9 +2673,9 @@

                Detailed paths

              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2847,9 +2686,9 @@

                Detailed paths

              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2862,7 +2701,7 @@

                Detailed paths

              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › krb5/krb5-locales@1.20.1-6ubuntu2.2 @@ -2907,7 +2746,7 @@

                CVE-2024-26461

                • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argocd › Dockerfile
                • Package Manager: ubuntu:24.04 @@ -2921,7 +2760,7 @@

                  CVE-2024-26461

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3, git@1:2.43.0-1ubuntu7.1 and others + docker-image|quay.io/argoproj/argocd@v2.12.10, git@1:2.43.0-1ubuntu7.2 and others
                @@ -2933,9 +2772,9 @@

                Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2948,9 +2787,9 @@

                  Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2965,9 +2804,9 @@

                  Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2980,9 +2819,9 @@

                  Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2997,9 +2836,9 @@

                  Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -3016,9 +2855,9 @@

                  Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -3031,7 +2870,7 @@

                  Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › openssh/openssh-client@1:9.6p1-3ubuntu13.5 › @@ -3042,9 +2881,9 @@

                  Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -3055,9 +2894,9 @@

                  Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -3070,7 +2909,7 @@

                  Detailed paths

                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › krb5/krb5-locales@1.20.1-6ubuntu2.2 @@ -3115,7 +2954,7 @@

                  Out-of-bounds Write

                  • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argocd › Dockerfile
                  • Package Manager: ubuntu:24.04 @@ -3128,7 +2967,7 @@

                    Out-of-bounds Write

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 and gnupg2/gpgv@2.4.4-2ubuntu17 + docker-image|quay.io/argoproj/argocd@v2.12.10 and gnupg2/gpgv@2.4.4-2ubuntu17
                  @@ -3141,7 +2980,7 @@

                  Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › gnupg2/gpgv@2.4.4-2ubuntu17 @@ -3150,7 +2989,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › apt@2.7.14build2 › @@ -3161,7 +3000,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › gnupg2/dirmngr@2.4.4-2ubuntu17 › @@ -3172,7 +3011,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › gnupg2/gpg-agent@2.4.4-2ubuntu17 › @@ -3183,7 +3022,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › gnupg2/gpg@2.4.4-2ubuntu17 › @@ -3194,7 +3033,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › gnupg2/dirmngr@2.4.4-2ubuntu17 @@ -3203,7 +3042,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › gnupg2/gpg@2.4.4-2ubuntu17 @@ -3212,7 +3051,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › gnupg2/gpg-agent@2.4.4-2ubuntu17 @@ -3261,7 +3100,7 @@

                    Allocation of Resources Without Limits or Throttling

                  • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argocd › Dockerfile
                  • Package Manager: ubuntu:24.04 @@ -3274,7 +3113,7 @@

                    Allocation of Resources Without Limits or Throttling

                    Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 and glibc/libc-bin@2.39-0ubuntu8.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 and glibc/libc-bin@2.39-0ubuntu8.3
                  @@ -3287,7 +3126,7 @@

                  Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › glibc/libc-bin@2.39-0ubuntu8.3 @@ -3296,7 +3135,7 @@

                    Detailed paths

                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › glibc/libc6@2.39-0ubuntu8.3 @@ -3342,7 +3181,7 @@

                    Insufficient Documentation of Error Handling Techniques<
                    • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                    • Package Manager: golang @@ -3411,7 +3250,7 @@

                      Insufficient Documentation of Error Handling Techniques<
                      • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                      • Package Manager: golang @@ -3480,7 +3319,7 @@

                        Improper Input Validation

                        • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argocd › Dockerfile
                        • Package Manager: ubuntu:24.04 @@ -3494,7 +3333,7 @@

                          Improper Input Validation

                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3, git@1:2.43.0-1ubuntu7.1 and others + docker-image|quay.io/argoproj/argocd@v2.12.10, git@1:2.43.0-1ubuntu7.2 and others
                        @@ -3506,31 +3345,31 @@

                        Detailed paths

                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › - git/git-man@1:2.43.0-1ubuntu7.1 + git/git-man@1:2.43.0-1ubuntu7.2
                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2
                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › git-lfs@3.4.1-1ubuntu0.2 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 @@ -3573,7 +3412,7 @@

                          Improper Input Validation

                          • - Manifest file: quay.io/argoproj/argocd:v2.13.3/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.12.10/argoproj/argocd › Dockerfile
                          • Package Manager: ubuntu:24.04 @@ -3586,7 +3425,7 @@

                            Improper Input Validation

                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 and coreutils@9.4-3ubuntu6 + docker-image|quay.io/argoproj/argocd@v2.12.10 and coreutils@9.4-3ubuntu6
                          @@ -3599,7 +3438,7 @@

                          Detailed paths

                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.13.3 + docker-image|quay.io/argoproj/argocd@v2.12.10 › coreutils@9.4-3ubuntu6 diff --git a/docs/snyk/v2.13.3/redis_7.0.15-alpine.html b/docs/snyk/v2.12.10/redis_7.0.15-alpine.html similarity index 99% rename from docs/snyk/v2.13.3/redis_7.0.15-alpine.html rename to docs/snyk/v2.12.10/redis_7.0.15-alpine.html index 32af76f560d76..e74cdc1b94f20 100644 --- a/docs/snyk/v2.13.3/redis_7.0.15-alpine.html +++ b/docs/snyk/v2.12.10/redis_7.0.15-alpine.html @@ -456,7 +456,7 @@

                            Snyk test report

                            -

                            January 19th 2025, 12:25:16 am (UTC+00:00)

                            +

                            February 2nd 2025, 12:27:38 am (UTC+00:00)

                            Scanned the following paths: diff --git a/docs/snyk/v2.12.9/argocd-test.html b/docs/snyk/v2.12.9/argocd-test.html deleted file mode 100644 index be727e5a8ac08..0000000000000 --- a/docs/snyk/v2.12.9/argocd-test.html +++ /dev/null @@ -1,4012 +0,0 @@ - - - - - - - - - Snyk test report - - - - - - - - - -
                            -
                            -
                            -
                            - - - Snyk - Open Source Security - - - - - - - -
                            -

                            Snyk test report

                            - -

                            January 19th 2025, 12:27:08 am (UTC+00:00)

                            -
                            -
                            - Scanned the following paths: -
                              -
                            • /argo-cd/argoproj/argo-cd/v2/go.mod (gomodules)
                            • -
                            • /argo-cd/ui/yarn.lock (yarn)
                            • -
                            -
                            - -
                            -
                            15 known vulnerabilities
                            -
                            153 vulnerable dependency paths
                            -
                            2061 dependencies
                            -
                            -
                            -
                            -
                            - -
                            -
                            -
                            -

                            Incorrect Implementation of Authentication Algorithm

                            -
                            - -
                            - critical severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Vulnerable module: - - golang.org/x/crypto/ssh -
                            • - -
                            • Introduced through: - - github.com/argoproj/argo-cd/v2@0.0.0 and golang.org/x/crypto/ssh@0.23.0 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - golang.org/x/crypto/ssh@0.23.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - code.gitea.io/sdk/gitea@0.18.0 - › - golang.org/x/crypto/ssh@0.23.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - golang.org/x/crypto/ssh/knownhosts@0.23.0 - › - golang.org/x/crypto/ssh@0.23.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - golang.org/x/crypto/ssh@0.23.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - code.gitea.io/sdk/gitea@0.18.0 - › - github.com/go-fed/httpsig@1.1.0 - › - golang.org/x/crypto/ssh@0.23.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/skeema/knownhosts@1.2.2 - › - golang.org/x/crypto/ssh@0.23.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - code.gitea.io/sdk/gitea@0.18.0 - › - golang.org/x/crypto/ssh/agent@0.23.0 - › - golang.org/x/crypto/ssh@0.23.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - golang.org/x/crypto/ssh@0.23.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/xanzy/ssh-agent@0.3.3 - › - golang.org/x/crypto/ssh/agent@0.23.0 - › - golang.org/x/crypto/ssh@0.23.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/skeema/knownhosts@1.2.2 - › - golang.org/x/crypto/ssh/knownhosts@0.23.0 - › - golang.org/x/crypto/ssh@0.23.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/skeema/knownhosts@1.2.2 - › - golang.org/x/crypto/ssh@0.23.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - golang.org/x/crypto/ssh@0.23.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/xanzy/ssh-agent@0.3.3 - › - golang.org/x/crypto/ssh/agent@0.23.0 - › - golang.org/x/crypto/ssh@0.23.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/skeema/knownhosts@1.2.2 - › - golang.org/x/crypto/ssh/knownhosts@0.23.0 - › - golang.org/x/crypto/ssh@0.23.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/skeema/knownhosts@1.2.2 - › - golang.org/x/crypto/ssh@0.23.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/xanzy/ssh-agent@0.3.3 - › - golang.org/x/crypto/ssh/agent@0.23.0 - › - golang.org/x/crypto/ssh@0.23.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/skeema/knownhosts@1.2.2 - › - golang.org/x/crypto/ssh/knownhosts@0.23.0 - › - golang.org/x/crypto/ssh@0.23.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            golang.org/x/crypto/ssh is a SSH client and server

                            -

                            Affected versions of this package are vulnerable to Incorrect Implementation of Authentication Algorithm when the key passed in the last call before a connection is established is assumed to be the key used for authentication. It is not necessarily the authentication key in use, and this allows attackers who can control the key cache by making their own carefully-timed connections to bypass authorization with subsequent legitimate ServerConfig.PublicKeyCallback callbacks.

                            -

                            Note: The assumed caching behavior of this callback is not documented and is therefore considered human error, but the project maintainers have observed reliance on it for authorization decisions in production. In fact, the assumption is negated in the documentation, which states "A call to this function does not guarantee that the key offered is in fact used to authenticate." The behavior after upgrading still allows the possibility of an attacker forcing their own key to be the one in the cache when the callback is invoked if the client is using a different authentication method such as PasswordCallback, KeyboardInteractiveCallback, or NoClientAuth. It is therefore recommended to rely on the return values of the connection itself, found in ServerConn.Permissions for further authorization steps.

                            -

                            Remediation

                            -

                            Upgrade golang.org/x/crypto/ssh to version 0.31.0 or higher.

                            -

                            References

                            - - -
                            - - - -
                            -
                            -

                            Denial of Service (DoS)

                            -
                            - -
                            - high severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Vulnerable module: - - golang.org/x/net/html -
                            • - -
                            • Introduced through: - - - github.com/argoproj/argo-cd/v2@0.0.0, k8s.io/client-go/transport/spdy@0.29.6 and others -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/transport/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/proxy@0.29.6 - › - golang.org/x/net/html@0.25.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/tools/remotecommand@0.29.6 - › - k8s.io/client-go/transport/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/proxy@0.29.6 - › - golang.org/x/net/html@0.25.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/kubectl/pkg/util/term@0.29.6 - › - k8s.io/client-go/tools/remotecommand@0.29.6 - › - k8s.io/client-go/transport/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/proxy@0.29.6 - › - golang.org/x/net/html@0.25.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/diff@#adb68bcaab73 - › - k8s.io/kubectl/pkg/cmd/util@0.29.6 - › - k8s.io/kubectl/pkg/util/templates@0.29.6 - › - k8s.io/kubectl/pkg/util/term@0.29.6 - › - k8s.io/client-go/tools/remotecommand@0.29.6 - › - k8s.io/client-go/transport/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/proxy@0.29.6 - › - golang.org/x/net/html@0.25.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync@#adb68bcaab73 - › - k8s.io/kubectl/pkg/cmd/util@0.29.6 - › - k8s.io/kubectl/pkg/util/templates@0.29.6 - › - k8s.io/kubectl/pkg/util/term@0.29.6 - › - k8s.io/client-go/tools/remotecommand@0.29.6 - › - k8s.io/client-go/transport/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/proxy@0.29.6 - › - golang.org/x/net/html@0.25.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#adb68bcaab73 - › - k8s.io/kubectl/pkg/cmd/util@0.29.6 - › - k8s.io/kubectl/pkg/util/templates@0.29.6 - › - k8s.io/kubectl/pkg/util/term@0.29.6 - › - k8s.io/client-go/tools/remotecommand@0.29.6 - › - k8s.io/client-go/transport/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/proxy@0.29.6 - › - golang.org/x/net/html@0.25.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/cache@#adb68bcaab73 - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#adb68bcaab73 - › - k8s.io/kubectl/pkg/cmd/util@0.29.6 - › - k8s.io/kubectl/pkg/util/templates@0.29.6 - › - k8s.io/kubectl/pkg/util/term@0.29.6 - › - k8s.io/client-go/tools/remotecommand@0.29.6 - › - k8s.io/client-go/transport/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/proxy@0.29.6 - › - golang.org/x/net/html@0.25.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/health@#adb68bcaab73 - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#adb68bcaab73 - › - k8s.io/kubectl/pkg/cmd/util@0.29.6 - › - k8s.io/kubectl/pkg/util/templates@0.29.6 - › - k8s.io/kubectl/pkg/util/term@0.29.6 - › - k8s.io/client-go/tools/remotecommand@0.29.6 - › - k8s.io/client-go/transport/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/proxy@0.29.6 - › - golang.org/x/net/html@0.25.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/common@#adb68bcaab73 - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#adb68bcaab73 - › - k8s.io/kubectl/pkg/cmd/util@0.29.6 - › - k8s.io/kubectl/pkg/util/templates@0.29.6 - › - k8s.io/kubectl/pkg/util/term@0.29.6 - › - k8s.io/client-go/tools/remotecommand@0.29.6 - › - k8s.io/client-go/transport/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/proxy@0.29.6 - › - golang.org/x/net/html@0.25.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/hook@#adb68bcaab73 - › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#adb68bcaab73 - › - github.com/argoproj/gitops-engine/pkg/sync/common@#adb68bcaab73 - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#adb68bcaab73 - › - k8s.io/kubectl/pkg/cmd/util@0.29.6 - › - k8s.io/kubectl/pkg/util/templates@0.29.6 - › - k8s.io/kubectl/pkg/util/term@0.29.6 - › - k8s.io/client-go/tools/remotecommand@0.29.6 - › - k8s.io/client-go/transport/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/proxy@0.29.6 - › - golang.org/x/net/html@0.25.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#adb68bcaab73 - › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#adb68bcaab73 - › - github.com/argoproj/gitops-engine/pkg/sync/common@#adb68bcaab73 - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#adb68bcaab73 - › - k8s.io/kubectl/pkg/cmd/util@0.29.6 - › - k8s.io/kubectl/pkg/util/templates@0.29.6 - › - k8s.io/kubectl/pkg/util/term@0.29.6 - › - k8s.io/client-go/tools/remotecommand@0.29.6 - › - k8s.io/client-go/transport/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/proxy@0.29.6 - › - golang.org/x/net/html@0.25.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#adb68bcaab73 - › - github.com/argoproj/gitops-engine/pkg/sync/hook@#adb68bcaab73 - › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#adb68bcaab73 - › - github.com/argoproj/gitops-engine/pkg/sync/common@#adb68bcaab73 - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#adb68bcaab73 - › - k8s.io/kubectl/pkg/cmd/util@0.29.6 - › - k8s.io/kubectl/pkg/util/templates@0.29.6 - › - k8s.io/kubectl/pkg/util/term@0.29.6 - › - k8s.io/client-go/tools/remotecommand@0.29.6 - › - k8s.io/client-go/transport/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.29.6 - › - k8s.io/apimachinery/pkg/util/proxy@0.29.6 - › - golang.org/x/net/html@0.25.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            golang.org/x/net/html is a package that implements an HTML5-compliant tokenizer and parser.

                            -

                            Affected versions of this package are vulnerable to Denial of Service (DoS) through the functions parseDoctype, htmlIntegrationPoint, inBodyIM and inTableIM due to inefficient usage of the method strings.ToLower combining with the == operator to convert strings to lowercase and then comparing them.

                            -

                            An attacker can cause the application to slow down significantly by crafting inputs that are processed non-linearly.

                            -

                            Details

                            -

                            Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.

                            -

                            Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.

                            -

                            One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.

                            -

                            When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.

                            -

                            Two common types of DoS vulnerabilities:

                            -
                              -
                            • High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.

                              -
                            • -
                            • Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm ws package

                              -
                            • -
                            -

                            Remediation

                            -

                            Upgrade golang.org/x/net/html to version 0.33.0 or higher.

                            -

                            References

                            - - -
                            - - - -
                            -
                            -

                            Allocation of Resources Without Limits or Throttling

                            -
                            - -
                            - high severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Vulnerable module: - - github.com/go-git/go-git/v5/plumbing -
                            • - -
                            • Introduced through: - - github.com/argoproj/argo-cd/v2@0.0.0 and github.com/go-git/go-git/v5/plumbing@5.12.0 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/config@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/utils/merkletrie/filesystem@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/config@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/utils/merkletrie/index@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/packfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/objfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/config@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/packfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/cache@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/revlist@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/packfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/idxfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/utils/merkletrie/index@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/utils/binary@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/config@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/revlist@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/object@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/revlist@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/utils/binary@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/packfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/revlist@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/object@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/revlist@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/object@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/diff@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/objfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/config@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/config@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/packfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/cache@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/revlist@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/object@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/diff@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/packfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/idxfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/utils/binary@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/config@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/utils/binary@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/utils/binary@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/utils/binary@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            github.com/go-git/go-git/v5/plumbing is a highly extensible git implementation library written in pure Go.

                            -

                            Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via specially crafted responses from a Git server, which triggers resource exhaustion in clients.

                            -

                            Workaround

                            -

                            In cases where a bump to the latest version of go-git is not possible, we recommend limiting its use to only trustworthy Git servers.

                            -

                            Remediation

                            -

                            Upgrade github.com/go-git/go-git/v5/plumbing to version 5.13.0 or higher.

                            -

                            References

                            - - -
                            - - - -
                            -
                            -

                            LGPL-3.0 license

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Module: - - gopkg.in/retry.v1 -
                            • - -
                            • Introduced through: - - - github.com/argoproj/argo-cd/v2@0.0.0, github.com/Azure/kubelogin/pkg/token@0.0.20 and others -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/Azure/kubelogin/pkg/token@0.0.20 - › - gopkg.in/retry.v1@1.0.3 - - - -
                            • -
                            - -
                            - -
                            - -

                            LGPL-3.0 license

                            - -
                            - - - -
                            -
                            -

                            Denial of Service (DoS)

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Vulnerable module: - - github.com/rs/cors -
                            • - -
                            • Introduced through: - - - github.com/argoproj/argo-cd/v2@0.0.0, github.com/improbable-eng/grpc-web/go/grpcweb@0.15.0 and others -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/improbable-eng/grpc-web/go/grpcweb@0.15.0 - › - github.com/rs/cors@1.9.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            Affected versions of this package are vulnerable to Denial of Service (DoS) through the processing of malicious preflight requests that include a Access-Control-Request-Headers header with excessive commas. An attacker can induce excessive memory consumption and potentially crash the server by sending specially crafted requests.

                            -

                            PoC

                            -
                            
                            -        func BenchmarkPreflightAdversarialACRH(b *testing.B) {
                            -            resps := makeFakeResponses(b.N)
                            -            req, _ := http.NewRequest(http.MethodOptions, dummyEndpoint, nil)
                            -            req.Header.Add(headerOrigin, dummyOrigin)
                            -            req.Header.Add(headerACRM, http.MethodGet)
                            -            req.Header[headerACRH] = adversarialACRH
                            -            handler := Default().Handler(testHandler)
                            -        
                            -            b.ReportAllocs()
                            -            b.ResetTimer()
                            -            for i := 0; i < b.N; i++ {
                            -                handler.ServeHTTP(resps[i], req)
                            -            }
                            -        }
                            -        
                            -        var adversarialACRH []string
                            -        
                            -        func init() { // populates adversarialACRH
                            -            n := int(math.Floor(math.Sqrt(http.DefaultMaxHeaderBytes)))
                            -            commas := strings.Repeat(",", n)
                            -            res := make([]string, n)
                            -            for i := range res {
                            -                res[i] = commas
                            -            }
                            -            adversarialACRH = res
                            -        }
                            -        
                            -

                            Details

                            -

                            Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.

                            -

                            Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.

                            -

                            One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.

                            -

                            When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.

                            -

                            Two common types of DoS vulnerabilities:

                            -
                              -
                            • High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.

                              -
                            • -
                            • Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm ws package

                              -
                            • -
                            -

                            Remediation

                            -

                            Upgrade github.com/rs/cors to version 1.11.0 or higher.

                            -

                            References

                            - - -
                            - - - -
                            -
                            -

                            MPL-2.0 license

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Module: - - github.com/r3labs/diff -
                            • - -
                            • Introduced through: - - github.com/argoproj/argo-cd/v2@0.0.0 and github.com/r3labs/diff@1.1.0 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/r3labs/diff@1.1.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            MPL-2.0 license

                            - -
                            - - - -
                            -
                            -

                            MPL-2.0 license

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Module: - - github.com/hashicorp/go-version -
                            • - -
                            • Introduced through: - - - github.com/argoproj/argo-cd/v2@0.0.0, code.gitea.io/sdk/gitea@0.18.0 and others -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - code.gitea.io/sdk/gitea@0.18.0 - › - github.com/hashicorp/go-version@1.6.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            MPL-2.0 license

                            - -
                            - - - -
                            -
                            -

                            MPL-2.0 license

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Module: - - github.com/hashicorp/go-retryablehttp -
                            • - -
                            • Introduced through: - - github.com/argoproj/argo-cd/v2@0.0.0 and github.com/hashicorp/go-retryablehttp@0.7.7 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/xanzy/go-gitlab@0.91.1 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/cmd@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/api@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/controller@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/cmd@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/api@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/controller@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            - -
                            - -
                            - -

                            MPL-2.0 license

                            - -
                            - - - -
                            -
                            -

                            MPL-2.0 license

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Module: - - github.com/hashicorp/go-cleanhttp -
                            • - -
                            • Introduced through: - - - github.com/argoproj/argo-cd/v2@0.0.0, github.com/hashicorp/go-retryablehttp@0.7.7 and others -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - › - github.com/hashicorp/go-cleanhttp@0.5.2 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/xanzy/go-gitlab@0.91.1 - › - github.com/hashicorp/go-cleanhttp@0.5.2 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/xanzy/go-gitlab@0.91.1 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - › - github.com/hashicorp/go-cleanhttp@0.5.2 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - › - github.com/hashicorp/go-cleanhttp@0.5.2 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - › - github.com/hashicorp/go-cleanhttp@0.5.2 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/cmd@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - › - github.com/hashicorp/go-cleanhttp@0.5.2 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/api@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - › - github.com/hashicorp/go-cleanhttp@0.5.2 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/controller@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - › - github.com/hashicorp/go-cleanhttp@0.5.2 - - - -
                            • -
                            - -
                            - -
                            - -

                            MPL-2.0 license

                            - -
                            - - - -
                            -
                            -

                            MPL-2.0 license

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Module: - - github.com/gosimple/slug -
                            • - -
                            • Introduced through: - - github.com/argoproj/argo-cd/v2@0.0.0 and github.com/gosimple/slug@1.13.1 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/gosimple/slug@1.13.1 - - - -
                            • -
                            - -
                            - -
                            - -

                            MPL-2.0 license

                            - -
                            - - - -
                            -
                            -

                            Arbitrary Argument Injection

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Vulnerable module: - - github.com/go-git/go-git/v5/plumbing/transport -
                            • - -
                            • Introduced through: - - github.com/argoproj/argo-cd/v2@0.0.0 and github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/git@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/git@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            Affected versions of this package are vulnerable to Arbitrary Argument Injection via a malicious URL value, which allows an attacker to set flags on the git-upload-pack command, if the file: protocol is in use.

                            -

                            Remediation

                            -

                            Upgrade github.com/go-git/go-git/v5/plumbing/transport to version 5.13.0 or higher.

                            -

                            References

                            - - -
                            - - - -
                            -
                            -

                            Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Vulnerable module: - - github.com/Azure/azure-sdk-for-go/sdk/azidentity -
                            • - -
                            • Introduced through: - - - github.com/argoproj/argo-cd/v2@0.0.0, github.com/Azure/kubelogin/pkg/token@0.0.20 and others -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/Azure/kubelogin/pkg/token@0.0.20 - › - github.com/Azure/azure-sdk-for-go/sdk/azidentity@1.1.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            github.com/Azure/azure-sdk-for-go/sdk/azidentity is a module that provides Microsoft Entra ID (formerly Azure Active Directory) token authentication support across the Azure SDK. It includes a set of TokenCredential implementations, which can be used with Azure SDK clients supporting token authentication.

                            -

                            Affected versions of this package are vulnerable to Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') in the authentication process. An attacker can elevate privileges by exploiting race conditions during the token validation steps. This is only exploitable if the application is configured to use multiple threads or processes for handling authentication requests.

                            -

                            Notes:

                            -
                              -
                            1. An attacker who successfully exploited the vulnerability could elevate privileges and read any file on the file system with SYSTEM access permissions;

                              -
                            2. -
                            3. An attacker who successfully exploits this vulnerability can only obtain read access to the system files by exploiting this vulnerability. The attacker cannot perform write or delete operations on the files;

                              -
                            4. -
                            5. The vulnerability exists in the following credential types: DefaultAzureCredential and ManagedIdentityCredential;

                              -
                            6. -
                            7. The vulnerability exists in the following credential types:

                              -
                            8. -
                            -

                            ManagedIdentityApplication (.NET)

                            -

                            ManagedIdentityApplication (Java)

                            -

                            ManagedIdentityApplication (Node.js)

                            -

                            Remediation

                            -

                            Upgrade github.com/Azure/azure-sdk-for-go/sdk/azidentity to version 1.6.0 or higher.

                            -

                            References

                            - - -
                            - - - -
                            -
                            -

                            Regular Expression Denial of Service (ReDoS)

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd › ui/yarn.lock -
                            • -
                            • - Package Manager: npm -
                            • -
                            • - Vulnerable module: - - foundation-sites -
                            • - -
                            • Introduced through: - - argo-cd-ui@1.0.0 and foundation-sites@6.8.1 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - argo-cd-ui@1.0.0 - › - foundation-sites@6.8.1 - - - -
                            • -
                            • - Introduced through: - argo-cd-ui@1.0.0 - › - argo-ui@1.0.0 - › - foundation-sites@6.8.1 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            foundation-sites is a responsive front-end framework

                            -

                            Affected versions of this package are vulnerable to Regular Expression Denial of Service (ReDoS) due to inefficient backtracking in the regular expressions used in URL forms.

                            -

                            PoC

                            -
                            https://www.''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
                            -        
                            -

                            Details

                            -

                            Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its original and legitimate users. There are many types of DoS attacks, ranging from trying to clog the network pipes to the system by generating a large volume of traffic from many machines (a Distributed Denial of Service - DDoS - attack) to sending crafted requests that cause a system to crash or take a disproportional amount of time to process.

                            -

                            The Regular expression Denial of Service (ReDoS) is a type of Denial of Service attack. Regular expressions are incredibly powerful, but they aren't very intuitive and can ultimately end up making it easy for attackers to take your site down.

                            -

                            Let’s take the following regular expression as an example:

                            -
                            regex = /A(B|C+)+D/
                            -        
                            -

                            This regular expression accomplishes the following:

                            -
                              -
                            • A The string must start with the letter 'A'
                            • -
                            • (B|C+)+ The string must then follow the letter A with either the letter 'B' or some number of occurrences of the letter 'C' (the + matches one or more times). The + at the end of this section states that we can look for one or more matches of this section.
                            • -
                            • D Finally, we ensure this section of the string ends with a 'D'
                            • -
                            -

                            The expression would match inputs such as ABBD, ABCCCCD, ABCBCCCD and ACCCCCD

                            -

                            It most cases, it doesn't take very long for a regex engine to find a match:

                            -
                            $ time node -e '/A(B|C+)+D/.test("ACCCCCCCCCCCCCCCCCCCCCCCCCCCCD")'
                            -        0.04s user 0.01s system 95% cpu 0.052 total
                            -        
                            -        $ time node -e '/A(B|C+)+D/.test("ACCCCCCCCCCCCCCCCCCCCCCCCCCCCX")'
                            -        1.79s user 0.02s system 99% cpu 1.812 total
                            -        
                            -

                            The entire process of testing it against a 30 characters long string takes around ~52ms. But when given an invalid string, it takes nearly two seconds to complete the test, over ten times as long as it took to test a valid string. The dramatic difference is due to the way regular expressions get evaluated.

                            -

                            Most Regex engines will work very similarly (with minor differences). The engine will match the first possible way to accept the current character and proceed to the next one. If it then fails to match the next one, it will backtrack and see if there was another way to digest the previous character. If it goes too far down the rabbit hole only to find out the string doesn’t match in the end, and if many characters have multiple valid regex paths, the number of backtracking steps can become very large, resulting in what is known as catastrophic backtracking.

                            -

                            Let's look at how our expression runs into this problem, using a shorter string: "ACCCX". While it seems fairly straightforward, there are still four different ways that the engine could match those three C's:

                            -
                              -
                            1. CCC
                            2. -
                            3. CC+C
                            4. -
                            5. C+CC
                            6. -
                            7. C+C+C.
                            8. -
                            -

                            The engine has to try each of those combinations to see if any of them potentially match against the expression. When you combine that with the other steps the engine must take, we can use RegEx 101 debugger to see the engine has to take a total of 38 steps before it can determine the string doesn't match.

                            -

                            From there, the number of steps the engine must use to validate a string just continues to grow.

                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                            StringNumber of C'sNumber of steps
                            ACCCX338
                            ACCCCX471
                            ACCCCCX5136
                            ACCCCCCCCCCCCCCX1465,553
                            -

                            By the time the string includes 14 C's, the engine has to take over 65,000 steps just to see if the string is valid. These extreme situations can cause them to work very slowly (exponentially related to input size, as shown above), allowing an attacker to exploit this and can cause the service to excessively consume CPU, resulting in a Denial of Service.

                            -

                            Remediation

                            -

                            There is no fixed version for foundation-sites.

                            -

                            References

                            - - -
                            - - - -
                            -
                            -

                            Insufficient Documentation of Error Handling Techniques

                            -
                            - -
                            - low severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Vulnerable module: - - github.com/golang-jwt/jwt/v4 -
                            • - -
                            • Introduced through: - - github.com/argoproj/argo-cd/v2@0.0.0 and github.com/golang-jwt/jwt/v4@4.5.0 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/golang-jwt/jwt/v4@4.5.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/bradleyfalzon/ghinstallation/v2@2.6.0 - › - github.com/golang-jwt/jwt/v4@4.5.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/bradleyfalzon/ghinstallation/v2@2.6.0 - › - github.com/golang-jwt/jwt/v4@4.5.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/bradleyfalzon/ghinstallation/v2@2.6.0 - › - github.com/golang-jwt/jwt/v4@4.5.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/cmd@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/bradleyfalzon/ghinstallation/v2@2.6.0 - › - github.com/golang-jwt/jwt/v4@4.5.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/Azure/kubelogin/pkg/token@0.0.20 - › - github.com/Azure/go-autorest/autorest/azure@0.11.29 - › - github.com/Azure/go-autorest/autorest@0.11.29 - › - github.com/Azure/go-autorest/autorest/adal@0.9.23 - › - github.com/golang-jwt/jwt/v4@4.5.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/api@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/bradleyfalzon/ghinstallation/v2@2.6.0 - › - github.com/golang-jwt/jwt/v4@4.5.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/controller@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/bradleyfalzon/ghinstallation/v2@2.6.0 - › - github.com/golang-jwt/jwt/v4@4.5.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            Affected versions of this package are vulnerable to Insufficient Documentation of Error Handling Techniques in the ParseWithClaims function. An attacker can exploit this to accept invalid tokens by only checking for specific errors and ignoring others.

                            -

                            Workaround

                            -

                            Users who are not able to upgrade to the fixed version should make sure that they are properly checking for all errors, see example_test.go

                            -

                            Remediation

                            -

                            Upgrade github.com/golang-jwt/jwt/v4 to version 4.5.1 or higher.

                            -

                            References

                            - - -
                            - - - -
                            -
                            -

                            Insufficient Documentation of Error Handling Techniques

                            -
                            - -
                            - low severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Vulnerable module: - - github.com/golang-jwt/jwt -
                            • - -
                            • Introduced through: - - - github.com/argoproj/argo-cd/v2@0.0.0, github.com/Azure/kubelogin/pkg/token@0.0.20 and others -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/Azure/kubelogin/pkg/token@0.0.20 - › - github.com/AzureAD/microsoft-authentication-library-for-go/apps/confidential@0.5.2 - › - github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/oauth/ops/accesstokens@0.5.2 - › - github.com/golang-jwt/jwt@3.2.2 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            Affected versions of this package are vulnerable to Insufficient Documentation of Error Handling Techniques in the ParseWithClaims function. An attacker can exploit this to accept invalid tokens by only checking for specific errors and ignoring others.

                            -

                            Workaround

                            -

                            Users who are not able to upgrade to the fixed version should make sure that they are properly checking for all errors, see example_test.go

                            -

                            Remediation

                            -

                            A fix was pushed into the master branch but not yet published.

                            -

                            References

                            - - -
                            - - - -
                            -
                            -
                            -
                            - - - diff --git a/docs/snyk/v2.13.3/argocd-test.html b/docs/snyk/v2.13.3/argocd-test.html deleted file mode 100644 index 56384fca737e2..0000000000000 --- a/docs/snyk/v2.13.3/argocd-test.html +++ /dev/null @@ -1,3915 +0,0 @@ - - - - - - - - - Snyk test report - - - - - - - - - -
                            -
                            -
                            -
                            - - - Snyk - Open Source Security - - - - - - - -
                            -

                            Snyk test report

                            - -

                            January 19th 2025, 12:24:37 am (UTC+00:00)

                            -
                            -
                            - Scanned the following paths: -
                              -
                            • /argo-cd/argoproj/argo-cd/v2/go.mod (gomodules)
                            • -
                            • /argo-cd/ui/yarn.lock (yarn)
                            • -
                            -
                            - -
                            -
                            14 known vulnerabilities
                            -
                            153 vulnerable dependency paths
                            -
                            2131 dependencies
                            -
                            -
                            -
                            -
                            - -
                            -
                            -
                            -

                            Incorrect Implementation of Authentication Algorithm

                            -
                            - -
                            - critical severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Vulnerable module: - - golang.org/x/crypto/ssh -
                            • - -
                            • Introduced through: - - github.com/argoproj/argo-cd/v2@0.0.0 and golang.org/x/crypto/ssh@0.27.0 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - golang.org/x/crypto/ssh@0.27.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - code.gitea.io/sdk/gitea@0.19.0 - › - golang.org/x/crypto/ssh@0.27.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - golang.org/x/crypto/ssh/knownhosts@0.27.0 - › - golang.org/x/crypto/ssh@0.27.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - golang.org/x/crypto/ssh@0.27.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - code.gitea.io/sdk/gitea@0.19.0 - › - github.com/go-fed/httpsig@1.1.0 - › - golang.org/x/crypto/ssh@0.27.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/skeema/knownhosts@1.2.2 - › - golang.org/x/crypto/ssh@0.27.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - code.gitea.io/sdk/gitea@0.19.0 - › - golang.org/x/crypto/ssh/agent@0.27.0 - › - golang.org/x/crypto/ssh@0.27.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - golang.org/x/crypto/ssh@0.27.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/xanzy/ssh-agent@0.3.3 - › - golang.org/x/crypto/ssh/agent@0.27.0 - › - golang.org/x/crypto/ssh@0.27.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/skeema/knownhosts@1.2.2 - › - golang.org/x/crypto/ssh/knownhosts@0.27.0 - › - golang.org/x/crypto/ssh@0.27.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/skeema/knownhosts@1.2.2 - › - golang.org/x/crypto/ssh@0.27.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - golang.org/x/crypto/ssh@0.27.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/xanzy/ssh-agent@0.3.3 - › - golang.org/x/crypto/ssh/agent@0.27.0 - › - golang.org/x/crypto/ssh@0.27.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/skeema/knownhosts@1.2.2 - › - golang.org/x/crypto/ssh/knownhosts@0.27.0 - › - golang.org/x/crypto/ssh@0.27.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/skeema/knownhosts@1.2.2 - › - golang.org/x/crypto/ssh@0.27.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/xanzy/ssh-agent@0.3.3 - › - golang.org/x/crypto/ssh/agent@0.27.0 - › - golang.org/x/crypto/ssh@0.27.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/skeema/knownhosts@1.2.2 - › - golang.org/x/crypto/ssh/knownhosts@0.27.0 - › - golang.org/x/crypto/ssh@0.27.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            golang.org/x/crypto/ssh is a SSH client and server

                            -

                            Affected versions of this package are vulnerable to Incorrect Implementation of Authentication Algorithm when the key passed in the last call before a connection is established is assumed to be the key used for authentication. It is not necessarily the authentication key in use, and this allows attackers who can control the key cache by making their own carefully-timed connections to bypass authorization with subsequent legitimate ServerConfig.PublicKeyCallback callbacks.

                            -

                            Note: The assumed caching behavior of this callback is not documented and is therefore considered human error, but the project maintainers have observed reliance on it for authorization decisions in production. In fact, the assumption is negated in the documentation, which states "A call to this function does not guarantee that the key offered is in fact used to authenticate." The behavior after upgrading still allows the possibility of an attacker forcing their own key to be the one in the cache when the callback is invoked if the client is using a different authentication method such as PasswordCallback, KeyboardInteractiveCallback, or NoClientAuth. It is therefore recommended to rely on the return values of the connection itself, found in ServerConn.Permissions for further authorization steps.

                            -

                            Remediation

                            -

                            Upgrade golang.org/x/crypto/ssh to version 0.31.0 or higher.

                            -

                            References

                            - - -
                            - - - -
                            -
                            -

                            Denial of Service (DoS)

                            -
                            - -
                            - high severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Vulnerable module: - - golang.org/x/net/html -
                            • - -
                            • Introduced through: - - - github.com/argoproj/argo-cd/v2@0.0.0, k8s.io/client-go/tools/portforward@0.31.0 and others -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/tools/portforward@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.0 - › - golang.org/x/net/html@0.29.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.0 - › - golang.org/x/net/html@0.29.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.0 - › - golang.org/x/net/html@0.29.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.0 - › - golang.org/x/net/html@0.29.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/diff@#bd7681ae3f8b - › - k8s.io/kubectl/pkg/cmd/util@0.31.0 - › - k8s.io/kubectl/pkg/util/templates@0.31.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.0 - › - golang.org/x/net/html@0.29.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync@#bd7681ae3f8b - › - k8s.io/kubectl/pkg/cmd/util@0.31.0 - › - k8s.io/kubectl/pkg/util/templates@0.31.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.0 - › - golang.org/x/net/html@0.29.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#bd7681ae3f8b - › - k8s.io/kubectl/pkg/cmd/util@0.31.0 - › - k8s.io/kubectl/pkg/util/templates@0.31.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.0 - › - golang.org/x/net/html@0.29.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/cache@#bd7681ae3f8b - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#bd7681ae3f8b - › - k8s.io/kubectl/pkg/cmd/util@0.31.0 - › - k8s.io/kubectl/pkg/util/templates@0.31.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.0 - › - golang.org/x/net/html@0.29.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/health@#bd7681ae3f8b - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#bd7681ae3f8b - › - k8s.io/kubectl/pkg/cmd/util@0.31.0 - › - k8s.io/kubectl/pkg/util/templates@0.31.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.0 - › - golang.org/x/net/html@0.29.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/common@#bd7681ae3f8b - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#bd7681ae3f8b - › - k8s.io/kubectl/pkg/cmd/util@0.31.0 - › - k8s.io/kubectl/pkg/util/templates@0.31.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.0 - › - golang.org/x/net/html@0.29.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/hook@#bd7681ae3f8b - › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#bd7681ae3f8b - › - github.com/argoproj/gitops-engine/pkg/sync/common@#bd7681ae3f8b - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#bd7681ae3f8b - › - k8s.io/kubectl/pkg/cmd/util@0.31.0 - › - k8s.io/kubectl/pkg/util/templates@0.31.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.0 - › - golang.org/x/net/html@0.29.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#bd7681ae3f8b - › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#bd7681ae3f8b - › - github.com/argoproj/gitops-engine/pkg/sync/common@#bd7681ae3f8b - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#bd7681ae3f8b - › - k8s.io/kubectl/pkg/cmd/util@0.31.0 - › - k8s.io/kubectl/pkg/util/templates@0.31.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.0 - › - golang.org/x/net/html@0.29.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#bd7681ae3f8b - › - github.com/argoproj/gitops-engine/pkg/sync/hook@#bd7681ae3f8b - › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#bd7681ae3f8b - › - github.com/argoproj/gitops-engine/pkg/sync/common@#bd7681ae3f8b - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#bd7681ae3f8b - › - k8s.io/kubectl/pkg/cmd/util@0.31.0 - › - k8s.io/kubectl/pkg/util/templates@0.31.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.0 - › - golang.org/x/net/html@0.29.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            golang.org/x/net/html is a package that implements an HTML5-compliant tokenizer and parser.

                            -

                            Affected versions of this package are vulnerable to Denial of Service (DoS) through the functions parseDoctype, htmlIntegrationPoint, inBodyIM and inTableIM due to inefficient usage of the method strings.ToLower combining with the == operator to convert strings to lowercase and then comparing them.

                            -

                            An attacker can cause the application to slow down significantly by crafting inputs that are processed non-linearly.

                            -

                            Details

                            -

                            Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.

                            -

                            Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.

                            -

                            One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.

                            -

                            When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.

                            -

                            Two common types of DoS vulnerabilities:

                            -
                              -
                            • High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.

                              -
                            • -
                            • Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm ws package

                              -
                            • -
                            -

                            Remediation

                            -

                            Upgrade golang.org/x/net/html to version 0.33.0 or higher.

                            -

                            References

                            - - -
                            - - - -
                            -
                            -

                            Allocation of Resources Without Limits or Throttling

                            -
                            - -
                            - high severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Vulnerable module: - - github.com/go-git/go-git/v5/plumbing -
                            • - -
                            • Introduced through: - - github.com/argoproj/argo-cd/v2@0.0.0 and github.com/go-git/go-git/v5/plumbing@5.12.0 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/config@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/utils/merkletrie/filesystem@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/config@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/utils/merkletrie/index@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/packfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/objfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/config@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/packfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/cache@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/revlist@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/packfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/idxfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/utils/merkletrie/index@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/utils/binary@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/config@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/revlist@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/object@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/revlist@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/utils/binary@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/packfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/revlist@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/object@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/revlist@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/object@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/diff@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/objfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/config@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/config@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/packfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/cache@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/revlist@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/object@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/diff@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem@5.12.0 - › - github.com/go-git/go-git/v5/storage/filesystem/dotgit@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/packfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/idxfile@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/utils/binary@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/config@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/utils/binary@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/utils/binary@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/protocol/packp@5.12.0 - › - github.com/go-git/go-git/v5/storage/memory@5.12.0 - › - github.com/go-git/go-git/v5/storage@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/storer@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/format/index@5.12.0 - › - github.com/go-git/go-git/v5/utils/binary@5.12.0 - › - github.com/go-git/go-git/v5/plumbing@5.12.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            github.com/go-git/go-git/v5/plumbing is a highly extensible git implementation library written in pure Go.

                            -

                            Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via specially crafted responses from a Git server, which triggers resource exhaustion in clients.

                            -

                            Workaround

                            -

                            In cases where a bump to the latest version of go-git is not possible, we recommend limiting its use to only trustworthy Git servers.

                            -

                            Remediation

                            -

                            Upgrade github.com/go-git/go-git/v5/plumbing to version 5.13.0 or higher.

                            -

                            References

                            - - -
                            - - - -
                            -
                            -

                            LGPL-3.0 license

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Module: - - gopkg.in/retry.v1 -
                            • - -
                            • Introduced through: - - - github.com/argoproj/argo-cd/v2@0.0.0, github.com/Azure/kubelogin/pkg/token@0.0.20 and others -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/Azure/kubelogin/pkg/token@0.0.20 - › - gopkg.in/retry.v1@1.0.3 - - - -
                            • -
                            - -
                            - -
                            - -

                            LGPL-3.0 license

                            - -
                            - - - -
                            -
                            -

                            MPL-2.0 license

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Module: - - github.com/r3labs/diff -
                            • - -
                            • Introduced through: - - github.com/argoproj/argo-cd/v2@0.0.0 and github.com/r3labs/diff@1.1.0 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/r3labs/diff@1.1.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            MPL-2.0 license

                            - -
                            - - - -
                            -
                            -

                            MPL-2.0 license

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Module: - - github.com/hashicorp/go-version -
                            • - -
                            • Introduced through: - - - github.com/argoproj/argo-cd/v2@0.0.0, code.gitea.io/sdk/gitea@0.19.0 and others -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - code.gitea.io/sdk/gitea@0.19.0 - › - github.com/hashicorp/go-version@1.6.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            MPL-2.0 license

                            - -
                            - - - -
                            -
                            -

                            MPL-2.0 license

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Module: - - github.com/hashicorp/go-retryablehttp -
                            • - -
                            • Introduced through: - - github.com/argoproj/argo-cd/v2@0.0.0 and github.com/hashicorp/go-retryablehttp@0.7.7 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/xanzy/go-gitlab@0.109.0 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/cmd@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/api@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/controller@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/cmd@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/api@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/controller@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - - - -
                            • -
                            - -
                            - -
                            - -

                            MPL-2.0 license

                            - -
                            - - - -
                            -
                            -

                            MPL-2.0 license

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Module: - - github.com/hashicorp/go-cleanhttp -
                            • - -
                            • Introduced through: - - - github.com/argoproj/argo-cd/v2@0.0.0, github.com/hashicorp/go-retryablehttp@0.7.7 and others -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - › - github.com/hashicorp/go-cleanhttp@0.5.2 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/xanzy/go-gitlab@0.109.0 - › - github.com/hashicorp/go-cleanhttp@0.5.2 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/xanzy/go-gitlab@0.109.0 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - › - github.com/hashicorp/go-cleanhttp@0.5.2 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - › - github.com/hashicorp/go-cleanhttp@0.5.2 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - › - github.com/hashicorp/go-cleanhttp@0.5.2 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/cmd@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - › - github.com/hashicorp/go-cleanhttp@0.5.2 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/api@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - › - github.com/hashicorp/go-cleanhttp@0.5.2 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/controller@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 - › - github.com/hashicorp/go-retryablehttp@0.7.7 - › - github.com/hashicorp/go-cleanhttp@0.5.2 - - - -
                            • -
                            - -
                            - -
                            - -

                            MPL-2.0 license

                            - -
                            - - - -
                            -
                            -

                            MPL-2.0 license

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Module: - - github.com/gosimple/slug -
                            • - -
                            • Introduced through: - - github.com/argoproj/argo-cd/v2@0.0.0 and github.com/gosimple/slug@1.14.0 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/gosimple/slug@1.14.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            MPL-2.0 license

                            - -
                            - - - -
                            -
                            -

                            Arbitrary Argument Injection

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Vulnerable module: - - github.com/go-git/go-git/v5/plumbing/transport -
                            • - -
                            • Introduced through: - - github.com/argoproj/argo-cd/v2@0.0.0 and github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/git@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/git@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/http@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/file@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/server@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/go-git/go-git/v5@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/client@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/ssh@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport/internal/common@5.12.0 - › - github.com/go-git/go-git/v5/plumbing/transport@5.12.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            Affected versions of this package are vulnerable to Arbitrary Argument Injection via a malicious URL value, which allows an attacker to set flags on the git-upload-pack command, if the file: protocol is in use.

                            -

                            Remediation

                            -

                            Upgrade github.com/go-git/go-git/v5/plumbing/transport to version 5.13.0 or higher.

                            -

                            References

                            - - -
                            - - - -
                            -
                            -

                            Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Vulnerable module: - - github.com/Azure/azure-sdk-for-go/sdk/azidentity -
                            • - -
                            • Introduced through: - - - github.com/argoproj/argo-cd/v2@0.0.0, github.com/Azure/kubelogin/pkg/token@0.0.20 and others -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/Azure/kubelogin/pkg/token@0.0.20 - › - github.com/Azure/azure-sdk-for-go/sdk/azidentity@1.1.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            github.com/Azure/azure-sdk-for-go/sdk/azidentity is a module that provides Microsoft Entra ID (formerly Azure Active Directory) token authentication support across the Azure SDK. It includes a set of TokenCredential implementations, which can be used with Azure SDK clients supporting token authentication.

                            -

                            Affected versions of this package are vulnerable to Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') in the authentication process. An attacker can elevate privileges by exploiting race conditions during the token validation steps. This is only exploitable if the application is configured to use multiple threads or processes for handling authentication requests.

                            -

                            Notes:

                            -
                              -
                            1. An attacker who successfully exploited the vulnerability could elevate privileges and read any file on the file system with SYSTEM access permissions;

                              -
                            2. -
                            3. An attacker who successfully exploits this vulnerability can only obtain read access to the system files by exploiting this vulnerability. The attacker cannot perform write or delete operations on the files;

                              -
                            4. -
                            5. The vulnerability exists in the following credential types: DefaultAzureCredential and ManagedIdentityCredential;

                              -
                            6. -
                            7. The vulnerability exists in the following credential types:

                              -
                            8. -
                            -

                            ManagedIdentityApplication (.NET)

                            -

                            ManagedIdentityApplication (Java)

                            -

                            ManagedIdentityApplication (Node.js)

                            -

                            Remediation

                            -

                            Upgrade github.com/Azure/azure-sdk-for-go/sdk/azidentity to version 1.6.0 or higher.

                            -

                            References

                            - - -
                            - - - -
                            -
                            -

                            Regular Expression Denial of Service (ReDoS)

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd › ui/yarn.lock -
                            • -
                            • - Package Manager: npm -
                            • -
                            • - Vulnerable module: - - foundation-sites -
                            • - -
                            • Introduced through: - - argo-cd-ui@1.0.0 and foundation-sites@6.8.1 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - argo-cd-ui@1.0.0 - › - foundation-sites@6.8.1 - - - -
                            • -
                            • - Introduced through: - argo-cd-ui@1.0.0 - › - argo-ui@1.0.0 - › - foundation-sites@6.8.1 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            foundation-sites is a responsive front-end framework

                            -

                            Affected versions of this package are vulnerable to Regular Expression Denial of Service (ReDoS) due to inefficient backtracking in the regular expressions used in URL forms.

                            -

                            PoC

                            -
                            https://www.''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
                            -        
                            -

                            Details

                            -

                            Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its original and legitimate users. There are many types of DoS attacks, ranging from trying to clog the network pipes to the system by generating a large volume of traffic from many machines (a Distributed Denial of Service - DDoS - attack) to sending crafted requests that cause a system to crash or take a disproportional amount of time to process.

                            -

                            The Regular expression Denial of Service (ReDoS) is a type of Denial of Service attack. Regular expressions are incredibly powerful, but they aren't very intuitive and can ultimately end up making it easy for attackers to take your site down.

                            -

                            Let’s take the following regular expression as an example:

                            -
                            regex = /A(B|C+)+D/
                            -        
                            -

                            This regular expression accomplishes the following:

                            -
                              -
                            • A The string must start with the letter 'A'
                            • -
                            • (B|C+)+ The string must then follow the letter A with either the letter 'B' or some number of occurrences of the letter 'C' (the + matches one or more times). The + at the end of this section states that we can look for one or more matches of this section.
                            • -
                            • D Finally, we ensure this section of the string ends with a 'D'
                            • -
                            -

                            The expression would match inputs such as ABBD, ABCCCCD, ABCBCCCD and ACCCCCD

                            -

                            It most cases, it doesn't take very long for a regex engine to find a match:

                            -
                            $ time node -e '/A(B|C+)+D/.test("ACCCCCCCCCCCCCCCCCCCCCCCCCCCCD")'
                            -        0.04s user 0.01s system 95% cpu 0.052 total
                            -        
                            -        $ time node -e '/A(B|C+)+D/.test("ACCCCCCCCCCCCCCCCCCCCCCCCCCCCX")'
                            -        1.79s user 0.02s system 99% cpu 1.812 total
                            -        
                            -

                            The entire process of testing it against a 30 characters long string takes around ~52ms. But when given an invalid string, it takes nearly two seconds to complete the test, over ten times as long as it took to test a valid string. The dramatic difference is due to the way regular expressions get evaluated.

                            -

                            Most Regex engines will work very similarly (with minor differences). The engine will match the first possible way to accept the current character and proceed to the next one. If it then fails to match the next one, it will backtrack and see if there was another way to digest the previous character. If it goes too far down the rabbit hole only to find out the string doesn’t match in the end, and if many characters have multiple valid regex paths, the number of backtracking steps can become very large, resulting in what is known as catastrophic backtracking.

                            -

                            Let's look at how our expression runs into this problem, using a shorter string: "ACCCX". While it seems fairly straightforward, there are still four different ways that the engine could match those three C's:

                            -
                              -
                            1. CCC
                            2. -
                            3. CC+C
                            4. -
                            5. C+CC
                            6. -
                            7. C+C+C.
                            8. -
                            -

                            The engine has to try each of those combinations to see if any of them potentially match against the expression. When you combine that with the other steps the engine must take, we can use RegEx 101 debugger to see the engine has to take a total of 38 steps before it can determine the string doesn't match.

                            -

                            From there, the number of steps the engine must use to validate a string just continues to grow.

                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                            StringNumber of C'sNumber of steps
                            ACCCX338
                            ACCCCX471
                            ACCCCCX5136
                            ACCCCCCCCCCCCCCX1465,553
                            -

                            By the time the string includes 14 C's, the engine has to take over 65,000 steps just to see if the string is valid. These extreme situations can cause them to work very slowly (exponentially related to input size, as shown above), allowing an attacker to exploit this and can cause the service to excessively consume CPU, resulting in a Denial of Service.

                            -

                            Remediation

                            -

                            There is no fixed version for foundation-sites.

                            -

                            References

                            - - -
                            - - - -
                            -
                            -

                            Insufficient Documentation of Error Handling Techniques

                            -
                            - -
                            - low severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Vulnerable module: - - github.com/golang-jwt/jwt/v4 -
                            • - -
                            • Introduced through: - - github.com/argoproj/argo-cd/v2@0.0.0 and github.com/golang-jwt/jwt/v4@4.5.0 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/golang-jwt/jwt/v4@4.5.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/bradleyfalzon/ghinstallation/v2@2.11.0 - › - github.com/golang-jwt/jwt/v4@4.5.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/bradleyfalzon/ghinstallation/v2@2.11.0 - › - github.com/golang-jwt/jwt/v4@4.5.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/bradleyfalzon/ghinstallation/v2@2.11.0 - › - github.com/golang-jwt/jwt/v4@4.5.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/cmd@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/bradleyfalzon/ghinstallation/v2@2.11.0 - › - github.com/golang-jwt/jwt/v4@4.5.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/Azure/kubelogin/pkg/token@0.0.20 - › - github.com/Azure/go-autorest/autorest/azure@0.11.29 - › - github.com/Azure/go-autorest/autorest@0.11.29 - › - github.com/Azure/go-autorest/autorest/adal@0.9.23 - › - github.com/golang-jwt/jwt/v4@4.5.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/api@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/bradleyfalzon/ghinstallation/v2@2.11.0 - › - github.com/golang-jwt/jwt/v4@4.5.0 - - - -
                            • -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/notifications-engine/pkg/controller@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 - › - github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 - › - github.com/bradleyfalzon/ghinstallation/v2@2.11.0 - › - github.com/golang-jwt/jwt/v4@4.5.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            Affected versions of this package are vulnerable to Insufficient Documentation of Error Handling Techniques in the ParseWithClaims function. An attacker can exploit this to accept invalid tokens by only checking for specific errors and ignoring others.

                            -

                            Workaround

                            -

                            Users who are not able to upgrade to the fixed version should make sure that they are properly checking for all errors, see example_test.go

                            -

                            Remediation

                            -

                            Upgrade github.com/golang-jwt/jwt/v4 to version 4.5.1 or higher.

                            -

                            References

                            - - -
                            - - - -
                            -
                            -

                            Insufficient Documentation of Error Handling Techniques

                            -
                            - -
                            - low severity -
                            - -
                            - -
                              -
                            • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Vulnerable module: - - github.com/golang-jwt/jwt -
                            • - -
                            • Introduced through: - - - github.com/argoproj/argo-cd/v2@0.0.0, github.com/Azure/kubelogin/pkg/token@0.0.20 and others -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/Azure/kubelogin/pkg/token@0.0.20 - › - github.com/AzureAD/microsoft-authentication-library-for-go/apps/confidential@0.5.2 - › - github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/oauth/ops/accesstokens@0.5.2 - › - github.com/golang-jwt/jwt@3.2.2 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            Affected versions of this package are vulnerable to Insufficient Documentation of Error Handling Techniques in the ParseWithClaims function. An attacker can exploit this to accept invalid tokens by only checking for specific errors and ignoring others.

                            -

                            Workaround

                            -

                            Users who are not able to upgrade to the fixed version should make sure that they are properly checking for all errors, see example_test.go

                            -

                            Remediation

                            -

                            A fix was pushed into the master branch but not yet published.

                            -

                            References

                            - - -
                            - - - -
                            -
                            -
                            -
                            - - - diff --git a/docs/snyk/v2.13.3/argocd-iac-install.html b/docs/snyk/v2.13.4/argocd-iac-install.html similarity index 99% rename from docs/snyk/v2.13.3/argocd-iac-install.html rename to docs/snyk/v2.13.4/argocd-iac-install.html index c20398f262f68..ea7f0465dc980 100644 --- a/docs/snyk/v2.13.3/argocd-iac-install.html +++ b/docs/snyk/v2.13.4/argocd-iac-install.html @@ -456,7 +456,7 @@

                            Snyk test report

                            -

                            January 19th 2025, 12:26:40 am (UTC+00:00)

                            +

                            February 2nd 2025, 12:26:21 am (UTC+00:00)

                            Scanned the following path: diff --git a/docs/snyk/v2.13.3/argocd-iac-namespace-install.html b/docs/snyk/v2.13.4/argocd-iac-namespace-install.html similarity index 99% rename from docs/snyk/v2.13.3/argocd-iac-namespace-install.html rename to docs/snyk/v2.13.4/argocd-iac-namespace-install.html index c23e4454ef62d..11719bbcfdd68 100644 --- a/docs/snyk/v2.13.3/argocd-iac-namespace-install.html +++ b/docs/snyk/v2.13.4/argocd-iac-namespace-install.html @@ -456,7 +456,7 @@

                            Snyk test report

                            -

                            January 19th 2025, 12:26:51 am (UTC+00:00)

                            +

                            February 2nd 2025, 12:26:38 am (UTC+00:00)

                            Scanned the following path: diff --git a/docs/snyk/v2.13.4/argocd-test.html b/docs/snyk/v2.13.4/argocd-test.html new file mode 100644 index 0000000000000..d7649b64afc6a --- /dev/null +++ b/docs/snyk/v2.13.4/argocd-test.html @@ -0,0 +1,1602 @@ + + + + + + + + + Snyk test report + + + + + + + + + +
                            +
                            +
                            +
                            + + + Snyk - Open Source Security + + + + + + + +
                            +

                            Snyk test report

                            + +

                            February 2nd 2025, 12:24:15 am (UTC+00:00)

                            +
                            +
                            + Scanned the following paths: +
                              +
                            • /argo-cd/argoproj/argo-cd/v2/go.mod (gomodules)
                            • +
                            • /argo-cd/ui/yarn.lock (yarn)
                            • +
                            +
                            + +
                            +
                            10 known vulnerabilities
                            +
                            36 vulnerable dependency paths
                            +
                            2141 dependencies
                            +
                            +
                            +
                            +
                            + +
                            +
                            +
                            +

                            LGPL-3.0 license

                            +
                            + +
                            + medium severity +
                            + +
                            + +
                              +
                            • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
                            • +
                            • + Package Manager: golang +
                            • +
                            • + Module: + + gopkg.in/retry.v1 +
                            • + +
                            • Introduced through: + + + github.com/argoproj/argo-cd/v2@0.0.0, github.com/Azure/kubelogin/pkg/token@0.0.20 and others +
                            • +
                            + +
                            + + +

                            Detailed paths

                            + +
                              +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/Azure/kubelogin/pkg/token@0.0.20 + › + gopkg.in/retry.v1@1.0.3 + + + +
                            • +
                            + +
                            + +
                            + +

                            LGPL-3.0 license

                            + +
                            + + + +
                            +
                            +

                            MPL-2.0 license

                            +
                            + +
                            + medium severity +
                            + +
                            + +
                              +
                            • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
                            • +
                            • + Package Manager: golang +
                            • +
                            • + Module: + + github.com/r3labs/diff +
                            • + +
                            • Introduced through: + + github.com/argoproj/argo-cd/v2@0.0.0 and github.com/r3labs/diff@1.1.0 + +
                            • +
                            + +
                            + + +

                            Detailed paths

                            + +
                              +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/r3labs/diff@1.1.0 + + + +
                            • +
                            + +
                            + +
                            + +

                            MPL-2.0 license

                            + +
                            + + + +
                            +
                            +

                            MPL-2.0 license

                            +
                            + +
                            + medium severity +
                            + +
                            + +
                              +
                            • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
                            • +
                            • + Package Manager: golang +
                            • +
                            • + Module: + + github.com/hashicorp/go-version +
                            • + +
                            • Introduced through: + + + github.com/argoproj/argo-cd/v2@0.0.0, code.gitea.io/sdk/gitea@0.19.0 and others +
                            • +
                            + +
                            + + +

                            Detailed paths

                            + +
                              +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + code.gitea.io/sdk/gitea@0.19.0 + › + github.com/hashicorp/go-version@1.6.0 + + + +
                            • +
                            + +
                            + +
                            + +

                            MPL-2.0 license

                            + +
                            + + + +
                            +
                            +

                            MPL-2.0 license

                            +
                            + +
                            + medium severity +
                            + +
                            + +
                              +
                            • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
                            • +
                            • + Package Manager: golang +
                            • +
                            • + Module: + + github.com/hashicorp/go-retryablehttp +
                            • + +
                            • Introduced through: + + github.com/argoproj/argo-cd/v2@0.0.0 and github.com/hashicorp/go-retryablehttp@0.7.7 + +
                            • +
                            + +
                            + + +

                            Detailed paths

                            + +
                              +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/xanzy/go-gitlab@0.109.0 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/cmd@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/api@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/controller@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/cmd@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/api@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/controller@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + + + +
                            • +
                            + +
                            + +
                            + +

                            MPL-2.0 license

                            + +
                            + + + +
                            +
                            +

                            MPL-2.0 license

                            +
                            + +
                            + medium severity +
                            + +
                            + +
                              +
                            • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
                            • +
                            • + Package Manager: golang +
                            • +
                            • + Module: + + github.com/hashicorp/go-cleanhttp +
                            • + +
                            • Introduced through: + + + github.com/argoproj/argo-cd/v2@0.0.0, github.com/hashicorp/go-retryablehttp@0.7.7 and others +
                            • +
                            + +
                            + + +

                            Detailed paths

                            + +
                              +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + › + github.com/hashicorp/go-cleanhttp@0.5.2 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/xanzy/go-gitlab@0.109.0 + › + github.com/hashicorp/go-cleanhttp@0.5.2 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/xanzy/go-gitlab@0.109.0 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + › + github.com/hashicorp/go-cleanhttp@0.5.2 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + › + github.com/hashicorp/go-cleanhttp@0.5.2 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + › + github.com/hashicorp/go-cleanhttp@0.5.2 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/cmd@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + › + github.com/hashicorp/go-cleanhttp@0.5.2 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/api@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + › + github.com/hashicorp/go-cleanhttp@0.5.2 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/controller@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/opsgenie/opsgenie-go-sdk-v2/client@1.0.5 + › + github.com/hashicorp/go-retryablehttp@0.7.7 + › + github.com/hashicorp/go-cleanhttp@0.5.2 + + + +
                            • +
                            + +
                            + +
                            + +

                            MPL-2.0 license

                            + +
                            + + + +
                            +
                            +

                            MPL-2.0 license

                            +
                            + +
                            + medium severity +
                            + +
                            + +
                              +
                            • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
                            • +
                            • + Package Manager: golang +
                            • +
                            • + Module: + + github.com/gosimple/slug +
                            • + +
                            • Introduced through: + + github.com/argoproj/argo-cd/v2@0.0.0 and github.com/gosimple/slug@1.14.0 + +
                            • +
                            + +
                            + + +

                            Detailed paths

                            + +
                              +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/gosimple/slug@1.14.0 + + + +
                            • +
                            + +
                            + +
                            + +

                            MPL-2.0 license

                            + +
                            + + + +
                            +
                            +

                            Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

                            +
                            + +
                            + medium severity +
                            + +
                            + +
                              +
                            • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
                            • +
                            • + Package Manager: golang +
                            • +
                            • + Vulnerable module: + + github.com/Azure/azure-sdk-for-go/sdk/azidentity +
                            • + +
                            • Introduced through: + + + github.com/argoproj/argo-cd/v2@0.0.0, github.com/Azure/kubelogin/pkg/token@0.0.20 and others +
                            • +
                            + +
                            + + +

                            Detailed paths

                            + +
                              +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/Azure/kubelogin/pkg/token@0.0.20 + › + github.com/Azure/azure-sdk-for-go/sdk/azidentity@1.1.0 + + + +
                            • +
                            + +
                            + +
                            + +

                            Overview

                            +

                            github.com/Azure/azure-sdk-for-go/sdk/azidentity is a module that provides Microsoft Entra ID (formerly Azure Active Directory) token authentication support across the Azure SDK. It includes a set of TokenCredential implementations, which can be used with Azure SDK clients supporting token authentication.

                            +

                            Affected versions of this package are vulnerable to Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') in the authentication process. An attacker can elevate privileges by exploiting race conditions during the token validation steps. This is only exploitable if the application is configured to use multiple threads or processes for handling authentication requests.

                            +

                            Notes:

                            +
                              +
                            1. An attacker who successfully exploited the vulnerability could elevate privileges and read any file on the file system with SYSTEM access permissions;

                              +
                            2. +
                            3. An attacker who successfully exploits this vulnerability can only obtain read access to the system files by exploiting this vulnerability. The attacker cannot perform write or delete operations on the files;

                              +
                            4. +
                            5. The vulnerability exists in the following credential types: DefaultAzureCredential and ManagedIdentityCredential;

                              +
                            6. +
                            7. The vulnerability exists in the following credential types:

                              +
                            8. +
                            +

                            ManagedIdentityApplication (.NET)

                            +

                            ManagedIdentityApplication (Java)

                            +

                            ManagedIdentityApplication (Node.js)

                            +

                            Remediation

                            +

                            Upgrade github.com/Azure/azure-sdk-for-go/sdk/azidentity to version 1.6.0 or higher.

                            +

                            References

                            + + +
                            + + + +
                            +
                            +

                            Regular Expression Denial of Service (ReDoS)

                            +
                            + +
                            + medium severity +
                            + +
                            + +
                              +
                            • + Manifest file: /argo-cd › ui/yarn.lock +
                            • +
                            • + Package Manager: npm +
                            • +
                            • + Vulnerable module: + + foundation-sites +
                            • + +
                            • Introduced through: + + argo-cd-ui@1.0.0 and foundation-sites@6.8.1 + +
                            • +
                            + +
                            + + +

                            Detailed paths

                            + +
                              +
                            • + Introduced through: + argo-cd-ui@1.0.0 + › + foundation-sites@6.8.1 + + + +
                            • +
                            • + Introduced through: + argo-cd-ui@1.0.0 + › + argo-ui@1.0.0 + › + foundation-sites@6.8.1 + + + +
                            • +
                            + +
                            + +
                            + +

                            Overview

                            +

                            foundation-sites is a responsive front-end framework

                            +

                            Affected versions of this package are vulnerable to Regular Expression Denial of Service (ReDoS) due to inefficient backtracking in the regular expressions used in URL forms.

                            +

                            PoC

                            +
                            https://www.''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
                            +        
                            +

                            Details

                            +

                            Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its original and legitimate users. There are many types of DoS attacks, ranging from trying to clog the network pipes to the system by generating a large volume of traffic from many machines (a Distributed Denial of Service - DDoS - attack) to sending crafted requests that cause a system to crash or take a disproportional amount of time to process.

                            +

                            The Regular expression Denial of Service (ReDoS) is a type of Denial of Service attack. Regular expressions are incredibly powerful, but they aren't very intuitive and can ultimately end up making it easy for attackers to take your site down.

                            +

                            Let’s take the following regular expression as an example:

                            +
                            regex = /A(B|C+)+D/
                            +        
                            +

                            This regular expression accomplishes the following:

                            +
                              +
                            • A The string must start with the letter 'A'
                            • +
                            • (B|C+)+ The string must then follow the letter A with either the letter 'B' or some number of occurrences of the letter 'C' (the + matches one or more times). The + at the end of this section states that we can look for one or more matches of this section.
                            • +
                            • D Finally, we ensure this section of the string ends with a 'D'
                            • +
                            +

                            The expression would match inputs such as ABBD, ABCCCCD, ABCBCCCD and ACCCCCD

                            +

                            It most cases, it doesn't take very long for a regex engine to find a match:

                            +
                            $ time node -e '/A(B|C+)+D/.test("ACCCCCCCCCCCCCCCCCCCCCCCCCCCCD")'
                            +        0.04s user 0.01s system 95% cpu 0.052 total
                            +        
                            +        $ time node -e '/A(B|C+)+D/.test("ACCCCCCCCCCCCCCCCCCCCCCCCCCCCX")'
                            +        1.79s user 0.02s system 99% cpu 1.812 total
                            +        
                            +

                            The entire process of testing it against a 30 characters long string takes around ~52ms. But when given an invalid string, it takes nearly two seconds to complete the test, over ten times as long as it took to test a valid string. The dramatic difference is due to the way regular expressions get evaluated.

                            +

                            Most Regex engines will work very similarly (with minor differences). The engine will match the first possible way to accept the current character and proceed to the next one. If it then fails to match the next one, it will backtrack and see if there was another way to digest the previous character. If it goes too far down the rabbit hole only to find out the string doesn’t match in the end, and if many characters have multiple valid regex paths, the number of backtracking steps can become very large, resulting in what is known as catastrophic backtracking.

                            +

                            Let's look at how our expression runs into this problem, using a shorter string: "ACCCX". While it seems fairly straightforward, there are still four different ways that the engine could match those three C's:

                            +
                              +
                            1. CCC
                            2. +
                            3. CC+C
                            4. +
                            5. C+CC
                            6. +
                            7. C+C+C.
                            8. +
                            +

                            The engine has to try each of those combinations to see if any of them potentially match against the expression. When you combine that with the other steps the engine must take, we can use RegEx 101 debugger to see the engine has to take a total of 38 steps before it can determine the string doesn't match.

                            +

                            From there, the number of steps the engine must use to validate a string just continues to grow.

                            + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            StringNumber of C'sNumber of steps
                            ACCCX338
                            ACCCCX471
                            ACCCCCX5136
                            ACCCCCCCCCCCCCCX1465,553
                            +

                            By the time the string includes 14 C's, the engine has to take over 65,000 steps just to see if the string is valid. These extreme situations can cause them to work very slowly (exponentially related to input size, as shown above), allowing an attacker to exploit this and can cause the service to excessively consume CPU, resulting in a Denial of Service.

                            +

                            Remediation

                            +

                            There is no fixed version for foundation-sites.

                            +

                            References

                            + + +
                            + + + +
                            +
                            +

                            Insufficient Documentation of Error Handling Techniques

                            +
                            + +
                            + low severity +
                            + +
                            + +
                              +
                            • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
                            • +
                            • + Package Manager: golang +
                            • +
                            • + Vulnerable module: + + github.com/golang-jwt/jwt/v4 +
                            • + +
                            • Introduced through: + + github.com/argoproj/argo-cd/v2@0.0.0 and github.com/golang-jwt/jwt/v4@4.5.0 + +
                            • +
                            + +
                            + + +

                            Detailed paths

                            + +
                              +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/golang-jwt/jwt/v4@4.5.0 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/bradleyfalzon/ghinstallation/v2@2.11.0 + › + github.com/golang-jwt/jwt/v4@4.5.0 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/bradleyfalzon/ghinstallation/v2@2.11.0 + › + github.com/golang-jwt/jwt/v4@4.5.0 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/bradleyfalzon/ghinstallation/v2@2.11.0 + › + github.com/golang-jwt/jwt/v4@4.5.0 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/cmd@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/bradleyfalzon/ghinstallation/v2@2.11.0 + › + github.com/golang-jwt/jwt/v4@4.5.0 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/Azure/kubelogin/pkg/token@0.0.20 + › + github.com/Azure/go-autorest/autorest/azure@0.11.29 + › + github.com/Azure/go-autorest/autorest@0.11.29 + › + github.com/Azure/go-autorest/autorest/adal@0.9.23 + › + github.com/golang-jwt/jwt/v4@4.5.0 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/api@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/bradleyfalzon/ghinstallation/v2@2.11.0 + › + github.com/golang-jwt/jwt/v4@4.5.0 + + + +
                            • +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/argoproj/notifications-engine/pkg/controller@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/subscriptions@#0802cd427621 + › + github.com/argoproj/notifications-engine/pkg/services@#0802cd427621 + › + github.com/bradleyfalzon/ghinstallation/v2@2.11.0 + › + github.com/golang-jwt/jwt/v4@4.5.0 + + + +
                            • +
                            + +
                            + +
                            + +

                            Overview

                            +

                            Affected versions of this package are vulnerable to Insufficient Documentation of Error Handling Techniques in the ParseWithClaims function. An attacker can exploit this to accept invalid tokens by only checking for specific errors and ignoring others.

                            +

                            Workaround

                            +

                            Users who are not able to upgrade to the fixed version should make sure that they are properly checking for all errors, see example_test.go

                            +

                            Remediation

                            +

                            Upgrade github.com/golang-jwt/jwt/v4 to version 4.5.1 or higher.

                            +

                            References

                            + + +
                            + + + +
                            +
                            +

                            Insufficient Documentation of Error Handling Techniques

                            +
                            + +
                            + low severity +
                            + +
                            + +
                              +
                            • + Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod +
                            • +
                            • + Package Manager: golang +
                            • +
                            • + Vulnerable module: + + github.com/golang-jwt/jwt +
                            • + +
                            • Introduced through: + + + github.com/argoproj/argo-cd/v2@0.0.0, github.com/Azure/kubelogin/pkg/token@0.0.20 and others +
                            • +
                            + +
                            + + +

                            Detailed paths

                            + +
                              +
                            • + Introduced through: + github.com/argoproj/argo-cd/v2@0.0.0 + › + github.com/Azure/kubelogin/pkg/token@0.0.20 + › + github.com/AzureAD/microsoft-authentication-library-for-go/apps/confidential@0.5.2 + › + github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/oauth/ops/accesstokens@0.5.2 + › + github.com/golang-jwt/jwt@3.2.2 + + + +
                            • +
                            + +
                            + +
                            + +

                            Overview

                            +

                            Affected versions of this package are vulnerable to Insufficient Documentation of Error Handling Techniques in the ParseWithClaims function. An attacker can exploit this to accept invalid tokens by only checking for specific errors and ignoring others.

                            +

                            Workaround

                            +

                            Users who are not able to upgrade to the fixed version should make sure that they are properly checking for all errors, see example_test.go

                            +

                            Remediation

                            +

                            A fix was pushed into the master branch but not yet published.

                            +

                            References

                            + + +
                            + + + +
                            +
                            +
                            +
                            + + + diff --git a/docs/snyk/v2.13.3/ghcr.io_dexidp_dex_v2.41.1.html b/docs/snyk/v2.13.4/ghcr.io_dexidp_dex_v2.41.1.html similarity index 99% rename from docs/snyk/v2.13.3/ghcr.io_dexidp_dex_v2.41.1.html rename to docs/snyk/v2.13.4/ghcr.io_dexidp_dex_v2.41.1.html index 40268d4130cc3..0bc09edfde962 100644 --- a/docs/snyk/v2.13.3/ghcr.io_dexidp_dex_v2.41.1.html +++ b/docs/snyk/v2.13.4/ghcr.io_dexidp_dex_v2.41.1.html @@ -456,7 +456,7 @@

                            Snyk test report

                            -

                            January 19th 2025, 12:24:44 am (UTC+00:00)

                            +

                            February 2nd 2025, 12:24:22 am (UTC+00:00)

                            Scanned the following paths: diff --git a/docs/snyk/v2.14.0-rc5/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html b/docs/snyk/v2.13.4/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html similarity index 99% rename from docs/snyk/v2.14.0-rc5/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html rename to docs/snyk/v2.13.4/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html index d9dd9bf0652b4..bf74aa1747043 100644 --- a/docs/snyk/v2.14.0-rc5/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html +++ b/docs/snyk/v2.13.4/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html @@ -456,7 +456,7 @@

                            Snyk test report

                            -

                            January 19th 2025, 12:22:09 am (UTC+00:00)

                            +

                            February 2nd 2025, 12:24:26 am (UTC+00:00)

                            Scanned the following path: diff --git a/docs/snyk/v2.12.9/public.ecr.aws_docker_library_redis_7.0.15-alpine.html b/docs/snyk/v2.13.4/public.ecr.aws_docker_library_redis_7.0.15-alpine.html similarity index 99% rename from docs/snyk/v2.12.9/public.ecr.aws_docker_library_redis_7.0.15-alpine.html rename to docs/snyk/v2.13.4/public.ecr.aws_docker_library_redis_7.0.15-alpine.html index cc2dd4117ab4f..2c469a55ee7c8 100644 --- a/docs/snyk/v2.12.9/public.ecr.aws_docker_library_redis_7.0.15-alpine.html +++ b/docs/snyk/v2.13.4/public.ecr.aws_docker_library_redis_7.0.15-alpine.html @@ -456,7 +456,7 @@

                            Snyk test report

                            -

                            January 19th 2025, 12:27:28 am (UTC+00:00)

                            +

                            February 2nd 2025, 12:24:31 am (UTC+00:00)

                            Scanned the following paths: diff --git a/docs/snyk/v2.12.9/quay.io_argoproj_argocd_v2.12.9.html b/docs/snyk/v2.13.4/quay.io_argoproj_argocd_v2.13.4.html similarity index 83% rename from docs/snyk/v2.12.9/quay.io_argoproj_argocd_v2.12.9.html rename to docs/snyk/v2.13.4/quay.io_argoproj_argocd_v2.13.4.html index c4c5583874f0b..d01097c474a34 100644 --- a/docs/snyk/v2.12.9/quay.io_argoproj_argocd_v2.12.9.html +++ b/docs/snyk/v2.13.4/quay.io_argoproj_argocd_v2.13.4.html @@ -7,7 +7,7 @@ Snyk test report - + @@ -456,23 +456,23 @@

                            Snyk test report

                            -

                            January 19th 2025, 12:27:48 am (UTC+00:00)

                            +

                            February 2nd 2025, 12:24:50 am (UTC+00:00)

                            Scanned the following paths:
                              -
                            • quay.io/argoproj/argocd:v2.12.9/argoproj/argocd/Dockerfile (deb)
                            • -
                            • quay.io/argoproj/argocd:v2.12.9/argoproj/argo-cd/v2//usr/local/bin/argocd (gomodules)
                            • -
                            • quay.io/argoproj/argocd:v2.12.9//usr/local/bin/kustomize (gomodules)
                            • -
                            • quay.io/argoproj/argocd:v2.12.9/helm/v3//usr/local/bin/helm (gomodules)
                            • -
                            • quay.io/argoproj/argocd:v2.12.9/git-lfs/git-lfs//usr/bin/git-lfs (gomodules)
                            • +
                            • quay.io/argoproj/argocd:v2.13.4/argoproj/argocd/Dockerfile (deb)
                            • +
                            • quay.io/argoproj/argocd:v2.13.4/argoproj/argo-cd/v2//usr/local/bin/argocd (gomodules)
                            • +
                            • quay.io/argoproj/argocd:v2.13.4//usr/local/bin/kustomize (gomodules)
                            • +
                            • quay.io/argoproj/argocd:v2.13.4/helm/v3//usr/local/bin/helm (gomodules)
                            • +
                            • quay.io/argoproj/argocd:v2.13.4/git-lfs/git-lfs//usr/bin/git-lfs (gomodules)
                            -
                            30 known vulnerabilities
                            -
                            118 vulnerable dependency paths
                            -
                            2292 dependencies
                            +
                            26 known vulnerabilities
                            +
                            109 vulnerable dependency paths
                            +
                            2359 dependencies
                            @@ -480,80 +480,6 @@

                            Snyk test report

                            -
                            -

                            Incorrect Implementation of Authentication Algorithm

                            -
                            - -
                            - critical severity -
                            - -
                            - -
                              -
                            • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argo-cd/v2 › /usr/local/bin/argocd -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Vulnerable module: - - golang.org/x/crypto/ssh -
                            • - -
                            • Introduced through: - - github.com/argoproj/argo-cd/v2@* and golang.org/x/crypto/ssh@v0.23.0 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@* - › - golang.org/x/crypto/ssh@v0.23.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            golang.org/x/crypto/ssh is a SSH client and server

                            -

                            Affected versions of this package are vulnerable to Incorrect Implementation of Authentication Algorithm when the key passed in the last call before a connection is established is assumed to be the key used for authentication. It is not necessarily the authentication key in use, and this allows attackers who can control the key cache by making their own carefully-timed connections to bypass authorization with subsequent legitimate ServerConfig.PublicKeyCallback callbacks.

                            -

                            Note: The assumed caching behavior of this callback is not documented and is therefore considered human error, but the project maintainers have observed reliance on it for authorization decisions in production. In fact, the assumption is negated in the documentation, which states "A call to this function does not guarantee that the key offered is in fact used to authenticate." The behavior after upgrading still allows the possibility of an attacker forcing their own key to be the one in the cache when the callback is invoked if the client is using a different authentication method such as PasswordCallback, KeyboardInteractiveCallback, or NoClientAuth. It is therefore recommended to rely on the return values of the connection itself, found in ServerConn.Permissions for further authorization steps.

                            -

                            Remediation

                            -

                            Upgrade golang.org/x/crypto/ssh to version 0.31.0 or higher.

                            -

                            References

                            - - -
                            - - - -

                            Denial of Service (DoS)

                            @@ -566,7 +492,7 @@

                            Denial of Service (DoS)

                            • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.13.4/helm/v3 › /usr/local/bin/helm
                            • Package Manager: golang @@ -579,7 +505,7 @@

                              Denial of Service (DoS)

                            • Introduced through: - github.com/argoproj/argo-cd/v2@* and golang.org/x/net/html@v0.25.0 + helm.sh/helm/v3@* and golang.org/x/net/html@v0.23.0
                            @@ -590,15 +516,6 @@

                            Denial of Service (DoS)

                            Detailed paths

                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@* - › - golang.org/x/net/html@v0.25.0 - - - -
                            • Introduced through: helm.sh/helm/v3@* @@ -645,76 +562,6 @@

                              References

                              More about this vulnerability

                            -
                            -
                            -

                            Allocation of Resources Without Limits or Throttling

                            -
                            - -
                            - high severity -
                            - -
                            - -
                              -
                            • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argo-cd/v2 › /usr/local/bin/argocd -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Vulnerable module: - - github.com/go-git/go-git/v5/plumbing -
                            • - -
                            • Introduced through: - - github.com/argoproj/argo-cd/v2@* and github.com/go-git/go-git/v5/plumbing@v5.12.0 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@* - › - github.com/go-git/go-git/v5/plumbing@v5.12.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            github.com/go-git/go-git/v5/plumbing is a highly extensible git implementation library written in pure Go.

                            -

                            Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via specially crafted responses from a Git server, which triggers resource exhaustion in clients.

                            -

                            Workaround

                            -

                            In cases where a bump to the latest version of go-git is not possible, we recommend limiting its use to only trustworthy Git servers.

                            -

                            Remediation

                            -

                            Upgrade github.com/go-git/go-git/v5/plumbing to version 5.13.0 or higher.

                            -

                            References

                            - - -
                            - - -

                            CVE-2024-56433

                            @@ -728,7 +575,7 @@

                            CVE-2024-56433

                            • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argocd › Dockerfile
                            • Package Manager: ubuntu:24.04 @@ -741,7 +588,7 @@

                              CVE-2024-56433

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 and shadow/passwd@1:4.13+dfsg1-4ubuntu3.2 + docker-image|quay.io/argoproj/argocd@v2.13.4 and shadow/passwd@1:4.13+dfsg1-4ubuntu3.2
                            @@ -754,7 +601,7 @@

                            Detailed paths

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › shadow/passwd@1:4.13+dfsg1-4ubuntu3.2 @@ -763,7 +610,7 @@

                              Detailed paths

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › openssh/openssh-client@1:9.6p1-3ubuntu13.5 › @@ -774,7 +621,7 @@

                              Detailed paths

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › apt@2.7.14build2 › @@ -787,7 +634,7 @@

                              Detailed paths

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 @@ -833,7 +680,7 @@

                              Insecure Storage of Sensitive Information

                              • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argocd › Dockerfile
                              • Package Manager: ubuntu:24.04 @@ -846,7 +693,7 @@

                                Insecure Storage of Sensitive Information

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 and pam/libpam0g@1.5.3-5ubuntu5.1 + docker-image|quay.io/argoproj/argocd@v2.13.4 and pam/libpam0g@1.5.3-5ubuntu5.1
                              @@ -859,7 +706,7 @@

                              Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › pam/libpam0g@1.5.3-5ubuntu5.1 @@ -868,7 +715,7 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 › @@ -879,9 +726,9 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - util-linux@2.39.3-9ubuntu6.1 + util-linux@2.39.3-9ubuntu6.2 › pam/libpam0g@1.5.3-5ubuntu5.1 @@ -890,7 +737,7 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › apt@2.7.14build2 › @@ -905,7 +752,7 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › apt@2.7.14build2 › @@ -922,7 +769,7 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › apt@2.7.14build2 › @@ -941,7 +788,7 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › pam/libpam-modules-bin@1.5.3-5ubuntu5.1 @@ -950,7 +797,7 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › apt@2.7.14build2 › @@ -967,7 +814,7 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › pam/libpam-modules@1.5.3-5ubuntu5.1 @@ -976,7 +823,7 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › pam/libpam-runtime@1.5.3-5ubuntu5.1 › @@ -987,7 +834,7 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 › @@ -998,7 +845,7 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › apt@2.7.14build2 › @@ -1013,7 +860,7 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › pam/libpam-runtime@1.5.3-5ubuntu5.1 @@ -1022,7 +869,7 @@

                                Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 › @@ -1072,7 +919,7 @@

                                Improper Authentication

                                • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argocd › Dockerfile
                                • Package Manager: ubuntu:24.04 @@ -1085,7 +932,7 @@

                                  Improper Authentication

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 and pam/libpam0g@1.5.3-5ubuntu5.1 + docker-image|quay.io/argoproj/argocd@v2.13.4 and pam/libpam0g@1.5.3-5ubuntu5.1
                                @@ -1098,7 +945,7 @@

                                Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › pam/libpam0g@1.5.3-5ubuntu5.1 @@ -1107,7 +954,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 › @@ -1118,9 +965,9 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - util-linux@2.39.3-9ubuntu6.1 + util-linux@2.39.3-9ubuntu6.2 › pam/libpam0g@1.5.3-5ubuntu5.1 @@ -1129,7 +976,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › apt@2.7.14build2 › @@ -1144,7 +991,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › apt@2.7.14build2 › @@ -1161,7 +1008,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › apt@2.7.14build2 › @@ -1180,7 +1027,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › pam/libpam-modules-bin@1.5.3-5ubuntu5.1 @@ -1189,7 +1036,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › apt@2.7.14build2 › @@ -1206,7 +1053,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › pam/libpam-modules@1.5.3-5ubuntu5.1 @@ -1215,7 +1062,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › pam/libpam-runtime@1.5.3-5ubuntu5.1 › @@ -1226,7 +1073,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 › @@ -1237,7 +1084,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › apt@2.7.14build2 › @@ -1252,7 +1099,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › pam/libpam-runtime@1.5.3-5ubuntu5.1 @@ -1261,7 +1108,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 › @@ -1308,7 +1155,7 @@

                                  CVE-2024-26462

                                  • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argocd › Dockerfile
                                  • Package Manager: ubuntu:24.04 @@ -1322,7 +1169,7 @@

                                    CVE-2024-26462

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9, git@1:2.43.0-1ubuntu7.1 and others + docker-image|quay.io/argoproj/argocd@v2.13.4, git@1:2.43.0-1ubuntu7.2 and others
                                  @@ -1334,9 +1181,9 @@

                                  Detailed paths

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1349,9 +1196,9 @@

                                    Detailed paths

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1366,9 +1213,9 @@

                                    Detailed paths

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1381,9 +1228,9 @@

                                    Detailed paths

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1398,9 +1245,9 @@

                                    Detailed paths

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1417,9 +1264,9 @@

                                    Detailed paths

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1432,7 +1279,7 @@

                                    Detailed paths

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › openssh/openssh-client@1:9.6p1-3ubuntu13.5 › @@ -1443,9 +1290,9 @@

                                    Detailed paths

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1456,9 +1303,9 @@

                                    Detailed paths

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1471,7 +1318,7 @@

                                    Detailed paths

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › krb5/krb5-locales@1.20.1-6ubuntu2.2 @@ -1516,7 +1363,7 @@

                                    LGPL-3.0 license

                                    • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                                    • Package Manager: golang @@ -1563,116 +1410,6 @@

                                      Detailed paths

                                      More about this vulnerability

                            -
                            -
                            -

                            Denial of Service (DoS)

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argo-cd/v2 › /usr/local/bin/argocd -
                            • -
                            • - Package Manager: golang -
                            • -
                            • - Vulnerable module: - - github.com/rs/cors -
                            • - -
                            • Introduced through: - - github.com/argoproj/argo-cd/v2@* and github.com/rs/cors@v1.9.0 - -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - github.com/argoproj/argo-cd/v2@* - › - github.com/rs/cors@v1.9.0 - - - -
                            • -
                            - -
                            - -
                            - -

                            Overview

                            -

                            Affected versions of this package are vulnerable to Denial of Service (DoS) through the processing of malicious preflight requests that include a Access-Control-Request-Headers header with excessive commas. An attacker can induce excessive memory consumption and potentially crash the server by sending specially crafted requests.

                            -

                            PoC

                            -
                            
                            -        func BenchmarkPreflightAdversarialACRH(b *testing.B) {
                            -            resps := makeFakeResponses(b.N)
                            -            req, _ := http.NewRequest(http.MethodOptions, dummyEndpoint, nil)
                            -            req.Header.Add(headerOrigin, dummyOrigin)
                            -            req.Header.Add(headerACRM, http.MethodGet)
                            -            req.Header[headerACRH] = adversarialACRH
                            -            handler := Default().Handler(testHandler)
                            -        
                            -            b.ReportAllocs()
                            -            b.ResetTimer()
                            -            for i := 0; i < b.N; i++ {
                            -                handler.ServeHTTP(resps[i], req)
                            -            }
                            -        }
                            -        
                            -        var adversarialACRH []string
                            -        
                            -        func init() { // populates adversarialACRH
                            -            n := int(math.Floor(math.Sqrt(http.DefaultMaxHeaderBytes)))
                            -            commas := strings.Repeat(",", n)
                            -            res := make([]string, n)
                            -            for i := range res {
                            -                res[i] = commas
                            -            }
                            -            adversarialACRH = res
                            -        }
                            -        
                            -

                            Details

                            -

                            Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.

                            -

                            Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.

                            -

                            One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.

                            -

                            When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.

                            -

                            Two common types of DoS vulnerabilities:

                            -
                              -
                            • High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.

                              -
                            • -
                            • Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm ws package

                              -
                            • -
                            -

                            Remediation

                            -

                            Upgrade github.com/rs/cors to version 1.11.0 or higher.

                            -

                            References

                            - - -
                            - - -

                            MPL-2.0 license

                            @@ -1686,7 +1423,7 @@

                            MPL-2.0 license

                            • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                            • Package Manager: golang @@ -1746,7 +1483,7 @@

                              MPL-2.0 license

                              • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                              • Package Manager: golang @@ -1806,7 +1543,7 @@

                                MPL-2.0 license

                                • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                                • Package Manager: golang @@ -1866,7 +1603,7 @@

                                  MPL-2.0 license

                                  • - Manifest file: quay.io/argoproj/argocd:v2.12.9/helm/v3 › /usr/local/bin/helm + Manifest file: quay.io/argoproj/argocd:v2.13.4/helm/v3 › /usr/local/bin/helm
                                  • Package Manager: golang @@ -1926,7 +1663,7 @@

                                    MPL-2.0 license

                                    • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                                    • Package Manager: golang @@ -1986,7 +1723,7 @@

                                      MPL-2.0 license

                                      • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                                      • Package Manager: golang @@ -1999,7 +1736,7 @@

                                        MPL-2.0 license

                                      • Introduced through: - github.com/argoproj/argo-cd/v2@* and github.com/gosimple/slug@v1.13.1 + github.com/argoproj/argo-cd/v2@* and github.com/gosimple/slug@v1.14.0
                                      @@ -2014,7 +1751,7 @@

                                      Detailed paths

                                      Introduced through: github.com/argoproj/argo-cd/v2@* › - github.com/gosimple/slug@v1.13.1 + github.com/gosimple/slug@v1.14.0 @@ -2035,7 +1772,7 @@

                                      Detailed paths

                            -

                            Arbitrary Argument Injection

                            +

                            Generation of Error Message Containing Sensitive Information

                            @@ -2046,7 +1783,7 @@

                            Arbitrary Argument Injection

                            • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                            • Package Manager: golang @@ -2054,12 +1791,12 @@

                              Arbitrary Argument Injection

                            • Vulnerable module: - github.com/go-git/go-git/v5/plumbing/transport + github.com/argoproj/gitops-engine/pkg/utils/kube
                            • Introduced through: - github.com/argoproj/argo-cd/v2@* and github.com/go-git/go-git/v5/plumbing/transport@v5.12.0 + github.com/argoproj/argo-cd/v2@* and github.com/argoproj/gitops-engine/pkg/utils/kube@v0.7.1-0.20250129155113-4c6e03c46314
                            @@ -2074,7 +1811,7 @@

                            Detailed paths

                            Introduced through: github.com/argoproj/argo-cd/v2@* › - github.com/go-git/go-git/v5/plumbing/transport@v5.12.0 + github.com/argoproj/gitops-engine/pkg/utils/kube@v0.7.1-0.20250129155113-4c6e03c46314 @@ -2086,118 +1823,25 @@

                            Detailed paths


                            Overview

                            -

                            Affected versions of this package are vulnerable to Arbitrary Argument Injection via a malicious URL value, which allows an attacker to set flags on the git-upload-pack command, if the file: protocol is in use.

                            +

                            Affected versions of this package are vulnerable to Generation of Error Message Containing Sensitive Information when syncing invalid Kubernetes Secret resources. An attacker with write access to the repository can expose secret values by committing an invalid Secret to repository and triggering a Sync, which then become visible to any user with read access to Argo CD.

                            Remediation

                            -

                            Upgrade github.com/go-git/go-git/v5/plumbing/transport to version 5.13.0 or higher.

                            -

                            References

                            - - -
                            - - - -
                            -
                            -

                            Improper Encoding or Escaping of Output

                            -
                            - -
                            - medium severity -
                            - -
                            - -
                              -
                            • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argocd › Dockerfile -
                            • -
                            • - Package Manager: ubuntu:24.04 -
                            • -
                            • - Vulnerable module: - - git/git-man -
                            • - -
                            • Introduced through: - - - docker-image|quay.io/argoproj/argocd@v2.12.9, git@1:2.43.0-1ubuntu7.1 and others -
                            • -
                            - -
                            - - -

                            Detailed paths

                            - -
                              -
                            • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 - › - git@1:2.43.0-1ubuntu7.1 - › - git/git-man@1:2.43.0-1ubuntu7.1 - - - -
                            • -
                            • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 - › - git@1:2.43.0-1ubuntu7.1 - - - -
                            • -
                            • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 - › - git-lfs@3.4.1-1ubuntu0.2 - › - git@1:2.43.0-1ubuntu7.1 - - - -
                            • -
                            - -
                            - -
                            - -

                            NVD Description

                            -

                            Note: Versions mentioned in the description apply only to the upstream git package and not the git package as distributed by Ubuntu. - See How to fix? for Ubuntu:24.04 relevant fixed versions and status.

                            -

                            Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. Git defines a line-based protocol that is used to exchange information between Git and Git credential helpers. Some ecosystems (most notably, .NET and node.js) interpret single Carriage Return characters as newlines, which renders the protections against CVE-2020-5260 incomplete for credential helpers that treat Carriage Returns in this way. This issue has been addressed in commit b01b9b8 which is included in release versions v2.48.1, v2.47.1, v2.46.3, v2.45.3, v2.44.3, v2.43.6, v2.42.4, v2.41.3, and v2.40.4. Users are advised to upgrade. Users unable to upgrade should avoid cloning from untrusted URLs, especially recursive clones.

                            -

                            Remediation

                            -

                            Upgrade Ubuntu:24.04 git to version 1:2.43.0-1ubuntu7.2 or higher.

                            +

                            A fix was pushed into the master branch but not yet published.

                            References


                            -

                            Improper Encoding or Escaping of Output

                            +

                            Generation of Error Message Containing Sensitive Information

                            @@ -2208,21 +1852,21 @@

                            Improper Encoding or Escaping of Output

                            • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                            • - Package Manager: ubuntu:24.04 + Package Manager: golang
                            • Vulnerable module: - git/git-man + github.com/argoproj/gitops-engine/pkg/diff
                            • Introduced through: + github.com/argoproj/argo-cd/v2@* and github.com/argoproj/gitops-engine/pkg/diff@v0.7.1-0.20250129155113-4c6e03c46314 - docker-image|quay.io/argoproj/argocd@v2.12.9, git@1:2.43.0-1ubuntu7.1 and others
                            @@ -2234,31 +1878,9 @@

                            Detailed paths

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 - › - git@1:2.43.0-1ubuntu7.1 - › - git/git-man@1:2.43.0-1ubuntu7.1 - - - -
                            • -
                            • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 - › - git@1:2.43.0-1ubuntu7.1 - - - -
                            • -
                            • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 - › - git-lfs@3.4.1-1ubuntu0.2 + github.com/argoproj/argo-cd/v2@* › - git@1:2.43.0-1ubuntu7.1 + github.com/argoproj/gitops-engine/pkg/diff@v0.7.1-0.20250129155113-4c6e03c46314 @@ -2269,24 +1891,21 @@

                              Detailed paths


                              -

                              NVD Description

                              -

                              Note: Versions mentioned in the description apply only to the upstream git package and not the git package as distributed by Ubuntu. - See How to fix? for Ubuntu:24.04 relevant fixed versions and status.

                              -

                              Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. When Git asks for credentials via a terminal prompt (i.e. without using any credential helper), it prints out the host name for which the user is expected to provide a username and/or a password. At this stage, any URL-encoded parts have been decoded already, and are printed verbatim. This allows attackers to craft URLs that contain ANSI escape sequences that the terminal interpret to confuse users e.g. into providing passwords for trusted Git hosting sites when in fact they are then sent to untrusted sites that are under the attacker's control. This issue has been patch via commits 7725b81 and c903985 which are included in release versions v2.48.1, v2.47.1, v2.46.3, v2.45.3, v2.44.3, v2.43.6, v2.42.4, v2.41.3, and v2.40.4. Users are advised to upgrade. Users unable to upgrade should avoid cloning from untrusted URLs, especially recursive clones.

                              +

                              Overview

                              +

                              Affected versions of this package are vulnerable to Generation of Error Message Containing Sensitive Information when syncing invalid Kubernetes Secret resources. An attacker with write access to the repository can expose secret values by committing an invalid Secret to repository and triggering a Sync, which then become visible to any user with read access to Argo CD.

                              Remediation

                              -

                              Upgrade Ubuntu:24.04 git to version 1:2.43.0-1ubuntu7.2 or higher.

                              +

                              A fix was pushed into the master branch but not yet published.

                              References


                            @@ -2302,7 +1921,7 @@

                            Release of Invalid Pointer or Reference

                            • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argocd › Dockerfile
                            • Package Manager: ubuntu:24.04 @@ -2315,7 +1934,7 @@

                              Release of Invalid Pointer or Reference

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 and patch@2.7.6-7build3 + docker-image|quay.io/argoproj/argocd@v2.13.4 and patch@2.7.6-7build3
                            @@ -2328,7 +1947,7 @@

                            Detailed paths

                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › patch@2.7.6-7build3 @@ -2372,7 +1991,7 @@

                              Double Free

                              • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argocd › Dockerfile
                              • Package Manager: ubuntu:24.04 @@ -2385,7 +2004,7 @@

                                Double Free

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 and patch@2.7.6-7build3 + docker-image|quay.io/argoproj/argocd@v2.13.4 and patch@2.7.6-7build3
                              @@ -2398,7 +2017,7 @@

                              Detailed paths

                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › patch@2.7.6-7build3 @@ -2447,7 +2066,7 @@

                                CVE-2024-41996

                                • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argocd › Dockerfile
                                • Package Manager: ubuntu:24.04 @@ -2460,7 +2079,7 @@

                                  CVE-2024-41996

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 and openssl/libssl3t64@3.0.13-0ubuntu3.4 + docker-image|quay.io/argoproj/argocd@v2.13.4 and openssl/libssl3t64@3.0.13-0ubuntu3.4
                                @@ -2473,7 +2092,7 @@

                                Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › openssl/libssl3t64@3.0.13-0ubuntu3.4 @@ -2482,7 +2101,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › coreutils@9.4-3ubuntu6 › @@ -2493,7 +2112,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › cyrus-sasl2/libsasl2-modules@2.1.28+dfsg1-5ubuntu3.1 › @@ -2504,7 +2123,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › libfido2/libfido2-1@1.14.0-1build3 › @@ -2515,7 +2134,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › openssh/openssh-client@1:9.6p1-3ubuntu13.5 › @@ -2526,7 +2145,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › ca-certificates@20240203 › @@ -2539,9 +2158,9 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2554,9 +2173,9 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2571,9 +2190,9 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2588,7 +2207,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › openssl@3.0.13-0ubuntu3.4 @@ -2597,7 +2216,7 @@

                                  Detailed paths

                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › ca-certificates@20240203 › @@ -2645,7 +2264,7 @@

                                  Information Exposure

                                  • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argocd › Dockerfile
                                  • Package Manager: ubuntu:24.04 @@ -2658,7 +2277,7 @@

                                    Information Exposure

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 and libgcrypt20@1.10.3-2build1 + docker-image|quay.io/argoproj/argocd@v2.13.4 and libgcrypt20@1.10.3-2build1
                                  @@ -2671,7 +2290,7 @@

                                  Detailed paths

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › libgcrypt20@1.10.3-2build1 @@ -2680,7 +2299,7 @@

                                    Detailed paths

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › gnupg2/dirmngr@2.4.4-2ubuntu17 › @@ -2691,7 +2310,7 @@

                                    Detailed paths

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › gnupg2/gpg@2.4.4-2ubuntu17 › @@ -2702,7 +2321,7 @@

                                    Detailed paths

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › gnupg2/gpg-agent@2.4.4-2ubuntu17 › @@ -2713,7 +2332,7 @@

                                    Detailed paths

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › apt@2.7.14build2 › @@ -2726,7 +2345,7 @@

                                    Detailed paths

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › apt@2.7.14build2 › @@ -2739,7 +2358,7 @@

                                    Detailed paths

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › gnupg2/gpg@2.4.4-2ubuntu17 › @@ -2752,7 +2371,7 @@

                                    Detailed paths

                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › apt@2.7.14build2 › @@ -2762,7 +2381,7 @@

                                    Detailed paths

                                    › pam/libpam-modules@1.5.3-5ubuntu5.1 › - systemd/libsystemd0@255.4-1ubuntu8.4 + systemd/libsystemd0@255.4-1ubuntu8.5 › libgcrypt20@1.10.3-2build1 @@ -2809,7 +2428,7 @@

                                    CVE-2024-26458

                                    • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argocd › Dockerfile
                                    • Package Manager: ubuntu:24.04 @@ -2823,7 +2442,7 @@

                                      CVE-2024-26458

                                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9, git@1:2.43.0-1ubuntu7.1 and others + docker-image|quay.io/argoproj/argocd@v2.13.4, git@1:2.43.0-1ubuntu7.2 and others
                                    @@ -2835,9 +2454,9 @@

                                    Detailed paths

                                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2850,9 +2469,9 @@

                                      Detailed paths

                                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2867,9 +2486,9 @@

                                      Detailed paths

                                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2882,9 +2501,9 @@

                                      Detailed paths

                                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2899,9 +2518,9 @@

                                      Detailed paths

                                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2918,9 +2537,9 @@

                                      Detailed paths

                                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2933,7 +2552,7 @@

                                      Detailed paths

                                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › openssh/openssh-client@1:9.6p1-3ubuntu13.5 › @@ -2944,9 +2563,9 @@

                                      Detailed paths

                                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2957,9 +2576,9 @@

                                      Detailed paths

                                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2972,7 +2591,7 @@

                                      Detailed paths

                                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › krb5/krb5-locales@1.20.1-6ubuntu2.2 @@ -3017,7 +2636,7 @@

                                      CVE-2024-26461

                                      • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argocd › Dockerfile
                                      • Package Manager: ubuntu:24.04 @@ -3031,7 +2650,7 @@

                                        CVE-2024-26461

                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9, git@1:2.43.0-1ubuntu7.1 and others + docker-image|quay.io/argoproj/argocd@v2.13.4, git@1:2.43.0-1ubuntu7.2 and others
                                      @@ -3043,9 +2662,9 @@

                                      Detailed paths

                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -3058,9 +2677,9 @@

                                        Detailed paths

                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -3075,9 +2694,9 @@

                                        Detailed paths

                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -3090,9 +2709,9 @@

                                        Detailed paths

                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -3107,9 +2726,9 @@

                                        Detailed paths

                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -3126,9 +2745,9 @@

                                        Detailed paths

                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -3141,7 +2760,7 @@

                                        Detailed paths

                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › openssh/openssh-client@1:9.6p1-3ubuntu13.5 › @@ -3152,9 +2771,9 @@

                                        Detailed paths

                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -3165,9 +2784,9 @@

                                        Detailed paths

                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -3180,7 +2799,7 @@

                                        Detailed paths

                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › krb5/krb5-locales@1.20.1-6ubuntu2.2 @@ -3225,7 +2844,7 @@

                                        Out-of-bounds Write

                                        • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argocd › Dockerfile
                                        • Package Manager: ubuntu:24.04 @@ -3238,7 +2857,7 @@

                                          Out-of-bounds Write

                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 and gnupg2/gpgv@2.4.4-2ubuntu17 + docker-image|quay.io/argoproj/argocd@v2.13.4 and gnupg2/gpgv@2.4.4-2ubuntu17
                                        @@ -3251,7 +2870,7 @@

                                        Detailed paths

                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › gnupg2/gpgv@2.4.4-2ubuntu17 @@ -3260,7 +2879,7 @@

                                          Detailed paths

                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › apt@2.7.14build2 › @@ -3271,7 +2890,7 @@

                                          Detailed paths

                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › gnupg2/dirmngr@2.4.4-2ubuntu17 › @@ -3282,7 +2901,7 @@

                                          Detailed paths

                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › gnupg2/gpg-agent@2.4.4-2ubuntu17 › @@ -3293,7 +2912,7 @@

                                          Detailed paths

                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › gnupg2/gpg@2.4.4-2ubuntu17 › @@ -3304,7 +2923,7 @@

                                          Detailed paths

                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › gnupg2/dirmngr@2.4.4-2ubuntu17 @@ -3313,7 +2932,7 @@

                                          Detailed paths

                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › gnupg2/gpg@2.4.4-2ubuntu17 @@ -3322,7 +2941,7 @@

                                          Detailed paths

                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › gnupg2/gpg-agent@2.4.4-2ubuntu17 @@ -3371,7 +2990,7 @@

                                          Allocation of Resources Without Limits or Throttling

                                        • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argocd › Dockerfile
                                        • Package Manager: ubuntu:24.04 @@ -3384,7 +3003,7 @@

                                          Allocation of Resources Without Limits or Throttling

                                          Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 and glibc/libc-bin@2.39-0ubuntu8.3 + docker-image|quay.io/argoproj/argocd@v2.13.4 and glibc/libc-bin@2.39-0ubuntu8.3
                                        @@ -3397,7 +3016,7 @@

                                        Detailed paths

                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › glibc/libc-bin@2.39-0ubuntu8.3 @@ -3406,7 +3025,7 @@

                                          Detailed paths

                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › glibc/libc6@2.39-0ubuntu8.3 @@ -3452,7 +3071,7 @@

                                          Insufficient Documentation of Error Handling Techniques<
                                          • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                                          • Package Manager: golang @@ -3521,7 +3140,7 @@

                                            Insufficient Documentation of Error Handling Techniques<
                                            • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                                            • Package Manager: golang @@ -3590,7 +3209,7 @@

                                              Improper Input Validation

                                              • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argocd › Dockerfile
                                              • Package Manager: ubuntu:24.04 @@ -3604,7 +3223,7 @@

                                                Improper Input Validation

                                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9, git@1:2.43.0-1ubuntu7.1 and others + docker-image|quay.io/argoproj/argocd@v2.13.4, git@1:2.43.0-1ubuntu7.2 and others
                                              @@ -3616,31 +3235,31 @@

                                              Detailed paths

                                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › - git/git-man@1:2.43.0-1ubuntu7.1 + git/git-man@1:2.43.0-1ubuntu7.2
                                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2
                                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › git-lfs@3.4.1-1ubuntu0.2 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 @@ -3683,7 +3302,7 @@

                                                Improper Input Validation

                                                • - Manifest file: quay.io/argoproj/argocd:v2.12.9/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.13.4/argoproj/argocd › Dockerfile
                                                • Package Manager: ubuntu:24.04 @@ -3696,7 +3315,7 @@

                                                  Improper Input Validation

                                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 and coreutils@9.4-3ubuntu6 + docker-image|quay.io/argoproj/argocd@v2.13.4 and coreutils@9.4-3ubuntu6
                                                @@ -3709,7 +3328,7 @@

                                                Detailed paths

                                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.12.9 + docker-image|quay.io/argoproj/argocd@v2.13.4 › coreutils@9.4-3ubuntu6 diff --git a/docs/snyk/v2.12.9/redis_7.0.15-alpine.html b/docs/snyk/v2.13.4/redis_7.0.15-alpine.html similarity index 99% rename from docs/snyk/v2.12.9/redis_7.0.15-alpine.html rename to docs/snyk/v2.13.4/redis_7.0.15-alpine.html index e963a87cee62d..fc33911fa5724 100644 --- a/docs/snyk/v2.12.9/redis_7.0.15-alpine.html +++ b/docs/snyk/v2.13.4/redis_7.0.15-alpine.html @@ -456,7 +456,7 @@

                                                  Snyk test report

                                                  -

                                                  January 19th 2025, 12:27:53 am (UTC+00:00)

                                                  +

                                                  February 2nd 2025, 12:24:54 am (UTC+00:00)

                                                  Scanned the following paths: diff --git a/docs/snyk/v2.14.0-rc5/argocd-iac-install.html b/docs/snyk/v2.14.0-rc7/argocd-iac-install.html similarity index 99% rename from docs/snyk/v2.14.0-rc5/argocd-iac-install.html rename to docs/snyk/v2.14.0-rc7/argocd-iac-install.html index a52f44b0880fd..a3b06bbf15778 100644 --- a/docs/snyk/v2.14.0-rc5/argocd-iac-install.html +++ b/docs/snyk/v2.14.0-rc7/argocd-iac-install.html @@ -456,7 +456,7 @@

                                                  Snyk test report

                                                  -

                                                  January 19th 2025, 12:24:12 am (UTC+00:00)

                                                  +

                                                  February 2nd 2025, 12:23:50 am (UTC+00:00)

                                                  Scanned the following path: diff --git a/docs/snyk/v2.14.0-rc5/argocd-iac-namespace-install.html b/docs/snyk/v2.14.0-rc7/argocd-iac-namespace-install.html similarity index 99% rename from docs/snyk/v2.14.0-rc5/argocd-iac-namespace-install.html rename to docs/snyk/v2.14.0-rc7/argocd-iac-namespace-install.html index 6745dde8e3783..71b191a4ecad8 100644 --- a/docs/snyk/v2.14.0-rc5/argocd-iac-namespace-install.html +++ b/docs/snyk/v2.14.0-rc7/argocd-iac-namespace-install.html @@ -456,7 +456,7 @@

                                                  Snyk test report

                                                  -

                                                  January 19th 2025, 12:24:23 am (UTC+00:00)

                                                  +

                                                  February 2nd 2025, 12:24:01 am (UTC+00:00)

                                                  Scanned the following path: diff --git a/docs/snyk/v2.14.0-rc5/argocd-test.html b/docs/snyk/v2.14.0-rc7/argocd-test.html similarity index 85% rename from docs/snyk/v2.14.0-rc5/argocd-test.html rename to docs/snyk/v2.14.0-rc7/argocd-test.html index 49e6d8d666dee..73f28613d61aa 100644 --- a/docs/snyk/v2.14.0-rc5/argocd-test.html +++ b/docs/snyk/v2.14.0-rc7/argocd-test.html @@ -7,7 +7,7 @@ Snyk test report - + @@ -456,7 +456,7 @@

                                                  Snyk test report

                                                  -

                                                  January 19th 2025, 12:21:56 am (UTC+00:00)

                                                  +

                                                  February 2nd 2025, 12:21:34 am (UTC+00:00)

                                                  Scanned the following paths: @@ -468,8 +468,8 @@

                                                  Snyk test report

                                                  -
                                                  10 known vulnerabilities
                                                  -
                                                  126 vulnerable dependency paths
                                                  +
                                                  9 known vulnerabilities
                                                  +
                                                  113 vulnerable dependency paths
                                                  2159 dependencies
                                                  @@ -478,397 +478,6 @@

                                                  Snyk test report

                                                  -
                                                  -

                                                  Denial of Service (DoS)

                                                  -
                                                  - -
                                                  - high severity -
                                                  - -
                                                  - -
                                                    -
                                                  • - Manifest file: /argo-cd/argoproj/argo-cd/v2 › go.mod -
                                                  • -
                                                  • - Package Manager: golang -
                                                  • -
                                                  • - Vulnerable module: - - golang.org/x/net/html -
                                                  • - -
                                                  • Introduced through: - - - github.com/argoproj/argo-cd/v2@0.0.0, k8s.io/client-go/tools/portforward@0.31.0 and others -
                                                  • -
                                                  - -
                                                  - - -

                                                  Detailed paths

                                                  - -
                                                    -
                                                  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/tools/portforward@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.2 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.2 - › - golang.org/x/net/html@0.32.0 - - - -
                                                  • -
                                                  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.2 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.2 - › - golang.org/x/net/html@0.32.0 - - - -
                                                  • -
                                                  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.2 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.2 - › - golang.org/x/net/html@0.32.0 - - - -
                                                  • -
                                                  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.2 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.2 - › - golang.org/x/net/html@0.32.0 - - - -
                                                  • -
                                                  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/diff@#54992bf42431 - › - k8s.io/kubectl/pkg/cmd/util@0.31.0 - › - k8s.io/kubectl/pkg/util/templates@0.31.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.2 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.2 - › - golang.org/x/net/html@0.32.0 - - - -
                                                  • -
                                                  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync@#54992bf42431 - › - k8s.io/kubectl/pkg/cmd/util@0.31.0 - › - k8s.io/kubectl/pkg/util/templates@0.31.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.2 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.2 - › - golang.org/x/net/html@0.32.0 - - - -
                                                  • -
                                                  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#54992bf42431 - › - k8s.io/kubectl/pkg/cmd/util@0.31.0 - › - k8s.io/kubectl/pkg/util/templates@0.31.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.2 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.2 - › - golang.org/x/net/html@0.32.0 - - - -
                                                  • -
                                                  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/cache@#54992bf42431 - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#54992bf42431 - › - k8s.io/kubectl/pkg/cmd/util@0.31.0 - › - k8s.io/kubectl/pkg/util/templates@0.31.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.2 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.2 - › - golang.org/x/net/html@0.32.0 - - - -
                                                  • -
                                                  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/health@#54992bf42431 - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#54992bf42431 - › - k8s.io/kubectl/pkg/cmd/util@0.31.0 - › - k8s.io/kubectl/pkg/util/templates@0.31.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.2 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.2 - › - golang.org/x/net/html@0.32.0 - - - -
                                                  • -
                                                  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/common@#54992bf42431 - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#54992bf42431 - › - k8s.io/kubectl/pkg/cmd/util@0.31.0 - › - k8s.io/kubectl/pkg/util/templates@0.31.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.2 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.2 - › - golang.org/x/net/html@0.32.0 - - - -
                                                  • -
                                                  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/hook@#54992bf42431 - › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#54992bf42431 - › - github.com/argoproj/gitops-engine/pkg/sync/common@#54992bf42431 - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#54992bf42431 - › - k8s.io/kubectl/pkg/cmd/util@0.31.0 - › - k8s.io/kubectl/pkg/util/templates@0.31.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.2 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.2 - › - golang.org/x/net/html@0.32.0 - - - -
                                                  • -
                                                  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/syncwaves@#54992bf42431 - › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#54992bf42431 - › - github.com/argoproj/gitops-engine/pkg/sync/common@#54992bf42431 - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#54992bf42431 - › - k8s.io/kubectl/pkg/cmd/util@0.31.0 - › - k8s.io/kubectl/pkg/util/templates@0.31.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.2 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.2 - › - golang.org/x/net/html@0.32.0 - - - -
                                                  • -
                                                  • - Introduced through: - github.com/argoproj/argo-cd/v2@0.0.0 - › - github.com/argoproj/gitops-engine/pkg/sync/ignore@#54992bf42431 - › - github.com/argoproj/gitops-engine/pkg/sync/hook@#54992bf42431 - › - github.com/argoproj/gitops-engine/pkg/sync/hook/helm@#54992bf42431 - › - github.com/argoproj/gitops-engine/pkg/sync/common@#54992bf42431 - › - github.com/argoproj/gitops-engine/pkg/utils/kube@#54992bf42431 - › - k8s.io/kubectl/pkg/cmd/util@0.31.0 - › - k8s.io/kubectl/pkg/util/templates@0.31.0 - › - k8s.io/kubectl/pkg/util/term@0.31.0 - › - k8s.io/client-go/tools/remotecommand@0.31.0 - › - k8s.io/client-go/transport/spdy@0.31.0 - › - k8s.io/apimachinery/pkg/util/httpstream/spdy@0.31.2 - › - k8s.io/apimachinery/pkg/util/proxy@0.31.2 - › - golang.org/x/net/html@0.32.0 - - - -
                                                  • -
                                                  - -
                                                  - -
                                                  - -

                                                  Overview

                                                  -

                                                  golang.org/x/net/html is a package that implements an HTML5-compliant tokenizer and parser.

                                                  -

                                                  Affected versions of this package are vulnerable to Denial of Service (DoS) through the functions parseDoctype, htmlIntegrationPoint, inBodyIM and inTableIM due to inefficient usage of the method strings.ToLower combining with the == operator to convert strings to lowercase and then comparing them.

                                                  -

                                                  An attacker can cause the application to slow down significantly by crafting inputs that are processed non-linearly.

                                                  -

                                                  Details

                                                  -

                                                  Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.

                                                  -

                                                  Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.

                                                  -

                                                  One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.

                                                  -

                                                  When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.

                                                  -

                                                  Two common types of DoS vulnerabilities:

                                                  -
                                                    -
                                                  • High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.

                                                    -
                                                  • -
                                                  • Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm ws package

                                                    -
                                                  • -
                                                  -

                                                  Remediation

                                                  -

                                                  Upgrade golang.org/x/net/html to version 0.33.0 or higher.

                                                  -

                                                  References

                                                  - - -
                                                  - - - -

                                                  Allocation of Resources Without Limits or Throttling

                                                  diff --git a/docs/snyk/v2.14.0-rc5/ghcr.io_dexidp_dex_v2.41.1.html b/docs/snyk/v2.14.0-rc7/ghcr.io_dexidp_dex_v2.41.1.html similarity index 99% rename from docs/snyk/v2.14.0-rc5/ghcr.io_dexidp_dex_v2.41.1.html rename to docs/snyk/v2.14.0-rc7/ghcr.io_dexidp_dex_v2.41.1.html index 347b01632e9e4..1faba4457f7a9 100644 --- a/docs/snyk/v2.14.0-rc5/ghcr.io_dexidp_dex_v2.41.1.html +++ b/docs/snyk/v2.14.0-rc7/ghcr.io_dexidp_dex_v2.41.1.html @@ -456,7 +456,7 @@

                                                  Snyk test report

                                                  -

                                                  January 19th 2025, 12:22:04 am (UTC+00:00)

                                                  +

                                                  February 2nd 2025, 12:21:41 am (UTC+00:00)

                                                  Scanned the following paths: diff --git a/docs/snyk/v2.13.3/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html b/docs/snyk/v2.14.0-rc7/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html similarity index 99% rename from docs/snyk/v2.13.3/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html rename to docs/snyk/v2.14.0-rc7/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html index 2b8d745b687f5..599039961a9f2 100644 --- a/docs/snyk/v2.13.3/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html +++ b/docs/snyk/v2.14.0-rc7/public.ecr.aws_docker_library_haproxy_2.6.17-alpine.html @@ -456,7 +456,7 @@

                                                  Snyk test report

                                                  -

                                                  January 19th 2025, 12:24:48 am (UTC+00:00)

                                                  +

                                                  February 2nd 2025, 12:21:46 am (UTC+00:00)

                                                  Scanned the following path: diff --git a/docs/snyk/v2.13.3/public.ecr.aws_docker_library_redis_7.0.15-alpine.html b/docs/snyk/v2.14.0-rc7/public.ecr.aws_docker_library_redis_7.0.15-alpine.html similarity index 99% rename from docs/snyk/v2.13.3/public.ecr.aws_docker_library_redis_7.0.15-alpine.html rename to docs/snyk/v2.14.0-rc7/public.ecr.aws_docker_library_redis_7.0.15-alpine.html index e2d13eada768f..4fde3efaef96a 100644 --- a/docs/snyk/v2.13.3/public.ecr.aws_docker_library_redis_7.0.15-alpine.html +++ b/docs/snyk/v2.14.0-rc7/public.ecr.aws_docker_library_redis_7.0.15-alpine.html @@ -456,7 +456,7 @@

                                                  Snyk test report

                                                  -

                                                  January 19th 2025, 12:24:52 am (UTC+00:00)

                                                  +

                                                  February 2nd 2025, 12:21:50 am (UTC+00:00)

                                                  Scanned the following paths: diff --git a/docs/snyk/v2.14.0-rc5/quay.io_argoproj_argocd_v2.14.0-rc5.html b/docs/snyk/v2.14.0-rc7/quay.io_argoproj_argocd_v2.14.0-rc7.html similarity index 91% rename from docs/snyk/v2.14.0-rc5/quay.io_argoproj_argocd_v2.14.0-rc5.html rename to docs/snyk/v2.14.0-rc7/quay.io_argoproj_argocd_v2.14.0-rc7.html index 4b51b8b5af6b9..fb8457e54add8 100644 --- a/docs/snyk/v2.14.0-rc5/quay.io_argoproj_argocd_v2.14.0-rc5.html +++ b/docs/snyk/v2.14.0-rc7/quay.io_argoproj_argocd_v2.14.0-rc7.html @@ -7,7 +7,7 @@ Snyk test report - + @@ -456,22 +456,22 @@

                                                  Snyk test report

                                                  -

                                                  January 19th 2025, 12:22:38 am (UTC+00:00)

                                                  +

                                                  February 2nd 2025, 12:22:11 am (UTC+00:00)

                                                  Scanned the following paths:
                                                    -
                                                  • quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argocd/Dockerfile (deb)
                                                  • -
                                                  • quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argo-cd/v2//usr/local/bin/argocd (gomodules)
                                                  • -
                                                  • quay.io/argoproj/argocd:v2.14.0-rc5//usr/local/bin/kustomize (gomodules)
                                                  • -
                                                  • quay.io/argoproj/argocd:v2.14.0-rc5/helm/v3//usr/local/bin/helm (gomodules)
                                                  • -
                                                  • quay.io/argoproj/argocd:v2.14.0-rc5/git-lfs/git-lfs//usr/bin/git-lfs (gomodules)
                                                  • +
                                                  • quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argocd/Dockerfile (deb)
                                                  • +
                                                  • quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argo-cd/v2//usr/local/bin/argocd (gomodules)
                                                  • +
                                                  • quay.io/argoproj/argocd:v2.14.0-rc7//usr/local/bin/kustomize (gomodules)
                                                  • +
                                                  • quay.io/argoproj/argocd:v2.14.0-rc7/helm/v3//usr/local/bin/helm (gomodules)
                                                  • +
                                                  • quay.io/argoproj/argocd:v2.14.0-rc7/git-lfs/git-lfs//usr/bin/git-lfs (gomodules)
                                                  26 known vulnerabilities
                                                  -
                                                  114 vulnerable dependency paths
                                                  +
                                                  109 vulnerable dependency paths
                                                  2381 dependencies
                                                  @@ -492,7 +492,7 @@

                                                  Denial of Service (DoS)

                                                  • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/helm/v3 › /usr/local/bin/helm
                                                  • Package Manager: golang @@ -505,7 +505,7 @@

                                                    Denial of Service (DoS)

                                                  • Introduced through: - github.com/argoproj/argo-cd/v2@* and golang.org/x/net/html@v0.32.0 + helm.sh/helm/v3@* and golang.org/x/net/html@v0.26.0
                                                  @@ -516,15 +516,6 @@

                                                  Denial of Service (DoS)

                                                  Detailed paths

                                                    -
                                                  • - Introduced through: - github.com/argoproj/argo-cd/v2@* - › - golang.org/x/net/html@v0.32.0 - - - -
                                                  • Introduced through: helm.sh/helm/v3@* @@ -584,7 +575,7 @@

                                                    Allocation of Resources Without Limits or Throttling

                                                  • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                                                  • Package Manager: golang @@ -654,7 +645,7 @@

                                                    CVE-2024-56433

                                                    • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argocd › Dockerfile
                                                    • Package Manager: ubuntu:24.04 @@ -667,7 +658,7 @@

                                                      CVE-2024-56433

                                                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 and shadow/passwd@1:4.13+dfsg1-4ubuntu3.2 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 and shadow/passwd@1:4.13+dfsg1-4ubuntu3.2
                                                    @@ -680,7 +671,7 @@

                                                    Detailed paths

                                                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › shadow/passwd@1:4.13+dfsg1-4ubuntu3.2 @@ -689,7 +680,7 @@

                                                      Detailed paths

                                                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › openssh/openssh-client@1:9.6p1-3ubuntu13.5 › @@ -700,7 +691,7 @@

                                                      Detailed paths

                                                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › apt@2.7.14build2 › @@ -713,7 +704,7 @@

                                                      Detailed paths

                                                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 @@ -759,7 +750,7 @@

                                                      Insecure Storage of Sensitive Information

                                                      • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argocd › Dockerfile
                                                      • Package Manager: ubuntu:24.04 @@ -772,7 +763,7 @@

                                                        Insecure Storage of Sensitive Information

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 and pam/libpam0g@1.5.3-5ubuntu5.1 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 and pam/libpam0g@1.5.3-5ubuntu5.1
                                                      @@ -785,7 +776,7 @@

                                                      Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › pam/libpam0g@1.5.3-5ubuntu5.1 @@ -794,7 +785,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 › @@ -805,9 +796,9 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - util-linux@2.39.3-9ubuntu6.1 + util-linux@2.39.3-9ubuntu6.2 › pam/libpam0g@1.5.3-5ubuntu5.1 @@ -816,7 +807,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › apt@2.7.14build2 › @@ -831,7 +822,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › apt@2.7.14build2 › @@ -848,7 +839,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › apt@2.7.14build2 › @@ -867,7 +858,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › pam/libpam-modules-bin@1.5.3-5ubuntu5.1 @@ -876,7 +867,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › apt@2.7.14build2 › @@ -893,7 +884,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › pam/libpam-modules@1.5.3-5ubuntu5.1 @@ -902,7 +893,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › pam/libpam-runtime@1.5.3-5ubuntu5.1 › @@ -913,7 +904,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 › @@ -924,7 +915,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › apt@2.7.14build2 › @@ -939,7 +930,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › pam/libpam-runtime@1.5.3-5ubuntu5.1 @@ -948,7 +939,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 › @@ -998,7 +989,7 @@

                                                        Improper Authentication

                                                        • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argocd › Dockerfile
                                                        • Package Manager: ubuntu:24.04 @@ -1011,7 +1002,7 @@

                                                          Improper Authentication

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 and pam/libpam0g@1.5.3-5ubuntu5.1 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 and pam/libpam0g@1.5.3-5ubuntu5.1
                                                        @@ -1024,7 +1015,7 @@

                                                        Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › pam/libpam0g@1.5.3-5ubuntu5.1 @@ -1033,7 +1024,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 › @@ -1044,9 +1035,9 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - util-linux@2.39.3-9ubuntu6.1 + util-linux@2.39.3-9ubuntu6.2 › pam/libpam0g@1.5.3-5ubuntu5.1 @@ -1055,7 +1046,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › apt@2.7.14build2 › @@ -1070,7 +1061,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › apt@2.7.14build2 › @@ -1087,7 +1078,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › apt@2.7.14build2 › @@ -1106,7 +1097,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › pam/libpam-modules-bin@1.5.3-5ubuntu5.1 @@ -1115,7 +1106,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › apt@2.7.14build2 › @@ -1132,7 +1123,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › pam/libpam-modules@1.5.3-5ubuntu5.1 @@ -1141,7 +1132,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › pam/libpam-runtime@1.5.3-5ubuntu5.1 › @@ -1152,7 +1143,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 › @@ -1163,7 +1154,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › apt@2.7.14build2 › @@ -1178,7 +1169,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › pam/libpam-runtime@1.5.3-5ubuntu5.1 @@ -1187,7 +1178,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › shadow/login@1:4.13+dfsg1-4ubuntu3.2 › @@ -1234,7 +1225,7 @@

                                                          CVE-2024-26462

                                                          • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argocd › Dockerfile
                                                          • Package Manager: ubuntu:24.04 @@ -1248,7 +1239,7 @@

                                                            CVE-2024-26462

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5, git@1:2.43.0-1ubuntu7.1 and others + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7, git@1:2.43.0-1ubuntu7.2 and others
                                                          @@ -1260,9 +1251,9 @@

                                                          Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1275,9 +1266,9 @@

                                                            Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1292,9 +1283,9 @@

                                                            Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1307,9 +1298,9 @@

                                                            Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1324,9 +1315,9 @@

                                                            Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1343,9 +1334,9 @@

                                                            Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1358,7 +1349,7 @@

                                                            Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › openssh/openssh-client@1:9.6p1-3ubuntu13.5 › @@ -1369,9 +1360,9 @@

                                                            Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1382,9 +1373,9 @@

                                                            Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -1397,7 +1388,7 @@

                                                            Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › krb5/krb5-locales@1.20.1-6ubuntu2.2 @@ -1442,7 +1433,7 @@

                                                            LGPL-3.0 license

                                                            • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                                                            • Package Manager: golang @@ -1502,7 +1493,7 @@

                                                              MPL-2.0 license

                                                              • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                                                              • Package Manager: golang @@ -1562,7 +1553,7 @@

                                                                MPL-2.0 license

                                                                • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                                                                • Package Manager: golang @@ -1622,7 +1613,7 @@

                                                                  MPL-2.0 license

                                                                  • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                                                                  • Package Manager: golang @@ -1682,7 +1673,7 @@

                                                                    MPL-2.0 license

                                                                    • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/helm/v3 › /usr/local/bin/helm + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/helm/v3 › /usr/local/bin/helm
                                                                    • Package Manager: golang @@ -1742,7 +1733,7 @@

                                                                      MPL-2.0 license

                                                                      • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                                                                      • Package Manager: golang @@ -1802,7 +1793,7 @@

                                                                        MPL-2.0 license

                                                                        • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                                                                        • Package Manager: golang @@ -1862,7 +1853,7 @@

                                                                          Arbitrary Argument Injection

                                                                          • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argo-cd/v2 › /usr/local/bin/argocd + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                                                                          • Package Manager: golang @@ -1918,7 +1909,7 @@

                                                                            References

                                                  -

                                                  Improper Encoding or Escaping of Output

                                                  +

                                                  Generation of Error Message Containing Sensitive Information

                                                  @@ -1929,21 +1920,21 @@

                                                  Improper Encoding or Escaping of Output

                                                  • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                                                  • - Package Manager: ubuntu:24.04 + Package Manager: golang
                                                  • Vulnerable module: - git/git-man + github.com/argoproj/gitops-engine/pkg/utils/kube
                                                  • Introduced through: + github.com/argoproj/argo-cd/v2@* and github.com/argoproj/gitops-engine/pkg/utils/kube@v0.7.1-0.20250129155113-c19f8cfa4d27 - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5, git@1:2.43.0-1ubuntu7.1 and others
                                                  @@ -1955,31 +1946,9 @@

                                                  Detailed paths

                                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 - › - git@1:2.43.0-1ubuntu7.1 - › - git/git-man@1:2.43.0-1ubuntu7.1 - - - -
                                                  • -
                                                  • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 - › - git@1:2.43.0-1ubuntu7.1 - - - -
                                                  • -
                                                  • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 - › - git-lfs@3.4.1-1ubuntu0.2 + github.com/argoproj/argo-cd/v2@* › - git@1:2.43.0-1ubuntu7.1 + github.com/argoproj/gitops-engine/pkg/utils/kube@v0.7.1-0.20250129155113-c19f8cfa4d27 @@ -1990,30 +1959,26 @@

                                                    Detailed paths


                                                    -

                                                    NVD Description

                                                    -

                                                    Note: Versions mentioned in the description apply only to the upstream git package and not the git package as distributed by Ubuntu. - See How to fix? for Ubuntu:24.04 relevant fixed versions and status.

                                                    -

                                                    Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. Git defines a line-based protocol that is used to exchange information between Git and Git credential helpers. Some ecosystems (most notably, .NET and node.js) interpret single Carriage Return characters as newlines, which renders the protections against CVE-2020-5260 incomplete for credential helpers that treat Carriage Returns in this way. This issue has been addressed in commit b01b9b8 which is included in release versions v2.48.1, v2.47.1, v2.46.3, v2.45.3, v2.44.3, v2.43.6, v2.42.4, v2.41.3, and v2.40.4. Users are advised to upgrade. Users unable to upgrade should avoid cloning from untrusted URLs, especially recursive clones.

                                                    +

                                                    Overview

                                                    +

                                                    Affected versions of this package are vulnerable to Generation of Error Message Containing Sensitive Information when syncing invalid Kubernetes Secret resources. An attacker with write access to the repository can expose secret values by committing an invalid Secret to repository and triggering a Sync, which then become visible to any user with read access to Argo CD.

                                                    Remediation

                                                    -

                                                    Upgrade Ubuntu:24.04 git to version 1:2.43.0-1ubuntu7.2 or higher.

                                                    +

                                                    A fix was pushed into the master branch but not yet published.

                                                    References


                                                  -

                                                  Improper Encoding or Escaping of Output

                                                  +

                                                  Generation of Error Message Containing Sensitive Information

                                                  @@ -2024,21 +1989,21 @@

                                                  Improper Encoding or Escaping of Output

                                                  • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argo-cd/v2 › /usr/local/bin/argocd
                                                  • - Package Manager: ubuntu:24.04 + Package Manager: golang
                                                  • Vulnerable module: - git/git-man + github.com/argoproj/gitops-engine/pkg/diff
                                                  • Introduced through: + github.com/argoproj/argo-cd/v2@* and github.com/argoproj/gitops-engine/pkg/diff@v0.7.1-0.20250129155113-c19f8cfa4d27 - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5, git@1:2.43.0-1ubuntu7.1 and others
                                                  @@ -2050,31 +2015,9 @@

                                                  Detailed paths

                                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 - › - git@1:2.43.0-1ubuntu7.1 - › - git/git-man@1:2.43.0-1ubuntu7.1 - - - -
                                                  • -
                                                  • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 - › - git@1:2.43.0-1ubuntu7.1 - - - -
                                                  • -
                                                  • - Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 - › - git-lfs@3.4.1-1ubuntu0.2 + github.com/argoproj/argo-cd/v2@* › - git@1:2.43.0-1ubuntu7.1 + github.com/argoproj/gitops-engine/pkg/diff@v0.7.1-0.20250129155113-c19f8cfa4d27 @@ -2085,24 +2028,21 @@

                                                    Detailed paths


                                                    -

                                                    NVD Description

                                                    -

                                                    Note: Versions mentioned in the description apply only to the upstream git package and not the git package as distributed by Ubuntu. - See How to fix? for Ubuntu:24.04 relevant fixed versions and status.

                                                    -

                                                    Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. When Git asks for credentials via a terminal prompt (i.e. without using any credential helper), it prints out the host name for which the user is expected to provide a username and/or a password. At this stage, any URL-encoded parts have been decoded already, and are printed verbatim. This allows attackers to craft URLs that contain ANSI escape sequences that the terminal interpret to confuse users e.g. into providing passwords for trusted Git hosting sites when in fact they are then sent to untrusted sites that are under the attacker's control. This issue has been patch via commits 7725b81 and c903985 which are included in release versions v2.48.1, v2.47.1, v2.46.3, v2.45.3, v2.44.3, v2.43.6, v2.42.4, v2.41.3, and v2.40.4. Users are advised to upgrade. Users unable to upgrade should avoid cloning from untrusted URLs, especially recursive clones.

                                                    +

                                                    Overview

                                                    +

                                                    Affected versions of this package are vulnerable to Generation of Error Message Containing Sensitive Information when syncing invalid Kubernetes Secret resources. An attacker with write access to the repository can expose secret values by committing an invalid Secret to repository and triggering a Sync, which then become visible to any user with read access to Argo CD.

                                                    Remediation

                                                    -

                                                    Upgrade Ubuntu:24.04 git to version 1:2.43.0-1ubuntu7.2 or higher.

                                                    +

                                                    A fix was pushed into the master branch but not yet published.

                                                    References


                                                  @@ -2118,7 +2058,7 @@

                                                  Release of Invalid Pointer or Reference

                                                  • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argocd › Dockerfile
                                                  • Package Manager: ubuntu:24.04 @@ -2131,7 +2071,7 @@

                                                    Release of Invalid Pointer or Reference

                                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 and patch@2.7.6-7build3 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 and patch@2.7.6-7build3
                                                  @@ -2144,7 +2084,7 @@

                                                  Detailed paths

                                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › patch@2.7.6-7build3 @@ -2188,7 +2128,7 @@

                                                    Double Free

                                                    • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argocd › Dockerfile
                                                    • Package Manager: ubuntu:24.04 @@ -2201,7 +2141,7 @@

                                                      Double Free

                                                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 and patch@2.7.6-7build3 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 and patch@2.7.6-7build3
                                                    @@ -2214,7 +2154,7 @@

                                                    Detailed paths

                                                    • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › patch@2.7.6-7build3 @@ -2263,7 +2203,7 @@

                                                      CVE-2024-41996

                                                      • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argocd › Dockerfile
                                                      • Package Manager: ubuntu:24.04 @@ -2276,7 +2216,7 @@

                                                        CVE-2024-41996

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 and openssl/libssl3t64@3.0.13-0ubuntu3.4 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 and openssl/libssl3t64@3.0.13-0ubuntu3.4
                                                      @@ -2289,7 +2229,7 @@

                                                      Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › openssl/libssl3t64@3.0.13-0ubuntu3.4 @@ -2298,7 +2238,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › coreutils@9.4-3ubuntu6 › @@ -2309,7 +2249,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › cyrus-sasl2/libsasl2-modules@2.1.28+dfsg1-5ubuntu3.1 › @@ -2320,7 +2260,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › libfido2/libfido2-1@1.14.0-1build3 › @@ -2331,7 +2271,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › openssh/openssh-client@1:9.6p1-3ubuntu13.5 › @@ -2342,7 +2282,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › ca-certificates@20240203 › @@ -2355,9 +2295,9 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2370,9 +2310,9 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2387,9 +2327,9 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2404,7 +2344,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › openssl@3.0.13-0ubuntu3.4 @@ -2413,7 +2353,7 @@

                                                        Detailed paths

                                                      • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › ca-certificates@20240203 › @@ -2461,7 +2401,7 @@

                                                        Information Exposure

                                                        • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argocd › Dockerfile
                                                        • Package Manager: ubuntu:24.04 @@ -2474,7 +2414,7 @@

                                                          Information Exposure

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 and libgcrypt20@1.10.3-2build1 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 and libgcrypt20@1.10.3-2build1
                                                        @@ -2487,7 +2427,7 @@

                                                        Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › libgcrypt20@1.10.3-2build1 @@ -2496,7 +2436,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › gnupg2/dirmngr@2.4.4-2ubuntu17 › @@ -2507,7 +2447,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › gnupg2/gpg@2.4.4-2ubuntu17 › @@ -2518,7 +2458,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › gnupg2/gpg-agent@2.4.4-2ubuntu17 › @@ -2529,7 +2469,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › apt@2.7.14build2 › @@ -2542,7 +2482,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › apt@2.7.14build2 › @@ -2555,7 +2495,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › gnupg2/gpg@2.4.4-2ubuntu17 › @@ -2568,7 +2508,7 @@

                                                          Detailed paths

                                                        • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › apt@2.7.14build2 › @@ -2578,7 +2518,7 @@

                                                          Detailed paths

                                                          › pam/libpam-modules@1.5.3-5ubuntu5.1 › - systemd/libsystemd0@255.4-1ubuntu8.4 + systemd/libsystemd0@255.4-1ubuntu8.5 › libgcrypt20@1.10.3-2build1 @@ -2625,7 +2565,7 @@

                                                          CVE-2024-26458

                                                          • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argocd › Dockerfile
                                                          • Package Manager: ubuntu:24.04 @@ -2639,7 +2579,7 @@

                                                            CVE-2024-26458

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5, git@1:2.43.0-1ubuntu7.1 and others + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7, git@1:2.43.0-1ubuntu7.2 and others
                                                          @@ -2651,9 +2591,9 @@

                                                          Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2666,9 +2606,9 @@

                                                            Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2683,9 +2623,9 @@

                                                            Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2698,9 +2638,9 @@

                                                            Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2715,9 +2655,9 @@

                                                            Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2734,9 +2674,9 @@

                                                            Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2749,7 +2689,7 @@

                                                            Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › openssh/openssh-client@1:9.6p1-3ubuntu13.5 › @@ -2760,9 +2700,9 @@

                                                            Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2773,9 +2713,9 @@

                                                            Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2788,7 +2728,7 @@

                                                            Detailed paths

                                                          • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › krb5/krb5-locales@1.20.1-6ubuntu2.2 @@ -2833,7 +2773,7 @@

                                                            CVE-2024-26461

                                                            • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argocd › Dockerfile
                                                            • Package Manager: ubuntu:24.04 @@ -2847,7 +2787,7 @@

                                                              CVE-2024-26461

                                                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5, git@1:2.43.0-1ubuntu7.1 and others + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7, git@1:2.43.0-1ubuntu7.2 and others
                                                            @@ -2859,9 +2799,9 @@

                                                            Detailed paths

                                                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2874,9 +2814,9 @@

                                                              Detailed paths

                                                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2891,9 +2831,9 @@

                                                              Detailed paths

                                                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2906,9 +2846,9 @@

                                                              Detailed paths

                                                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2923,9 +2863,9 @@

                                                              Detailed paths

                                                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2942,9 +2882,9 @@

                                                              Detailed paths

                                                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2957,7 +2897,7 @@

                                                              Detailed paths

                                                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › openssh/openssh-client@1:9.6p1-3ubuntu13.5 › @@ -2968,9 +2908,9 @@

                                                              Detailed paths

                                                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2981,9 +2921,9 @@

                                                              Detailed paths

                                                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › curl/libcurl3t64-gnutls@8.5.0-2ubuntu10.6 › @@ -2996,7 +2936,7 @@

                                                              Detailed paths

                                                            • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › krb5/krb5-locales@1.20.1-6ubuntu2.2 @@ -3041,7 +2981,7 @@

                                                              Out-of-bounds Write

                                                              • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argocd › Dockerfile
                                                              • Package Manager: ubuntu:24.04 @@ -3054,7 +2994,7 @@

                                                                Out-of-bounds Write

                                                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 and gnupg2/gpgv@2.4.4-2ubuntu17 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 and gnupg2/gpgv@2.4.4-2ubuntu17
                                                              @@ -3067,7 +3007,7 @@

                                                              Detailed paths

                                                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › gnupg2/gpgv@2.4.4-2ubuntu17 @@ -3076,7 +3016,7 @@

                                                                Detailed paths

                                                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › apt@2.7.14build2 › @@ -3087,7 +3027,7 @@

                                                                Detailed paths

                                                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › gnupg2/dirmngr@2.4.4-2ubuntu17 › @@ -3098,7 +3038,7 @@

                                                                Detailed paths

                                                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › gnupg2/gpg-agent@2.4.4-2ubuntu17 › @@ -3109,7 +3049,7 @@

                                                                Detailed paths

                                                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › gnupg2/gpg@2.4.4-2ubuntu17 › @@ -3120,7 +3060,7 @@

                                                                Detailed paths

                                                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › gnupg2/dirmngr@2.4.4-2ubuntu17 @@ -3129,7 +3069,7 @@

                                                                Detailed paths

                                                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › gnupg2/gpg@2.4.4-2ubuntu17 @@ -3138,7 +3078,7 @@

                                                                Detailed paths

                                                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › gnupg2/gpg-agent@2.4.4-2ubuntu17 @@ -3187,7 +3127,7 @@

                                                                Allocation of Resources Without Limits or Throttling

                                                              • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argocd › Dockerfile
                                                              • Package Manager: ubuntu:24.04 @@ -3200,7 +3140,7 @@

                                                                Allocation of Resources Without Limits or Throttling

                                                                Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 and glibc/libc-bin@2.39-0ubuntu8.3 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 and glibc/libc-bin@2.39-0ubuntu8.3
                                                              @@ -3213,7 +3153,7 @@

                                                              Detailed paths

                                                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › glibc/libc-bin@2.39-0ubuntu8.3 @@ -3222,7 +3162,7 @@

                                                                Detailed paths

                                                              • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › glibc/libc6@2.39-0ubuntu8.3 @@ -3268,7 +3208,7 @@

                                                                Improper Input Validation

                                                                • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argocd › Dockerfile
                                                                • Package Manager: ubuntu:24.04 @@ -3282,7 +3222,7 @@

                                                                  Improper Input Validation

                                                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5, git@1:2.43.0-1ubuntu7.1 and others + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7, git@1:2.43.0-1ubuntu7.2 and others
                                                                @@ -3294,31 +3234,31 @@

                                                                Detailed paths

                                                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 › - git/git-man@1:2.43.0-1ubuntu7.1 + git/git-man@1:2.43.0-1ubuntu7.2
                                                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2
                                                                • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › git-lfs@3.4.1-1ubuntu0.2 › - git@1:2.43.0-1ubuntu7.1 + git@1:2.43.0-1ubuntu7.2 @@ -3361,7 +3301,7 @@

                                                                  Improper Input Validation

                                                                  • - Manifest file: quay.io/argoproj/argocd:v2.14.0-rc5/argoproj/argocd › Dockerfile + Manifest file: quay.io/argoproj/argocd:v2.14.0-rc7/argoproj/argocd › Dockerfile
                                                                  • Package Manager: ubuntu:24.04 @@ -3374,7 +3314,7 @@

                                                                    Improper Input Validation

                                                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 and coreutils@9.4-3ubuntu6 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 and coreutils@9.4-3ubuntu6
                                                                  @@ -3387,7 +3327,7 @@

                                                                  Detailed paths

                                                                  • Introduced through: - docker-image|quay.io/argoproj/argocd@v2.14.0-rc5 + docker-image|quay.io/argoproj/argocd@v2.14.0-rc7 › coreutils@9.4-3ubuntu6 diff --git a/docs/snyk/v2.14.0-rc5/redis_7.0.15-alpine.html b/docs/snyk/v2.14.0-rc7/redis_7.0.15-alpine.html similarity index 99% rename from docs/snyk/v2.14.0-rc5/redis_7.0.15-alpine.html rename to docs/snyk/v2.14.0-rc7/redis_7.0.15-alpine.html index d61d88fc01b1e..8ea4810ca7924 100644 --- a/docs/snyk/v2.14.0-rc5/redis_7.0.15-alpine.html +++ b/docs/snyk/v2.14.0-rc7/redis_7.0.15-alpine.html @@ -456,7 +456,7 @@

                                                                    Snyk test report

                                                                    -

                                                                    January 19th 2025, 12:22:42 am (UTC+00:00)

                                                                    +

                                                                    February 2nd 2025, 12:22:17 am (UTC+00:00)

                                                                    Scanned the following paths: diff --git a/docs/user-guide/commands/argocd.md b/docs/user-guide/commands/argocd.md index 67f7dfdf7fd6f..19b0f4afe28f1 100644 --- a/docs/user-guide/commands/argocd.md +++ b/docs/user-guide/commands/argocd.md @@ -25,12 +25,13 @@ argocd [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_account.md b/docs/user-guide/commands/argocd_account.md index ec28edfb9976e..a50a00526a6a8 100644 --- a/docs/user-guide/commands/argocd_account.md +++ b/docs/user-guide/commands/argocd_account.md @@ -65,12 +65,13 @@ argocd account [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_account_bcrypt.md b/docs/user-guide/commands/argocd_account_bcrypt.md index b45f3084615a6..301abaac1c125 100644 --- a/docs/user-guide/commands/argocd_account_bcrypt.md +++ b/docs/user-guide/commands/argocd_account_bcrypt.md @@ -38,12 +38,13 @@ argocd account bcrypt --password YOUR_PASSWORD --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_account_can-i.md b/docs/user-guide/commands/argocd_account_can-i.md index 150f90353e2d0..05e335bdf174c 100644 --- a/docs/user-guide/commands/argocd_account_can-i.md +++ b/docs/user-guide/commands/argocd_account_can-i.md @@ -48,12 +48,13 @@ Resources: [clusters projects applications applicationsets repositories write-re --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_account_delete-token.md b/docs/user-guide/commands/argocd_account_delete-token.md index a9f6b0e833eba..2f26a8146c809 100644 --- a/docs/user-guide/commands/argocd_account_delete-token.md +++ b/docs/user-guide/commands/argocd_account_delete-token.md @@ -41,12 +41,13 @@ argocd account delete-token --account ID --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_account_generate-token.md b/docs/user-guide/commands/argocd_account_generate-token.md index be15939b2842f..6541306e8a120 100644 --- a/docs/user-guide/commands/argocd_account_generate-token.md +++ b/docs/user-guide/commands/argocd_account_generate-token.md @@ -43,12 +43,13 @@ argocd account generate-token --account --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_account_get-user-info.md b/docs/user-guide/commands/argocd_account_get-user-info.md index ddda242551221..106e8ef533047 100644 --- a/docs/user-guide/commands/argocd_account_get-user-info.md +++ b/docs/user-guide/commands/argocd_account_get-user-info.md @@ -41,12 +41,13 @@ argocd account get-user-info [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_account_get.md b/docs/user-guide/commands/argocd_account_get.md index 543a60339c72e..20024f019a072 100644 --- a/docs/user-guide/commands/argocd_account_get.md +++ b/docs/user-guide/commands/argocd_account_get.md @@ -42,12 +42,13 @@ argocd account get --account --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_account_list.md b/docs/user-guide/commands/argocd_account_list.md index 4df2ef874c6df..59f66b654f9e1 100644 --- a/docs/user-guide/commands/argocd_account_list.md +++ b/docs/user-guide/commands/argocd_account_list.md @@ -37,12 +37,13 @@ argocd account list --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_account_update-password.md b/docs/user-guide/commands/argocd_account_update-password.md index 10055a6cdde0f..42ef6b77d7d22 100644 --- a/docs/user-guide/commands/argocd_account_update-password.md +++ b/docs/user-guide/commands/argocd_account_update-password.md @@ -53,12 +53,13 @@ argocd account update-password [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin.md b/docs/user-guide/commands/argocd_admin.md index 01e5c0f8e909d..8b2f629b80818 100644 --- a/docs/user-guide/commands/argocd_admin.md +++ b/docs/user-guide/commands/argocd_admin.md @@ -23,7 +23,7 @@ $ argocd admin initial-password reset ``` -h, --help help for admin - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") ``` @@ -47,6 +47,7 @@ $ argocd admin initial-password reset --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_app.md b/docs/user-guide/commands/argocd_admin_app.md index 24976c02d816c..630ced4b7d877 100644 --- a/docs/user-guide/commands/argocd_admin_app.md +++ b/docs/user-guide/commands/argocd_admin_app.md @@ -45,12 +45,13 @@ argocd admin app get-reconcile-results APPNAME --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_app_diff-reconcile-results.md b/docs/user-guide/commands/argocd_admin_app_diff-reconcile-results.md index 4173abf69aba1..849983ba9d555 100644 --- a/docs/user-guide/commands/argocd_admin_app_diff-reconcile-results.md +++ b/docs/user-guide/commands/argocd_admin_app_diff-reconcile-results.md @@ -30,12 +30,13 @@ argocd admin app diff-reconcile-results PATH1 PATH2 [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_app_generate-spec.md b/docs/user-guide/commands/argocd_admin_app_generate-spec.md index c5e4ee3ac433b..a9774570ea366 100644 --- a/docs/user-guide/commands/argocd_admin_app_generate-spec.md +++ b/docs/user-guide/commands/argocd_admin_app_generate-spec.md @@ -64,6 +64,7 @@ argocd admin app generate-spec APPNAME [flags] --helm-version string Helm version -h, --help help for generate-spec --hydrate-to-branch string The branch to hydrate the app to + --ignore-missing-components Ignore locally missing component directories when setting Kustomize components --ignore-missing-value-files Ignore locally missing valueFiles when setting helm template --values -i, --inline If set then generated resource is written back to the file specified in --file flag --jsonnet-ext-var-code stringArray Jsonnet ext var @@ -128,12 +129,13 @@ argocd admin app generate-spec APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_app_get-reconcile-results.md b/docs/user-guide/commands/argocd_admin_app_get-reconcile-results.md index 506dc49e31b2c..2a6a5a1843f77 100644 --- a/docs/user-guide/commands/argocd_admin_app_get-reconcile-results.md +++ b/docs/user-guide/commands/argocd_admin_app_get-reconcile-results.md @@ -56,12 +56,13 @@ argocd admin app get-reconcile-results PATH [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_cluster.md b/docs/user-guide/commands/argocd_admin_cluster.md index 960f8e5e54c2d..de1bad2a8de3b 100644 --- a/docs/user-guide/commands/argocd_admin_cluster.md +++ b/docs/user-guide/commands/argocd_admin_cluster.md @@ -44,12 +44,13 @@ argocd admin cluster namespaces my-cluster --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_cluster_generate-spec.md b/docs/user-guide/commands/argocd_admin_cluster_generate-spec.md index 2921858837553..e3b0d2a3bd5b8 100644 --- a/docs/user-guide/commands/argocd_admin_cluster_generate-spec.md +++ b/docs/user-guide/commands/argocd_admin_cluster_generate-spec.md @@ -54,12 +54,13 @@ argocd admin cluster generate-spec CONTEXT [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_cluster_kubeconfig.md b/docs/user-guide/commands/argocd_admin_cluster_kubeconfig.md index f89da6c89db4d..0f3f0ab259692 100644 --- a/docs/user-guide/commands/argocd_admin_cluster_kubeconfig.md +++ b/docs/user-guide/commands/argocd_admin_cluster_kubeconfig.md @@ -67,12 +67,13 @@ argocd admin cluster kubeconfig https://cluster-api-url:6443 /path/to/output/kub --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_cluster_namespaces.md b/docs/user-guide/commands/argocd_admin_cluster_namespaces.md index 634f2291ca87f..492fc1e1ecf3c 100644 --- a/docs/user-guide/commands/argocd_admin_cluster_namespaces.md +++ b/docs/user-guide/commands/argocd_admin_cluster_namespaces.md @@ -50,12 +50,13 @@ argocd admin cluster namespaces [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_cluster_namespaces_disable-namespaced-mode.md b/docs/user-guide/commands/argocd_admin_cluster_namespaces_disable-namespaced-mode.md index 21231b19f8e96..dd3d9c86d137a 100644 --- a/docs/user-guide/commands/argocd_admin_cluster_namespaces_disable-namespaced-mode.md +++ b/docs/user-guide/commands/argocd_admin_cluster_namespaces_disable-namespaced-mode.md @@ -51,12 +51,13 @@ argocd admin cluster namespaces disable-namespaced-mode PATTERN [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_cluster_namespaces_enable-namespaced-mode.md b/docs/user-guide/commands/argocd_admin_cluster_namespaces_enable-namespaced-mode.md index c10e0ad44d997..e14adf103ec26 100644 --- a/docs/user-guide/commands/argocd_admin_cluster_namespaces_enable-namespaced-mode.md +++ b/docs/user-guide/commands/argocd_admin_cluster_namespaces_enable-namespaced-mode.md @@ -53,12 +53,13 @@ argocd admin cluster namespaces enable-namespaced-mode PATTERN [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_cluster_shards.md b/docs/user-guide/commands/argocd_admin_cluster_shards.md index 5d0c528fccca7..be0eec3c1c902 100644 --- a/docs/user-guide/commands/argocd_admin_cluster_shards.md +++ b/docs/user-guide/commands/argocd_admin_cluster_shards.md @@ -66,7 +66,7 @@ argocd admin cluster shards [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding diff --git a/docs/user-guide/commands/argocd_admin_cluster_stats.md b/docs/user-guide/commands/argocd_admin_cluster_stats.md index 298b75605537a..b0a9da7616d3b 100644 --- a/docs/user-guide/commands/argocd_admin_cluster_stats.md +++ b/docs/user-guide/commands/argocd_admin_cluster_stats.md @@ -80,7 +80,7 @@ argocd admin cluster stats target-cluster --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding diff --git a/docs/user-guide/commands/argocd_admin_dashboard.md b/docs/user-guide/commands/argocd_admin_dashboard.md index 12795450309d9..d9f4affd2ffc8 100644 --- a/docs/user-guide/commands/argocd_admin_dashboard.md +++ b/docs/user-guide/commands/argocd_admin_dashboard.md @@ -42,7 +42,6 @@ $ argocd admin dashboard --redis-compress gzip --password string Password for basic authentication to the API server --port int Listen on given port (default 8080) --proxy-url string If provided, this URL will be used to connect via proxy - --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") --server string The address and port of the Kubernetes API server --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. @@ -67,12 +66,13 @@ $ argocd admin dashboard --redis-compress gzip --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_export.md b/docs/user-guide/commands/argocd_admin_export.md index 9b2f8cf24db40..bcd8afe28a3b5 100644 --- a/docs/user-guide/commands/argocd_admin_export.md +++ b/docs/user-guide/commands/argocd_admin_export.md @@ -53,12 +53,13 @@ argocd admin export [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_import.md b/docs/user-guide/commands/argocd_admin_import.md index 1dd65a79e9fbe..edaec29e91673 100644 --- a/docs/user-guide/commands/argocd_admin_import.md +++ b/docs/user-guide/commands/argocd_admin_import.md @@ -28,12 +28,14 @@ argocd admin import SOURCE [flags] --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --kubeconfig string Path to a kube config. Only required if out-of-cluster -n, --namespace string If present, the namespace scope for this CLI request + --override-on-conflict Override the resource on conflict when updating resources --password string Password for basic authentication to the API server --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. --proxy-url string If provided, this URL will be used to connect via proxy --prune Prune secrets, applications and projects which do not appear in the backup --request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0") --server string The address and port of the Kubernetes API server + --skip-resources-with-label string Skip importing resources based on the label e.g. '--skip-resources-with-label my-label/example.io=true' --stop-operation Stop any existing operations --tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used. --token string Bearer token for authentication to the API server @@ -58,11 +60,12 @@ argocd admin import SOURCE [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_initial-password.md b/docs/user-guide/commands/argocd_admin_initial-password.md index c363b4206d2c5..e6011be2f7179 100644 --- a/docs/user-guide/commands/argocd_admin_initial-password.md +++ b/docs/user-guide/commands/argocd_admin_initial-password.md @@ -50,12 +50,13 @@ argocd admin initial-password [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_notifications.md b/docs/user-guide/commands/argocd_admin_notifications.md index a35c9345189ae..fcd5d96bfb90a 100644 --- a/docs/user-guide/commands/argocd_admin_notifications.md +++ b/docs/user-guide/commands/argocd_admin_notifications.md @@ -55,12 +55,13 @@ argocd admin notifications [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_notifications_template.md b/docs/user-guide/commands/argocd_admin_notifications_template.md index b0488aab2a29a..36e1de4f77560 100644 --- a/docs/user-guide/commands/argocd_admin_notifications_template.md +++ b/docs/user-guide/commands/argocd_admin_notifications_template.md @@ -45,7 +45,7 @@ argocd admin notifications template [flags] --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --kube-context string Directs the command to the given kube-context --kubeconfig string Path to a kube config. Only required if out-of-cluster - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") -n, --namespace string If present, the namespace scope for this CLI request --password string Password for basic authentication to the API server @@ -54,6 +54,7 @@ argocd admin notifications template [flags] --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. --proxy-url string If provided, this URL will be used to connect via proxy + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_notifications_template_get.md b/docs/user-guide/commands/argocd_admin_notifications_template_get.md index 5fb698f8bc3d2..ff3bdc9cb472a 100644 --- a/docs/user-guide/commands/argocd_admin_notifications_template_get.md +++ b/docs/user-guide/commands/argocd_admin_notifications_template_get.md @@ -57,7 +57,7 @@ argocd admin notifications template get app-sync-succeeded -o=yaml --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --kube-context string Directs the command to the given kube-context --kubeconfig string Path to a kube config. Only required if out-of-cluster - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") -n, --namespace string If present, the namespace scope for this CLI request --password string Password for basic authentication to the API server @@ -66,6 +66,7 @@ argocd admin notifications template get app-sync-succeeded -o=yaml --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. --proxy-url string If provided, this URL will be used to connect via proxy + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_notifications_template_notify.md b/docs/user-guide/commands/argocd_admin_notifications_template_notify.md index f55e0c3367302..04f36e4938ffa 100644 --- a/docs/user-guide/commands/argocd_admin_notifications_template_notify.md +++ b/docs/user-guide/commands/argocd_admin_notifications_template_notify.md @@ -58,7 +58,7 @@ argocd admin notifications template notify app-sync-succeeded guestbook --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --kube-context string Directs the command to the given kube-context --kubeconfig string Path to a kube config. Only required if out-of-cluster - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") -n, --namespace string If present, the namespace scope for this CLI request --password string Password for basic authentication to the API server @@ -67,6 +67,7 @@ argocd admin notifications template notify app-sync-succeeded guestbook --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. --proxy-url string If provided, this URL will be used to connect via proxy + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_notifications_trigger.md b/docs/user-guide/commands/argocd_admin_notifications_trigger.md index f3000d00daf3f..470f7e6e20ee0 100644 --- a/docs/user-guide/commands/argocd_admin_notifications_trigger.md +++ b/docs/user-guide/commands/argocd_admin_notifications_trigger.md @@ -45,7 +45,7 @@ argocd admin notifications trigger [flags] --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --kube-context string Directs the command to the given kube-context --kubeconfig string Path to a kube config. Only required if out-of-cluster - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") -n, --namespace string If present, the namespace scope for this CLI request --password string Password for basic authentication to the API server @@ -54,6 +54,7 @@ argocd admin notifications trigger [flags] --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. --proxy-url string If provided, this URL will be used to connect via proxy + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_notifications_trigger_get.md b/docs/user-guide/commands/argocd_admin_notifications_trigger_get.md index df00c18c23111..cf4a4f0b5ca54 100644 --- a/docs/user-guide/commands/argocd_admin_notifications_trigger_get.md +++ b/docs/user-guide/commands/argocd_admin_notifications_trigger_get.md @@ -57,7 +57,7 @@ argocd admin notifications trigger get on-sync-failed -o=yaml --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --kube-context string Directs the command to the given kube-context --kubeconfig string Path to a kube config. Only required if out-of-cluster - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") -n, --namespace string If present, the namespace scope for this CLI request --password string Password for basic authentication to the API server @@ -66,6 +66,7 @@ argocd admin notifications trigger get on-sync-failed -o=yaml --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. --proxy-url string If provided, this URL will be used to connect via proxy + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_notifications_trigger_run.md b/docs/user-guide/commands/argocd_admin_notifications_trigger_run.md index f21224062786d..c6b79f8167823 100644 --- a/docs/user-guide/commands/argocd_admin_notifications_trigger_run.md +++ b/docs/user-guide/commands/argocd_admin_notifications_trigger_run.md @@ -57,7 +57,7 @@ argocd admin notifications trigger run on-sync-status-unknown ./sample-app.yaml --insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure --kube-context string Directs the command to the given kube-context --kubeconfig string Path to a kube config. Only required if out-of-cluster - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") -n, --namespace string If present, the namespace scope for this CLI request --password string Password for basic authentication to the API server @@ -66,6 +66,7 @@ argocd admin notifications trigger run on-sync-status-unknown ./sample-app.yaml --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. --proxy-url string If provided, this URL will be used to connect via proxy + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_proj.md b/docs/user-guide/commands/argocd_admin_proj.md index 5ea290e4f1dc3..261a07d6e3dd8 100644 --- a/docs/user-guide/commands/argocd_admin_proj.md +++ b/docs/user-guide/commands/argocd_admin_proj.md @@ -30,12 +30,13 @@ argocd admin proj [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_proj_generate-allow-list.md b/docs/user-guide/commands/argocd_admin_proj_generate-allow-list.md index 767507ed46be7..2454cbea49650 100644 --- a/docs/user-guide/commands/argocd_admin_proj_generate-allow-list.md +++ b/docs/user-guide/commands/argocd_admin_proj_generate-allow-list.md @@ -58,12 +58,13 @@ argocd admin proj generate-allow-list /path/to/clusterrole.yaml my-project --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_proj_generate-spec.md b/docs/user-guide/commands/argocd_admin_proj_generate-spec.md index c25d24f6bef73..7fb58fbf7ae16 100644 --- a/docs/user-guide/commands/argocd_admin_proj_generate-spec.md +++ b/docs/user-guide/commands/argocd_admin_proj_generate-spec.md @@ -58,12 +58,13 @@ argocd admin proj generate-spec PROJECT [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_proj_update-role-policy.md b/docs/user-guide/commands/argocd_admin_proj_update-role-policy.md index 9e086f0281aca..8fba15d6d2b31 100644 --- a/docs/user-guide/commands/argocd_admin_proj_update-role-policy.md +++ b/docs/user-guide/commands/argocd_admin_proj_update-role-policy.md @@ -66,12 +66,13 @@ argocd admin proj update-role-policy PROJECT_GLOB MODIFICATION ACTION [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_redis-initial-password.md b/docs/user-guide/commands/argocd_admin_redis-initial-password.md index 379eee92de705..37a687c41e944 100644 --- a/docs/user-guide/commands/argocd_admin_redis-initial-password.md +++ b/docs/user-guide/commands/argocd_admin_redis-initial-password.md @@ -50,12 +50,13 @@ argocd admin redis-initial-password [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_repo.md b/docs/user-guide/commands/argocd_admin_repo.md index 2593d718087cb..d845b99f639d6 100644 --- a/docs/user-guide/commands/argocd_admin_repo.md +++ b/docs/user-guide/commands/argocd_admin_repo.md @@ -30,12 +30,13 @@ argocd admin repo [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_repo_generate-spec.md b/docs/user-guide/commands/argocd_admin_repo_generate-spec.md index 8ffeedca3d708..04a67cf6920f3 100644 --- a/docs/user-guide/commands/argocd_admin_repo_generate-spec.md +++ b/docs/user-guide/commands/argocd_admin_repo_generate-spec.md @@ -79,12 +79,13 @@ argocd admin repo generate-spec REPOURL [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_settings.md b/docs/user-guide/commands/argocd_admin_settings.md index bfe95f0a4fa42..bdb59b3ce6fc6 100644 --- a/docs/user-guide/commands/argocd_admin_settings.md +++ b/docs/user-guide/commands/argocd_admin_settings.md @@ -53,12 +53,13 @@ argocd admin settings [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_settings_rbac.md b/docs/user-guide/commands/argocd_admin_settings_rbac.md index cc3696f9a8242..fd0467922df4e 100644 --- a/docs/user-guide/commands/argocd_admin_settings_rbac.md +++ b/docs/user-guide/commands/argocd_admin_settings_rbac.md @@ -44,7 +44,7 @@ argocd admin settings rbac [flags] --kube-context string Directs the command to the given kube-context --kubeconfig string Path to a kube config. Only required if out-of-cluster --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") -n, --namespace string If present, the namespace scope for this CLI request --password string Password for basic authentication to the API server @@ -53,6 +53,7 @@ argocd admin settings rbac [flags] --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. --proxy-url string If provided, this URL will be used to connect via proxy + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_settings_rbac_can.md b/docs/user-guide/commands/argocd_admin_settings_rbac_can.md index 9d8a8254533a2..d609d2ac1ea27 100644 --- a/docs/user-guide/commands/argocd_admin_settings_rbac_can.md +++ b/docs/user-guide/commands/argocd_admin_settings_rbac_can.md @@ -88,12 +88,13 @@ argocd admin settings rbac can someuser create application 'default/app' --defau --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_settings_rbac_validate.md b/docs/user-guide/commands/argocd_admin_settings_rbac_validate.md index b6d36703f555d..565ca27e9e86d 100644 --- a/docs/user-guide/commands/argocd_admin_settings_rbac_validate.md +++ b/docs/user-guide/commands/argocd_admin_settings_rbac_validate.md @@ -80,12 +80,13 @@ argocd admin settings rbac validate --namespace argocd --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_settings_resource-overrides.md b/docs/user-guide/commands/argocd_admin_settings_resource-overrides.md index 839d82b0cfd33..77f67869d37ab 100644 --- a/docs/user-guide/commands/argocd_admin_settings_resource-overrides.md +++ b/docs/user-guide/commands/argocd_admin_settings_resource-overrides.md @@ -44,7 +44,7 @@ argocd admin settings resource-overrides [flags] --kube-context string Directs the command to the given kube-context --kubeconfig string Path to a kube config. Only required if out-of-cluster --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") -n, --namespace string If present, the namespace scope for this CLI request --password string Password for basic authentication to the API server @@ -53,6 +53,7 @@ argocd admin settings resource-overrides [flags] --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. --proxy-url string If provided, this URL will be used to connect via proxy + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_health.md b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_health.md index ae0a883cf01a0..f11a96ad51c32 100644 --- a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_health.md +++ b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_health.md @@ -55,7 +55,7 @@ argocd admin settings resource-overrides health ./deploy.yaml --argocd-cm-path . --kube-context string Directs the command to the given kube-context --kubeconfig string Path to a kube config. Only required if out-of-cluster --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") -n, --namespace string If present, the namespace scope for this CLI request --password string Password for basic authentication to the API server @@ -64,6 +64,7 @@ argocd admin settings resource-overrides health ./deploy.yaml --argocd-cm-path . --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. --proxy-url string If provided, this URL will be used to connect via proxy + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_ignore-differences.md b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_ignore-differences.md index 1b9df109a1961..74e061d5fc031 100644 --- a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_ignore-differences.md +++ b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_ignore-differences.md @@ -55,7 +55,7 @@ argocd admin settings resource-overrides ignore-differences ./deploy.yaml --argo --kube-context string Directs the command to the given kube-context --kubeconfig string Path to a kube config. Only required if out-of-cluster --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") -n, --namespace string If present, the namespace scope for this CLI request --password string Password for basic authentication to the API server @@ -64,6 +64,7 @@ argocd admin settings resource-overrides ignore-differences ./deploy.yaml --argo --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. --proxy-url string If provided, this URL will be used to connect via proxy + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_ignore-resource-updates.md b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_ignore-resource-updates.md index 3a846632d21f8..f401321f753a2 100644 --- a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_ignore-resource-updates.md +++ b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_ignore-resource-updates.md @@ -56,7 +56,7 @@ argocd admin settings resource-overrides ignore-resource-updates ./deploy.yaml - --kube-context string Directs the command to the given kube-context --kubeconfig string Path to a kube config. Only required if out-of-cluster --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") -n, --namespace string If present, the namespace scope for this CLI request --password string Password for basic authentication to the API server @@ -65,6 +65,7 @@ argocd admin settings resource-overrides ignore-resource-updates ./deploy.yaml - --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. --proxy-url string If provided, this URL will be used to connect via proxy + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_list-actions.md b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_list-actions.md index 70d46dd90bac2..7e74b6ae12dba 100644 --- a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_list-actions.md +++ b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_list-actions.md @@ -55,7 +55,7 @@ argocd admin settings resource-overrides action list /tmp/deploy.yaml --argocd-c --kube-context string Directs the command to the given kube-context --kubeconfig string Path to a kube config. Only required if out-of-cluster --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") -n, --namespace string If present, the namespace scope for this CLI request --password string Password for basic authentication to the API server @@ -64,6 +64,7 @@ argocd admin settings resource-overrides action list /tmp/deploy.yaml --argocd-c --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. --proxy-url string If provided, this URL will be used to connect via proxy + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_run-action.md b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_run-action.md index 494a61c4fd51e..41d9213db7636 100644 --- a/docs/user-guide/commands/argocd_admin_settings_resource-overrides_run-action.md +++ b/docs/user-guide/commands/argocd_admin_settings_resource-overrides_run-action.md @@ -55,7 +55,7 @@ argocd admin settings resource-overrides action /tmp/deploy.yaml restart --argoc --kube-context string Directs the command to the given kube-context --kubeconfig string Path to a kube config. Only required if out-of-cluster --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") -n, --namespace string If present, the namespace scope for this CLI request --password string Password for basic authentication to the API server @@ -64,6 +64,7 @@ argocd admin settings resource-overrides action /tmp/deploy.yaml restart --argoc --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. --proxy-url string If provided, this URL will be used to connect via proxy + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_admin_settings_validate.md b/docs/user-guide/commands/argocd_admin_settings_validate.md index 7a7612575c07c..303276e3679cb 100644 --- a/docs/user-guide/commands/argocd_admin_settings_validate.md +++ b/docs/user-guide/commands/argocd_admin_settings_validate.md @@ -26,7 +26,7 @@ argocd admin settings validate --group accounts --group plugins --load-cluster-s ### Options ``` - --group stringArray Optional list of setting groups that have to be validated ( one of: accounts, general, kustomize, repositories, resource-overrides) + --group stringArray Optional list of setting groups that have to be validated ( one of: accounts, general, kustomize, resource-overrides) -h, --help help for validate ``` @@ -60,7 +60,7 @@ argocd admin settings validate --group accounts --group plugins --load-cluster-s --kube-context string Directs the command to the given kube-context --kubeconfig string Path to a kube config. Only required if out-of-cluster --load-cluster-settings Indicates that config map and secret should be loaded from cluster unless local file path is provided - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") -n, --namespace string If present, the namespace scope for this CLI request --password string Password for basic authentication to the API server @@ -69,6 +69,7 @@ argocd admin settings validate --group accounts --group plugins --load-cluster-s --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. --proxy-url string If provided, this URL will be used to connect via proxy + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app.md b/docs/user-guide/commands/argocd_app.md index 2ff8e6cf830ff..6497de402cfe9 100644 --- a/docs/user-guide/commands/argocd_app.md +++ b/docs/user-guide/commands/argocd_app.md @@ -62,12 +62,13 @@ argocd app [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_actions.md b/docs/user-guide/commands/argocd_app_actions.md index ad1d96daeb710..af0aab4075646 100644 --- a/docs/user-guide/commands/argocd_app_actions.md +++ b/docs/user-guide/commands/argocd_app_actions.md @@ -40,12 +40,13 @@ argocd app actions [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_actions_list.md b/docs/user-guide/commands/argocd_app_actions_list.md index 77bedda0c665f..da4b9b24b4c7c 100644 --- a/docs/user-guide/commands/argocd_app_actions_list.md +++ b/docs/user-guide/commands/argocd_app_actions_list.md @@ -42,12 +42,13 @@ argocd app actions list APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_actions_run.md b/docs/user-guide/commands/argocd_app_actions_run.md index d3da3b40fc1c2..4e9fcf9aacbc4 100644 --- a/docs/user-guide/commands/argocd_app_actions_run.md +++ b/docs/user-guide/commands/argocd_app_actions_run.md @@ -42,12 +42,13 @@ argocd app actions run APPNAME ACTION [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_add-source.md b/docs/user-guide/commands/argocd_app_add-source.md index 72f2f98cf0616..4cf5e554ac547 100644 --- a/docs/user-guide/commands/argocd_app_add-source.md +++ b/docs/user-guide/commands/argocd_app_add-source.md @@ -46,6 +46,7 @@ argocd app add-source APPNAME [flags] --helm-version string Helm version -h, --help help for add-source --hydrate-to-branch string The branch to hydrate the app to + --ignore-missing-components Ignore locally missing component directories when setting Kustomize components --ignore-missing-value-files Ignore locally missing valueFiles when setting helm template --values --jsonnet-ext-var-code stringArray Jsonnet ext var --jsonnet-ext-var-str stringArray Jsonnet string ext var @@ -105,12 +106,13 @@ argocd app add-source APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_confirm-deletion.md b/docs/user-guide/commands/argocd_app_confirm-deletion.md index f9a77904f128f..a0f80f56187fe 100644 --- a/docs/user-guide/commands/argocd_app_confirm-deletion.md +++ b/docs/user-guide/commands/argocd_app_confirm-deletion.md @@ -31,12 +31,13 @@ argocd app confirm-deletion APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_create.md b/docs/user-guide/commands/argocd_app_create.md index 0dc043f83febb..7ddf879e95933 100644 --- a/docs/user-guide/commands/argocd_app_create.md +++ b/docs/user-guide/commands/argocd_app_create.md @@ -66,6 +66,7 @@ argocd app create APPNAME [flags] --helm-version string Helm version -h, --help help for create --hydrate-to-branch string The branch to hydrate the app to + --ignore-missing-components Ignore locally missing component directories when setting Kustomize components --ignore-missing-value-files Ignore locally missing valueFiles when setting helm template --values --jsonnet-ext-var-code stringArray Jsonnet ext var --jsonnet-ext-var-str stringArray Jsonnet string ext var @@ -129,12 +130,13 @@ argocd app create APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_delete-resource.md b/docs/user-guide/commands/argocd_app_delete-resource.md index 085bd89b13240..91930ebc150b6 100644 --- a/docs/user-guide/commands/argocd_app_delete-resource.md +++ b/docs/user-guide/commands/argocd_app_delete-resource.md @@ -38,12 +38,13 @@ argocd app delete-resource APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_delete.md b/docs/user-guide/commands/argocd_app_delete.md index a7c123f945a3c..d448fc112f9ab 100644 --- a/docs/user-guide/commands/argocd_app_delete.md +++ b/docs/user-guide/commands/argocd_app_delete.md @@ -53,12 +53,13 @@ argocd app delete APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_diff.md b/docs/user-guide/commands/argocd_app_diff.md index 743fa6e2b203d..cbbf77203cb31 100644 --- a/docs/user-guide/commands/argocd_app_diff.md +++ b/docs/user-guide/commands/argocd_app_diff.md @@ -51,12 +51,13 @@ argocd app diff APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_edit.md b/docs/user-guide/commands/argocd_app_edit.md index adbc3cf8ba461..9253b93440e8b 100644 --- a/docs/user-guide/commands/argocd_app_edit.md +++ b/docs/user-guide/commands/argocd_app_edit.md @@ -31,12 +31,13 @@ argocd app edit APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_get.md b/docs/user-guide/commands/argocd_app_get.md index 667978ee27c85..20f9dad765535 100644 --- a/docs/user-guide/commands/argocd_app_get.md +++ b/docs/user-guide/commands/argocd_app_get.md @@ -75,12 +75,13 @@ argocd app get APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_history.md b/docs/user-guide/commands/argocd_app_history.md index e870a6e6cb4c5..6ee739b514445 100644 --- a/docs/user-guide/commands/argocd_app_history.md +++ b/docs/user-guide/commands/argocd_app_history.md @@ -32,12 +32,13 @@ argocd app history APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_list.md b/docs/user-guide/commands/argocd_app_list.md index 9fb2b8dc32b88..057a0f23397d8 100644 --- a/docs/user-guide/commands/argocd_app_list.md +++ b/docs/user-guide/commands/argocd_app_list.md @@ -50,12 +50,13 @@ argocd app list [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_logs.md b/docs/user-guide/commands/argocd_app_logs.md index 6d7d9159b0ad6..7ff6634577d4a 100644 --- a/docs/user-guide/commands/argocd_app_logs.md +++ b/docs/user-guide/commands/argocd_app_logs.md @@ -81,12 +81,13 @@ argocd app logs APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_manifests.md b/docs/user-guide/commands/argocd_app_manifests.md index e2cbe3bfb8c7a..c3283cc70fb79 100644 --- a/docs/user-guide/commands/argocd_app_manifests.md +++ b/docs/user-guide/commands/argocd_app_manifests.md @@ -53,12 +53,13 @@ argocd app manifests APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_patch-resource.md b/docs/user-guide/commands/argocd_app_patch-resource.md index 6e1f5a1f07485..b7da6c7090b74 100644 --- a/docs/user-guide/commands/argocd_app_patch-resource.md +++ b/docs/user-guide/commands/argocd_app_patch-resource.md @@ -38,12 +38,13 @@ argocd app patch-resource APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_patch.md b/docs/user-guide/commands/argocd_app_patch.md index 2ae3cb66450ef..b7df4a4faaf02 100644 --- a/docs/user-guide/commands/argocd_app_patch.md +++ b/docs/user-guide/commands/argocd_app_patch.md @@ -43,12 +43,13 @@ argocd app patch APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_remove-source.md b/docs/user-guide/commands/argocd_app_remove-source.md index 2b0aa9ec29841..c04950b550c69 100644 --- a/docs/user-guide/commands/argocd_app_remove-source.md +++ b/docs/user-guide/commands/argocd_app_remove-source.md @@ -43,12 +43,13 @@ argocd app remove-source APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_resources.md b/docs/user-guide/commands/argocd_app_resources.md index 52e8a21add314..e4d0548d88d18 100644 --- a/docs/user-guide/commands/argocd_app_resources.md +++ b/docs/user-guide/commands/argocd_app_resources.md @@ -33,12 +33,13 @@ argocd app resources APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_rollback.md b/docs/user-guide/commands/argocd_app_rollback.md index b79761ad04152..d85b87e377630 100644 --- a/docs/user-guide/commands/argocd_app_rollback.md +++ b/docs/user-guide/commands/argocd_app_rollback.md @@ -34,12 +34,13 @@ argocd app rollback APPNAME [ID] [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_set.md b/docs/user-guide/commands/argocd_app_set.md index f877155d3ea7e..8425e67b6b654 100644 --- a/docs/user-guide/commands/argocd_app_set.md +++ b/docs/user-guide/commands/argocd_app_set.md @@ -58,6 +58,7 @@ argocd app set APPNAME [flags] --helm-version string Helm version -h, --help help for set --hydrate-to-branch string The branch to hydrate the app to + --ignore-missing-components Ignore locally missing component directories when setting Kustomize components --ignore-missing-value-files Ignore locally missing valueFiles when setting helm template --values --jsonnet-ext-var-code stringArray Jsonnet ext var --jsonnet-ext-var-str stringArray Jsonnet string ext var @@ -118,12 +119,13 @@ argocd app set APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_sync.md b/docs/user-guide/commands/argocd_app_sync.md index 0a59bc8229334..e9f09603e0f83 100644 --- a/docs/user-guide/commands/argocd_app_sync.md +++ b/docs/user-guide/commands/argocd_app_sync.md @@ -90,12 +90,13 @@ argocd app sync [APPNAME... | -l selector | --project project-name] [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_terminate-op.md b/docs/user-guide/commands/argocd_app_terminate-op.md index 9f2dc0b75b59a..411198fc116b0 100644 --- a/docs/user-guide/commands/argocd_app_terminate-op.md +++ b/docs/user-guide/commands/argocd_app_terminate-op.md @@ -30,12 +30,13 @@ argocd app terminate-op APPNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_unset.md b/docs/user-guide/commands/argocd_app_unset.md index a4ff76356539c..65f6b293bf7fb 100644 --- a/docs/user-guide/commands/argocd_app_unset.md +++ b/docs/user-guide/commands/argocd_app_unset.md @@ -32,6 +32,7 @@ argocd app unset APPNAME parameters [flags] ``` -N, --app-namespace string Unset application parameters in namespace -h, --help help for unset + --ignore-missing-components Unset the kustomize ignore-missing-components option (revert to false) --ignore-missing-value-files Unset the helm ignore-missing-value-files option (revert to false) --kustomize-image stringArray Kustomize images name (e.g. --kustomize-image node --kustomize-image mysql) --kustomize-namespace Kustomize namespace @@ -64,12 +65,13 @@ argocd app unset APPNAME parameters [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_app_wait.md b/docs/user-guide/commands/argocd_app_wait.md index 1d706d1c660e6..12ba15262da41 100644 --- a/docs/user-guide/commands/argocd_app_wait.md +++ b/docs/user-guide/commands/argocd_app_wait.md @@ -69,12 +69,13 @@ argocd app wait [APPNAME.. | -l selector] [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_appset.md b/docs/user-guide/commands/argocd_appset.md index ec704ff00e456..ad19bfb8cca9e 100644 --- a/docs/user-guide/commands/argocd_appset.md +++ b/docs/user-guide/commands/argocd_appset.md @@ -65,12 +65,13 @@ argocd appset [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_appset_create.md b/docs/user-guide/commands/argocd_appset_create.md index 2be58b2fef27a..df0a41cca0403 100644 --- a/docs/user-guide/commands/argocd_appset_create.md +++ b/docs/user-guide/commands/argocd_appset_create.md @@ -43,12 +43,13 @@ argocd appset create [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_appset_delete.md b/docs/user-guide/commands/argocd_appset_delete.md index ffe684cfcc026..9339337d301a3 100644 --- a/docs/user-guide/commands/argocd_appset_delete.md +++ b/docs/user-guide/commands/argocd_appset_delete.md @@ -38,12 +38,13 @@ argocd appset delete [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_appset_generate.md b/docs/user-guide/commands/argocd_appset_generate.md index a4d94b4ee819e..a270058d7b257 100644 --- a/docs/user-guide/commands/argocd_appset_generate.md +++ b/docs/user-guide/commands/argocd_appset_generate.md @@ -38,12 +38,13 @@ argocd appset generate [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_appset_get.md b/docs/user-guide/commands/argocd_appset_get.md index 77229585df316..6f6913cb0933e 100644 --- a/docs/user-guide/commands/argocd_appset_get.md +++ b/docs/user-guide/commands/argocd_appset_get.md @@ -39,12 +39,13 @@ argocd appset get APPSETNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_appset_list.md b/docs/user-guide/commands/argocd_appset_list.md index 94cf39b238f68..6c5a30f1c36f1 100644 --- a/docs/user-guide/commands/argocd_appset_list.md +++ b/docs/user-guide/commands/argocd_appset_list.md @@ -41,12 +41,13 @@ argocd appset list [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_appset_update.md b/docs/user-guide/commands/argocd_appset_update.md index 37a7e5dbe2050..a7d39d9d8adb3 100644 --- a/docs/user-guide/commands/argocd_appset_update.md +++ b/docs/user-guide/commands/argocd_appset_update.md @@ -35,7 +35,7 @@ argocd appset update [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding diff --git a/docs/user-guide/commands/argocd_cert.md b/docs/user-guide/commands/argocd_cert.md index 06e7ce3635f61..7b14744912abb 100644 --- a/docs/user-guide/commands/argocd_cert.md +++ b/docs/user-guide/commands/argocd_cert.md @@ -72,12 +72,13 @@ argocd cert [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_cert_add-ssh.md b/docs/user-guide/commands/argocd_cert_add-ssh.md index 0f0ded047c148..abfb6831e56ab 100644 --- a/docs/user-guide/commands/argocd_cert_add-ssh.md +++ b/docs/user-guide/commands/argocd_cert_add-ssh.md @@ -33,12 +33,13 @@ argocd cert add-ssh --batch [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_cert_add-tls.md b/docs/user-guide/commands/argocd_cert_add-tls.md index 5f632b5be87fc..dcbd360d4d591 100644 --- a/docs/user-guide/commands/argocd_cert_add-tls.md +++ b/docs/user-guide/commands/argocd_cert_add-tls.md @@ -32,12 +32,13 @@ argocd cert add-tls SERVERNAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_cert_list.md b/docs/user-guide/commands/argocd_cert_list.md index be1dc138b1d10..2473f639b8a3f 100644 --- a/docs/user-guide/commands/argocd_cert_list.md +++ b/docs/user-guide/commands/argocd_cert_list.md @@ -34,12 +34,13 @@ argocd cert list [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_cert_rm.md b/docs/user-guide/commands/argocd_cert_rm.md index e88c116da61c5..b4d71ff5fd86c 100644 --- a/docs/user-guide/commands/argocd_cert_rm.md +++ b/docs/user-guide/commands/argocd_cert_rm.md @@ -32,12 +32,13 @@ argocd cert rm REPOSERVER [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_cluster.md b/docs/user-guide/commands/argocd_cluster.md index a7610f3bbbd2f..1563cc18a3dd2 100644 --- a/docs/user-guide/commands/argocd_cluster.md +++ b/docs/user-guide/commands/argocd_cluster.md @@ -69,12 +69,13 @@ argocd cluster [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_cluster_add.md b/docs/user-guide/commands/argocd_cluster_add.md index 5758aafd65e40..5487fc870c8cf 100644 --- a/docs/user-guide/commands/argocd_cluster_add.md +++ b/docs/user-guide/commands/argocd_cluster_add.md @@ -54,12 +54,13 @@ argocd cluster add CONTEXT [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_cluster_get.md b/docs/user-guide/commands/argocd_cluster_get.md index f2d9f83833a4e..23de30e5ce5eb 100644 --- a/docs/user-guide/commands/argocd_cluster_get.md +++ b/docs/user-guide/commands/argocd_cluster_get.md @@ -38,12 +38,13 @@ argocd cluster get in-cluster --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_cluster_list.md b/docs/user-guide/commands/argocd_cluster_list.md index eca386c105b94..0e66b18548ea6 100644 --- a/docs/user-guide/commands/argocd_cluster_list.md +++ b/docs/user-guide/commands/argocd_cluster_list.md @@ -53,12 +53,13 @@ argocd cluster list -o server --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_cluster_rm.md b/docs/user-guide/commands/argocd_cluster_rm.md index d8b0caa10fd63..b9281ab7f828f 100644 --- a/docs/user-guide/commands/argocd_cluster_rm.md +++ b/docs/user-guide/commands/argocd_cluster_rm.md @@ -38,12 +38,13 @@ argocd cluster rm cluster-name --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_cluster_rotate-auth.md b/docs/user-guide/commands/argocd_cluster_rotate-auth.md index 5f913ee491dfa..26a6c1805bf33 100644 --- a/docs/user-guide/commands/argocd_cluster_rotate-auth.md +++ b/docs/user-guide/commands/argocd_cluster_rotate-auth.md @@ -37,12 +37,13 @@ argocd cluster rotate-auth cluster-name --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_cluster_set.md b/docs/user-guide/commands/argocd_cluster_set.md index 42e50727b25a2..0a5429d4dd353 100644 --- a/docs/user-guide/commands/argocd_cluster_set.md +++ b/docs/user-guide/commands/argocd_cluster_set.md @@ -42,12 +42,13 @@ argocd cluster set NAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_completion.md b/docs/user-guide/commands/argocd_completion.md index f416b13b6457b..a83ef02d9b1e8 100644 --- a/docs/user-guide/commands/argocd_completion.md +++ b/docs/user-guide/commands/argocd_completion.md @@ -65,12 +65,13 @@ $ source ~/.config/fish/completions/argocd.fish --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_configure.md b/docs/user-guide/commands/argocd_configure.md index bfe7a08482eaf..d83e030595444 100644 --- a/docs/user-guide/commands/argocd_configure.md +++ b/docs/user-guide/commands/argocd_configure.md @@ -61,11 +61,12 @@ argocd configure --prompts-enabled=false --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_context.md b/docs/user-guide/commands/argocd_context.md index bcc0eda18505f..e75620e33766a 100644 --- a/docs/user-guide/commands/argocd_context.md +++ b/docs/user-guide/commands/argocd_context.md @@ -44,12 +44,13 @@ argocd context cd.argoproj.io --delete --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_gpg.md b/docs/user-guide/commands/argocd_gpg.md index 534d2ce271e60..ddd8c0f48fd03 100644 --- a/docs/user-guide/commands/argocd_gpg.md +++ b/docs/user-guide/commands/argocd_gpg.md @@ -49,12 +49,13 @@ argocd gpg [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_gpg_add.md b/docs/user-guide/commands/argocd_gpg_add.md index e01bb7b8739eb..3a504d067be7d 100644 --- a/docs/user-guide/commands/argocd_gpg_add.md +++ b/docs/user-guide/commands/argocd_gpg_add.md @@ -38,12 +38,13 @@ argocd gpg add [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_gpg_get.md b/docs/user-guide/commands/argocd_gpg_get.md index f3e254ed74427..d7089d32bc2ac 100644 --- a/docs/user-guide/commands/argocd_gpg_get.md +++ b/docs/user-guide/commands/argocd_gpg_get.md @@ -44,12 +44,13 @@ argocd gpg get KEYID [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_gpg_list.md b/docs/user-guide/commands/argocd_gpg_list.md index aa9e1fca92ccb..e008b595e9bf6 100644 --- a/docs/user-guide/commands/argocd_gpg_list.md +++ b/docs/user-guide/commands/argocd_gpg_list.md @@ -44,12 +44,13 @@ argocd gpg list [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_gpg_rm.md b/docs/user-guide/commands/argocd_gpg_rm.md index be828da1a753d..43a1c221cc0b4 100644 --- a/docs/user-guide/commands/argocd_gpg_rm.md +++ b/docs/user-guide/commands/argocd_gpg_rm.md @@ -30,12 +30,13 @@ argocd gpg rm KEYID [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_login.md b/docs/user-guide/commands/argocd_login.md index 5ea61dd623fcf..70c491a079f6c 100644 --- a/docs/user-guide/commands/argocd_login.md +++ b/docs/user-guide/commands/argocd_login.md @@ -54,12 +54,13 @@ argocd login cd.argoproj.io --core --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_logout.md b/docs/user-guide/commands/argocd_logout.md index 6caa721c7a44f..6eab9e7f5e09e 100644 --- a/docs/user-guide/commands/argocd_logout.md +++ b/docs/user-guide/commands/argocd_logout.md @@ -43,12 +43,13 @@ $ argocd logout --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj.md b/docs/user-guide/commands/argocd_proj.md index dabcf668c4fa4..65d581e70d8b1 100644 --- a/docs/user-guide/commands/argocd_proj.md +++ b/docs/user-guide/commands/argocd_proj.md @@ -65,12 +65,13 @@ argocd proj [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_add-destination-service-account.md b/docs/user-guide/commands/argocd_proj_add-destination-service-account.md index e08f7ae0e9e72..8eb2f5d043d13 100644 --- a/docs/user-guide/commands/argocd_proj_add-destination-service-account.md +++ b/docs/user-guide/commands/argocd_proj_add-destination-service-account.md @@ -41,12 +41,13 @@ argocd proj add-destination-service-account PROJECT SERVER NAMESPACE SERVICE_ACC --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_add-destination.md b/docs/user-guide/commands/argocd_proj_add-destination.md index c4c166cb97863..3b28f7a09569a 100644 --- a/docs/user-guide/commands/argocd_proj_add-destination.md +++ b/docs/user-guide/commands/argocd_proj_add-destination.md @@ -41,12 +41,13 @@ argocd proj add-destination PROJECT SERVER/NAME NAMESPACE [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_add-orphaned-ignore.md b/docs/user-guide/commands/argocd_proj_add-orphaned-ignore.md index 68a62f86fcf26..5ffaf8c25b971 100644 --- a/docs/user-guide/commands/argocd_proj_add-orphaned-ignore.md +++ b/docs/user-guide/commands/argocd_proj_add-orphaned-ignore.md @@ -41,12 +41,13 @@ argocd proj add-orphaned-ignore PROJECT GROUP KIND [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_add-signature-key.md b/docs/user-guide/commands/argocd_proj_add-signature-key.md index 6c560fdf2a945..10622640450b6 100644 --- a/docs/user-guide/commands/argocd_proj_add-signature-key.md +++ b/docs/user-guide/commands/argocd_proj_add-signature-key.md @@ -37,12 +37,13 @@ argocd proj add-signature-key PROJECT KEY-ID [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_add-source-namespace.md b/docs/user-guide/commands/argocd_proj_add-source-namespace.md index eba3d46dd29d7..5110e456177b7 100644 --- a/docs/user-guide/commands/argocd_proj_add-source-namespace.md +++ b/docs/user-guide/commands/argocd_proj_add-source-namespace.md @@ -37,12 +37,13 @@ argocd proj add-source-namespace PROJECT NAMESPACE [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_add-source.md b/docs/user-guide/commands/argocd_proj_add-source.md index 7d5d5b15d322a..c4a39191fb649 100644 --- a/docs/user-guide/commands/argocd_proj_add-source.md +++ b/docs/user-guide/commands/argocd_proj_add-source.md @@ -37,12 +37,13 @@ argocd proj add-source PROJECT URL [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_allow-cluster-resource.md b/docs/user-guide/commands/argocd_proj_allow-cluster-resource.md index 0e8be1db34aeb..c6b0f4b6c5e07 100644 --- a/docs/user-guide/commands/argocd_proj_allow-cluster-resource.md +++ b/docs/user-guide/commands/argocd_proj_allow-cluster-resource.md @@ -38,12 +38,13 @@ argocd proj allow-cluster-resource PROJECT GROUP KIND [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_allow-namespace-resource.md b/docs/user-guide/commands/argocd_proj_allow-namespace-resource.md index b20ddaeee8c38..4308db6a6de06 100644 --- a/docs/user-guide/commands/argocd_proj_allow-namespace-resource.md +++ b/docs/user-guide/commands/argocd_proj_allow-namespace-resource.md @@ -38,12 +38,13 @@ argocd proj allow-namespace-resource PROJECT GROUP KIND [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_create.md b/docs/user-guide/commands/argocd_proj_create.md index e0c67c4341d06..4bb0eb1127f05 100644 --- a/docs/user-guide/commands/argocd_proj_create.md +++ b/docs/user-guide/commands/argocd_proj_create.md @@ -54,12 +54,13 @@ argocd proj create PROJECT [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_delete.md b/docs/user-guide/commands/argocd_proj_delete.md index a6dbd082087f2..1a244318fcc17 100644 --- a/docs/user-guide/commands/argocd_proj_delete.md +++ b/docs/user-guide/commands/argocd_proj_delete.md @@ -37,12 +37,13 @@ argocd proj delete PROJECT [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_deny-cluster-resource.md b/docs/user-guide/commands/argocd_proj_deny-cluster-resource.md index e32e517366758..291fd6fd529c1 100644 --- a/docs/user-guide/commands/argocd_proj_deny-cluster-resource.md +++ b/docs/user-guide/commands/argocd_proj_deny-cluster-resource.md @@ -38,12 +38,13 @@ argocd proj deny-cluster-resource PROJECT GROUP KIND [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_deny-namespace-resource.md b/docs/user-guide/commands/argocd_proj_deny-namespace-resource.md index fd4214de5b32d..6f4a7772b95a3 100644 --- a/docs/user-guide/commands/argocd_proj_deny-namespace-resource.md +++ b/docs/user-guide/commands/argocd_proj_deny-namespace-resource.md @@ -38,12 +38,13 @@ argocd proj deny-namespace-resource PROJECT GROUP KIND [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_edit.md b/docs/user-guide/commands/argocd_proj_edit.md index c6258e6a40541..7c9e744c087f6 100644 --- a/docs/user-guide/commands/argocd_proj_edit.md +++ b/docs/user-guide/commands/argocd_proj_edit.md @@ -37,12 +37,13 @@ argocd proj edit PROJECT [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_get.md b/docs/user-guide/commands/argocd_proj_get.md index 174085dbe4827..e1beec34afd47 100644 --- a/docs/user-guide/commands/argocd_proj_get.md +++ b/docs/user-guide/commands/argocd_proj_get.md @@ -41,12 +41,13 @@ argocd proj get PROJECT [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_list.md b/docs/user-guide/commands/argocd_proj_list.md index a64529f40b304..e8049d3c16ffa 100644 --- a/docs/user-guide/commands/argocd_proj_list.md +++ b/docs/user-guide/commands/argocd_proj_list.md @@ -41,12 +41,13 @@ argocd proj list [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_remove-destination-service-account.md b/docs/user-guide/commands/argocd_proj_remove-destination-service-account.md index 4759c7874f7b3..360404aa009a4 100644 --- a/docs/user-guide/commands/argocd_proj_remove-destination-service-account.md +++ b/docs/user-guide/commands/argocd_proj_remove-destination-service-account.md @@ -37,12 +37,13 @@ argocd proj remove-destination-service-account PROJECT SERVER NAMESPACE SERVICE_ --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_remove-destination.md b/docs/user-guide/commands/argocd_proj_remove-destination.md index fa1f8f3ded5e9..ae548194fa4f9 100644 --- a/docs/user-guide/commands/argocd_proj_remove-destination.md +++ b/docs/user-guide/commands/argocd_proj_remove-destination.md @@ -37,12 +37,13 @@ argocd proj remove-destination PROJECT SERVER NAMESPACE [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_remove-orphaned-ignore.md b/docs/user-guide/commands/argocd_proj_remove-orphaned-ignore.md index 3bb0efc7fd2e6..8aa431ccd44b9 100644 --- a/docs/user-guide/commands/argocd_proj_remove-orphaned-ignore.md +++ b/docs/user-guide/commands/argocd_proj_remove-orphaned-ignore.md @@ -41,12 +41,13 @@ argocd proj remove-orphaned-ignore PROJECT GROUP KIND [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_remove-signature-key.md b/docs/user-guide/commands/argocd_proj_remove-signature-key.md index 55f97f35963f4..cdc7ff68d81e3 100644 --- a/docs/user-guide/commands/argocd_proj_remove-signature-key.md +++ b/docs/user-guide/commands/argocd_proj_remove-signature-key.md @@ -37,12 +37,13 @@ argocd proj remove-signature-key PROJECT KEY-ID [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_remove-source-namespace.md b/docs/user-guide/commands/argocd_proj_remove-source-namespace.md index 32b886452f783..730b971f2195a 100644 --- a/docs/user-guide/commands/argocd_proj_remove-source-namespace.md +++ b/docs/user-guide/commands/argocd_proj_remove-source-namespace.md @@ -37,12 +37,13 @@ argocd proj remove-source-namespace PROJECT NAMESPACE [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_remove-source.md b/docs/user-guide/commands/argocd_proj_remove-source.md index fa82af4de5ec4..4fa51746b1632 100644 --- a/docs/user-guide/commands/argocd_proj_remove-source.md +++ b/docs/user-guide/commands/argocd_proj_remove-source.md @@ -37,12 +37,13 @@ argocd proj remove-source PROJECT URL [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_role.md b/docs/user-guide/commands/argocd_proj_role.md index 569d5a018d066..094d7025b5c86 100644 --- a/docs/user-guide/commands/argocd_proj_role.md +++ b/docs/user-guide/commands/argocd_proj_role.md @@ -30,12 +30,13 @@ argocd proj role [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_role_add-group.md b/docs/user-guide/commands/argocd_proj_role_add-group.md index 358a7b577c75d..4fdc6d9d8a3b5 100644 --- a/docs/user-guide/commands/argocd_proj_role_add-group.md +++ b/docs/user-guide/commands/argocd_proj_role_add-group.md @@ -30,12 +30,13 @@ argocd proj role add-group PROJECT ROLE-NAME GROUP-CLAIM [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_role_add-policy.md b/docs/user-guide/commands/argocd_proj_role_add-policy.md index a9bf86afb8be8..36d2b4f07c55a 100644 --- a/docs/user-guide/commands/argocd_proj_role_add-policy.md +++ b/docs/user-guide/commands/argocd_proj_role_add-policy.md @@ -62,12 +62,13 @@ ID ISSUED-AT EXPIRES-AT --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_role_create-token.md b/docs/user-guide/commands/argocd_proj_role_create-token.md index cc2fbc5669378..b274ef62917ee 100644 --- a/docs/user-guide/commands/argocd_proj_role_create-token.md +++ b/docs/user-guide/commands/argocd_proj_role_create-token.md @@ -45,12 +45,13 @@ Create token succeeded for proj:test-project:test-role. --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_role_create.md b/docs/user-guide/commands/argocd_proj_role_create.md index 183ca1e854587..32bd25d43cf19 100644 --- a/docs/user-guide/commands/argocd_proj_role_create.md +++ b/docs/user-guide/commands/argocd_proj_role_create.md @@ -38,12 +38,13 @@ argocd proj role create PROJECT ROLE-NAME [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_role_delete-token.md b/docs/user-guide/commands/argocd_proj_role_delete-token.md index bab188e943610..38f31b5779b55 100644 --- a/docs/user-guide/commands/argocd_proj_role_delete-token.md +++ b/docs/user-guide/commands/argocd_proj_role_delete-token.md @@ -62,12 +62,13 @@ $ argocd proj role delete-token test-project test-role 1696769937 --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_role_delete.md b/docs/user-guide/commands/argocd_proj_role_delete.md index 5db679d6747f4..572c0e4fb702f 100644 --- a/docs/user-guide/commands/argocd_proj_role_delete.md +++ b/docs/user-guide/commands/argocd_proj_role_delete.md @@ -36,12 +36,13 @@ $ argocd proj role delete test-project test-role --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_role_get.md b/docs/user-guide/commands/argocd_proj_role_get.md index 5355878ae4a1c..6d652760444b2 100644 --- a/docs/user-guide/commands/argocd_proj_role_get.md +++ b/docs/user-guide/commands/argocd_proj_role_get.md @@ -45,12 +45,13 @@ ID ISSUED-AT EXPIRES-AT --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_role_list-tokens.md b/docs/user-guide/commands/argocd_proj_role_list-tokens.md index e8a921c827cb8..1ce7bf3affdc1 100644 --- a/docs/user-guide/commands/argocd_proj_role_list-tokens.md +++ b/docs/user-guide/commands/argocd_proj_role_list-tokens.md @@ -41,12 +41,13 @@ fa9d3517-c52d-434c-9bff-215b38508842 2023-10-08T11:08:18+01:00 Never --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_role_list.md b/docs/user-guide/commands/argocd_proj_role_list.md index f145895481ad9..e99d61d0be80e 100644 --- a/docs/user-guide/commands/argocd_proj_role_list.md +++ b/docs/user-guide/commands/argocd_proj_role_list.md @@ -41,12 +41,13 @@ argocd proj role list PROJECT [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_role_remove-group.md b/docs/user-guide/commands/argocd_proj_role_remove-group.md index 5e87b5e464108..daf888b42c29c 100644 --- a/docs/user-guide/commands/argocd_proj_role_remove-group.md +++ b/docs/user-guide/commands/argocd_proj_role_remove-group.md @@ -30,12 +30,13 @@ argocd proj role remove-group PROJECT ROLE-NAME GROUP-CLAIM [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_role_remove-policy.md b/docs/user-guide/commands/argocd_proj_role_remove-policy.md index bde77723c161d..9de0fc478d170 100644 --- a/docs/user-guide/commands/argocd_proj_role_remove-policy.md +++ b/docs/user-guide/commands/argocd_proj_role_remove-policy.md @@ -62,12 +62,13 @@ ID ISSUED-AT EXPIRES-AT --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_set.md b/docs/user-guide/commands/argocd_proj_set.md index 4dde97b5ccd2a..ee8854a407123 100644 --- a/docs/user-guide/commands/argocd_proj_set.md +++ b/docs/user-guide/commands/argocd_proj_set.md @@ -52,12 +52,13 @@ argocd proj set PROJECT [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_windows.md b/docs/user-guide/commands/argocd_proj_windows.md index 4b8018ccead44..18b010861d7ec 100644 --- a/docs/user-guide/commands/argocd_proj_windows.md +++ b/docs/user-guide/commands/argocd_proj_windows.md @@ -47,12 +47,13 @@ argocd proj windows list --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_windows_add.md b/docs/user-guide/commands/argocd_proj_windows_add.md index c079fa1f69efa..6b6bc411f95e8 100644 --- a/docs/user-guide/commands/argocd_proj_windows_add.md +++ b/docs/user-guide/commands/argocd_proj_windows_add.md @@ -43,6 +43,7 @@ argocd proj windows add PROJECT \ --namespaces strings Namespaces that the schedule will be applied to. Comma separated, wildcards supported (e.g. --namespaces default,\*-prod) --schedule string Sync window schedule in cron format. (e.g. --schedule "0 22 * * *") --time-zone string Time zone of the sync window (default "UTC") + --use-and-operator Use AND operator for matching applications, namespaces and clusters instead of the default OR operator ``` ### Options inherited from parent commands @@ -61,12 +62,13 @@ argocd proj windows add PROJECT \ --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_windows_delete.md b/docs/user-guide/commands/argocd_proj_windows_delete.md index 9807fdf30b351..19e1124bb003b 100644 --- a/docs/user-guide/commands/argocd_proj_windows_delete.md +++ b/docs/user-guide/commands/argocd_proj_windows_delete.md @@ -41,12 +41,13 @@ argocd proj windows delete new-project 1 --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_windows_disable-manual-sync.md b/docs/user-guide/commands/argocd_proj_windows_disable-manual-sync.md index dd3bcecb721b5..bf49b967df758 100644 --- a/docs/user-guide/commands/argocd_proj_windows_disable-manual-sync.md +++ b/docs/user-guide/commands/argocd_proj_windows_disable-manual-sync.md @@ -45,12 +45,13 @@ argocd proj windows disable-manual-sync default 0 --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_windows_enable-manual-sync.md b/docs/user-guide/commands/argocd_proj_windows_enable-manual-sync.md index 3061dd717d8e9..f93651c21395f 100644 --- a/docs/user-guide/commands/argocd_proj_windows_enable-manual-sync.md +++ b/docs/user-guide/commands/argocd_proj_windows_enable-manual-sync.md @@ -48,12 +48,13 @@ argocd proj windows enable-manual-sync my-app-project --message "Manual sync ini --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_windows_list.md b/docs/user-guide/commands/argocd_proj_windows_list.md index a233938e6eab5..ce454b05b4004 100644 --- a/docs/user-guide/commands/argocd_proj_windows_list.md +++ b/docs/user-guide/commands/argocd_proj_windows_list.md @@ -45,12 +45,13 @@ argocd proj windows list test-project --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_proj_windows_update.md b/docs/user-guide/commands/argocd_proj_windows_update.md index 48334affa06a6..9c26226decb24 100644 --- a/docs/user-guide/commands/argocd_proj_windows_update.md +++ b/docs/user-guide/commands/argocd_proj_windows_update.md @@ -49,12 +49,13 @@ argocd proj windows update PROJECT ID \ --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_relogin.md b/docs/user-guide/commands/argocd_relogin.md index 20f8dfc572253..6efedd3406304 100644 --- a/docs/user-guide/commands/argocd_relogin.md +++ b/docs/user-guide/commands/argocd_relogin.md @@ -54,12 +54,13 @@ argocd login cd.argoproj.io --core --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_repo.md b/docs/user-guide/commands/argocd_repo.md index ac6b1338bc1bb..58367f8241a6e 100644 --- a/docs/user-guide/commands/argocd_repo.md +++ b/docs/user-guide/commands/argocd_repo.md @@ -67,12 +67,13 @@ argocd repo rm https://github.com/yourusername/your-repo.git --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_repo_add.md b/docs/user-guide/commands/argocd_repo_add.md index ecaab607b1caf..4dbbbb36f966b 100644 --- a/docs/user-guide/commands/argocd_repo_add.md +++ b/docs/user-guide/commands/argocd_repo_add.md @@ -93,12 +93,13 @@ argocd repo add REPOURL [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_repo_get.md b/docs/user-guide/commands/argocd_repo_get.md index dadd40f52b208..2f5191f8eebe7 100644 --- a/docs/user-guide/commands/argocd_repo_get.md +++ b/docs/user-guide/commands/argocd_repo_get.md @@ -33,12 +33,13 @@ argocd repo get [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_repo_list.md b/docs/user-guide/commands/argocd_repo_list.md index 9f99be3b3e1e2..b2d620ec28549 100644 --- a/docs/user-guide/commands/argocd_repo_list.md +++ b/docs/user-guide/commands/argocd_repo_list.md @@ -32,12 +32,13 @@ argocd repo list [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_repo_rm.md b/docs/user-guide/commands/argocd_repo_rm.md index 78142f9a4bf3d..d55bdca01f6d4 100644 --- a/docs/user-guide/commands/argocd_repo_rm.md +++ b/docs/user-guide/commands/argocd_repo_rm.md @@ -31,12 +31,13 @@ argocd repo rm REPO [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_repocreds.md b/docs/user-guide/commands/argocd_repocreds.md index a5ddfde9c85d8..7eb62f931999d 100644 --- a/docs/user-guide/commands/argocd_repocreds.md +++ b/docs/user-guide/commands/argocd_repocreds.md @@ -62,12 +62,13 @@ argocd repocreds [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_repocreds_add.md b/docs/user-guide/commands/argocd_repocreds_add.md index e894ff8c49418..10d42f3c8a9b0 100644 --- a/docs/user-guide/commands/argocd_repocreds_add.md +++ b/docs/user-guide/commands/argocd_repocreds_add.md @@ -69,12 +69,13 @@ argocd repocreds add REPOURL [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_repocreds_list.md b/docs/user-guide/commands/argocd_repocreds_list.md index b38ea1a3a2960..ef4fe2469d93b 100644 --- a/docs/user-guide/commands/argocd_repocreds_list.md +++ b/docs/user-guide/commands/argocd_repocreds_list.md @@ -47,12 +47,13 @@ argocd repocreds list [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_repocreds_rm.md b/docs/user-guide/commands/argocd_repocreds_rm.md index 960c770907c6e..e2610cd48df19 100644 --- a/docs/user-guide/commands/argocd_repocreds_rm.md +++ b/docs/user-guide/commands/argocd_repocreds_rm.md @@ -37,12 +37,13 @@ argocd repocreds rm CREDSURL [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/commands/argocd_version.md b/docs/user-guide/commands/argocd_version.md index ed6f9bf5f76e4..5a248d1416e7e 100644 --- a/docs/user-guide/commands/argocd_version.md +++ b/docs/user-guide/commands/argocd_version.md @@ -69,12 +69,13 @@ argocd version [flags] --http-retry-max int Maximum number of retries to establish http connection to Argo CD server --insecure Skip server certificate and domain verification --kube-context string Directs the command to the given kube-context - --logformat string Set the logging format. One of: text|json (default "text") + --logformat string Set the logging format. One of: json|text (default "json") --loglevel string Set the logging level. One of: debug|info|warn|error (default "info") --plaintext Disable TLS --port-forward Connect to a random argocd-server port using port forwarding --port-forward-namespace string Namespace name which should be used for port forwarding --prompts-enabled Force optional interactive prompts to be enabled or disabled, overriding local configuration. If not specified, the local configuration value will be used, which is false by default. + --redis-compress string Enable this if the application controller is configured with redis compression enabled. (possible values: gzip, none) (default "gzip") --redis-haproxy-name string Name of the Redis HA Proxy; set this or the ARGOCD_REDIS_HAPROXY_NAME environment variable when the HA Proxy's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis-ha-haproxy") --redis-name string Name of the Redis deployment; set this or the ARGOCD_REDIS_NAME environment variable when the Redis's name label differs from the default, for example when installing via the Helm chart (default "argocd-redis") --repo-server-name string Name of the Argo CD Repo server; set this or the ARGOCD_REPO_SERVER_NAME environment variable when the server's name label differs from the default, for example when installing via the Helm chart (default "argocd-repo-server") diff --git a/docs/user-guide/kustomize.md b/docs/user-guide/kustomize.md index 100622cf03ea8..bb6663c0b7b29 100644 --- a/docs/user-guide/kustomize.md +++ b/docs/user-guide/kustomize.md @@ -37,6 +37,7 @@ The following configuration options are available for Kustomize: * `commonAnnotationsEnvsubst` is a boolean value which enables env variables substition in annotation values * `patches` is a list of Kustomize patches that supports inline updates * `components` is a list of Kustomize components +* `ignoreMissingComponents` prevents kustomize from failing when components do not exist locally by not appending them to kustomization file To use Kustomize with an overlay, point your path to the overlay. @@ -130,7 +131,8 @@ spec: ``` ## Components -Kustomize [components](https://github.com/kubernetes-sigs/kustomize/blob/master/examples/components.md) encapsulate both resources and patches together. They provide a powerful way to modularize and reuse configuration in Kubernetes applications. +Kustomize [components](https://github.com/kubernetes-sigs/kustomize/blob/master/examples/components.md) encapsulate both resources and patches together. They provide a powerful way to modularize and reuse configuration in Kubernetes applications. +If Kustomize is passed a non-existing component directory, it will error out. Missing component directories can be ignored (meaning, not passed to Kustomize) using `ignoreMissingComponents`. This can be particularly helpful to implement a [default/override pattern]. Outside of Argo CD, to utilize components, you must add the following to the `kustomization.yaml` that the Application references. For example: ```yaml @@ -158,6 +160,7 @@ spec: kustomize: components: - ../component # relative to the kustomization.yaml (`source.path`). + ignoreMissingComponents: true ``` ## Private Remote Bases diff --git a/docs/user-guide/projects.md b/docs/user-guide/projects.md index 5a8fc9a01a204..52eeaf06cf73e 100644 --- a/docs/user-guide/projects.md +++ b/docs/user-guide/projects.md @@ -315,9 +315,10 @@ stringData: ``` !!! warning -Please keep in mind when using a project-scoped repository, only applications from the same project can make use of -it. When using applicationsets with the Git generator, only non-scoped repositories can be used (i.e. repositories that -do _not_ have a `project` set). +Please keep in mind when using a project-scoped repository, only applications or applicationsets with a matching project +name can make use of it. When using an applicationset with a Git generator that also makes use of a templated `project` +(i.e. it contains ``{{ ... }}``) only non-scoped repositories can be used with the applicationset (i.e. repositories +that do _not_ have a `project` set). All the examples above talk about Git repositories, but the same principles apply to clusters as well. diff --git a/docs/user-guide/source-hydrator.md b/docs/user-guide/source-hydrator.md index c69d0bac5c79f..2501cab342cce 100644 --- a/docs/user-guide/source-hydrator.md +++ b/docs/user-guide/source-hydrator.md @@ -194,5 +194,5 @@ Examples of non-deterministic hydration: Argo CD should be the only thing pushing hydrated manifests to the hydrated branches. To prevent other tools or users from pushing to the hydrated branches, enable branch protection in your SCM. -It is best practice to prefix the hydrated branches with a common prefix, such as `environment/`. This makes it easier +It is best practice to prefix the hydrated branches with a common prefix, such as `environments/`. This makes it easier to configure branch protection rules on the destination repository. diff --git a/docs/user-guide/sync_windows.md b/docs/user-guide/sync_windows.md index a786d158ffd23..e39ad150f405f 100644 --- a/docs/user-guide/sync_windows.md +++ b/docs/user-guide/sync_windows.md @@ -2,7 +2,9 @@ Sync windows are configurable windows of time where syncs will either be blocked or allowed. These are defined by a kind, which can be either `allow` or `deny`, a `schedule` in cron format and a duration along with one or -more of either `applications`, `namespaces` and `clusters`. Wildcards are supported. +more of either `applications`, `namespaces` and `clusters`. If more than one option is specified, by default, the enabled options will +be OR-ed. If you want to AND the options, you can tick the `Use AND operator` option. +Wildcards are supported. ## Relationship between Sync Windows and Applications @@ -26,9 +28,9 @@ then the Application is affected by the Sync Window. ## Effect of Sync Windows -These windows affect the running -of both manual and automated syncs but allow an override for manual syncs which is useful if you are only interested -in preventing automated syncs or if you need to temporarily override a window to perform a sync. +These windows affect the running of both manual and automated syncs but allow an override +for manual syncs which is useful if you are only interested in preventing automated syncs or if you need to temporarily +override a window to perform a sync. The windows work in the following way. If there are no windows matching an application then all syncs are allowed. If there are any `allow` windows matching an application then syncs will only be allowed when there is an active `allow` window. If there diff --git a/go.mod b/go.mod index e744c5a77c96d..11e74fe2d58ca 100644 --- a/go.mod +++ b/go.mod @@ -5,15 +5,15 @@ go 1.22.0 require ( code.gitea.io/sdk/gitea v0.20.0 dario.cat/mergo v1.0.1 - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0 - github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0 + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.17.0 + github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.1 github.com/Azure/kubelogin v0.1.6 github.com/Masterminds/semver/v3 v3.3.1 github.com/Masterminds/sprig/v3 v3.3.0 github.com/TomOnTime/utfutil v0.0.0-20180511104225-09c41003ee1d github.com/alicebob/miniredis/v2 v2.34.0 github.com/antonmedv/expr v1.15.1 - github.com/argoproj/gitops-engine v0.7.1-0.20250129155113-7e21b91e9d0f + github.com/argoproj/gitops-engine v0.7.1-0.20250207220447-65db274b8d73 github.com/argoproj/notifications-engine v0.4.1-0.20241007194503-2fef5c9049fd github.com/argoproj/pkg v0.13.7-0.20230626144333-d56162821bd1 github.com/aws/aws-sdk-go v1.55.6 @@ -76,7 +76,7 @@ require ( github.com/skratchdot/open-golang v0.0.0-20160302144031-75fb7ed4208c github.com/soheilhy/cmux v0.1.5 github.com/spf13/cobra v1.8.1 - github.com/spf13/pflag v1.0.5 + github.com/spf13/pflag v1.0.6 github.com/stretchr/testify v1.10.0 github.com/valyala/fasttemplate v1.2.2 github.com/yuin/gopher-lua v1.1.1 @@ -88,13 +88,13 @@ require ( golang.org/x/crypto v0.32.0 golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f golang.org/x/net v0.34.0 - golang.org/x/oauth2 v0.25.0 - golang.org/x/sync v0.10.0 - golang.org/x/term v0.28.0 - golang.org/x/time v0.9.0 - google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28 - google.golang.org/grpc v1.69.4 - google.golang.org/protobuf v1.36.4 + golang.org/x/oauth2 v0.26.0 + golang.org/x/sync v0.11.0 + golang.org/x/term v0.29.0 + golang.org/x/time v0.10.0 + google.golang.org/genproto/googleapis/api v0.0.0-20241202173237-19429a94021a + google.golang.org/grpc v1.70.0 + google.golang.org/protobuf v1.36.5 gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v3 v3.0.1 k8s.io/api v0.31.0 @@ -117,7 +117,7 @@ require ( require ( github.com/42wim/httpsig v1.2.1 // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect - github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect + github.com/AzureAD/microsoft-authentication-library-for-go v1.3.2 // indirect github.com/aws/aws-sdk-go-v2 v1.24.1 // indirect github.com/aws/aws-sdk-go-v2/config v1.25.12 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.16.16 // indirect @@ -153,12 +153,12 @@ require ( go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 // indirect go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect golang.org/x/mod v0.22.0 // indirect - golang.org/x/sys v0.29.0 // indirect + golang.org/x/sys v0.30.0 // indirect golang.org/x/text v0.21.0 // indirect golang.org/x/tools v0.27.0 // indirect google.golang.org/api v0.171.0 // indirect google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/retry.v1 v1.0.3 // indirect k8s.io/gengo/v2 v2.0.0-20240228010128-51d4e06bde70 // indirect @@ -194,7 +194,7 @@ require ( github.com/dlclark/regexp2 v1.11.4 github.com/emicklei/go-restful/v3 v3.11.0 // indirect github.com/emirpasic/gods v1.18.1 // indirect - github.com/evanphx/json-patch/v5 v5.9.0 // indirect + github.com/evanphx/json-patch/v5 v5.9.11 // indirect github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d // indirect github.com/fatih/camelcase v1.0.0 // indirect github.com/ghodss/yaml v1.0.0 // indirect @@ -211,7 +211,7 @@ require ( github.com/go-openapi/swag v0.23.0 // indirect github.com/go-openapi/validate v0.24.0 // indirect github.com/go-telegram-bot-api/telegram-bot-api/v5 v5.5.1 // indirect - github.com/golang/glog v1.2.2 // indirect + github.com/golang/glog v1.2.4 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/google/go-github/v41 v41.0.0 // indirect github.com/google/go-querystring v1.1.0 // indirect diff --git a/go.sum b/go.sum index d412fbe9ab079..23f5ebeb4d0cc 100644 --- a/go.sum +++ b/go.sum @@ -10,12 +10,12 @@ dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/42wim/httpsig v1.2.1 h1:oLBxptMe9U4ZmSGtkosT8Dlfg31P3VQnAGq6psXv82Y= github.com/42wim/httpsig v1.2.1/go.mod h1:P/UYo7ytNBFwc+dg35IubuAUIs8zj5zzFIgUCEl55WY= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0 h1:nyQWyZvwGTvunIMxi1Y9uXkcyr+I7TeNrr/foo4Kpk8= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0/go.mod h1:l38EPgmsp71HHLq9j7De57JcKOWPyhrsW1Awm1JS6K0= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0 h1:B/dfvscEQtew9dVuoxqxrUKKv8Ih2f55PydknDamU+g= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0/go.mod h1:fiPSssYvltE08HJchL04dOy+RD4hgrjph0cwGGMntdI= -github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.0 h1:+m0M/LFxN43KvULkDNfdXOgrjtg6UYJPFBJyuEcRCAw= -github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.0/go.mod h1:PwOyop78lveYMRs6oCxjiVyBdyCgIYH6XHIVZO9/SFQ= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.17.0 h1:g0EZJwz7xkXQiZAI5xi9f3WWFYBlX1CPTrR+NDToRkQ= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.17.0/go.mod h1:XCW7KnZet0Opnr7HccfUw1PLc4CjHqpcaxW8DHklNkQ= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.1 h1:1mvYtZfWQAnwNah/C+Z+Jb9rQH95LPE2vlmMuWAHJk8= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.1/go.mod h1:75I/mXtme1JyWFtz8GocPHVFyH421IBoZErnO16dd0k= +github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.1 h1:Bk5uOhSAenHyR5P61D/NzeQCv+4fEVV8mOkJ82NqpWw= +github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.1/go.mod h1:QZ4pw3or1WPmRBxf0cHd1tknzrT54WPBOQoGutCPvSU= github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 h1:ywEEhmNahHBihViHepv3xPBn1663uRv2t2q/ESv9seY= github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0/go.mod h1:iZDifYGJTIgIIkYRNWPENUnqx6bJ2xnSDFI2tjwZNuY= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= @@ -40,8 +40,8 @@ github.com/Azure/kubelogin v0.1.6 h1:2TK38wwjODYVWlHuI7wijwGmsigpDkXWmy9eqXBmMnw github.com/Azure/kubelogin v0.1.6/go.mod h1:NxlvRs9CambNudRXrk63zpPgG7PHzqZwsn0v82cuFRE= github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1 h1:WJTmL004Abzc5wDB5VtZG2PJk5ndYDgVacGqfirKxjM= github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1/go.mod h1:tCcJZ0uHAmvjsVYzEFivsRTN00oz5BEsRgQHu5JZ9WE= -github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 h1:XHOnouVk1mxXfQidrMEnLlPk9UMeRtyBTnEFtxkV0kU= -github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= +github.com/AzureAD/microsoft-authentication-library-for-go v1.3.2 h1:kYRSnvJju5gYVyhkij+RTJ/VR6QIUaCfWeaFm2ycsjQ= +github.com/AzureAD/microsoft-authentication-library-for-go v1.3.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Jeffail/gabs v1.4.0 h1://5fYRRTq1edjfIrQGvdkcd22pkYUrHZ5YC/H2GJVAo= @@ -90,8 +90,8 @@ github.com/antonmedv/expr v1.15.1/go.mod h1:0E/6TxnOlRNp81GMzX9QfDPAmHo2Phg00y4J github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/appscode/go v0.0.0-20191119085241-0887d8ec2ecc/go.mod h1:OawnOmAL4ZX3YaPdN+8HTNwBveT1jMsqP74moa9XUbE= -github.com/argoproj/gitops-engine v0.7.1-0.20250129155113-7e21b91e9d0f h1:6amQW2gmWyBr/3xz/YzpgrQ+91xKxtpaWiLBkgjjV8o= -github.com/argoproj/gitops-engine v0.7.1-0.20250129155113-7e21b91e9d0f/go.mod h1:WsnykM8idYRUnneeT31cM/Fq/ZsjkefCbjiD8ioCJkU= +github.com/argoproj/gitops-engine v0.7.1-0.20250207220447-65db274b8d73 h1:OdAuLtAjJQNnZI3lbskJ9xvASvpHbTgQ5ONEbwm6jD0= +github.com/argoproj/gitops-engine v0.7.1-0.20250207220447-65db274b8d73/go.mod h1:h4Klm/rHWHcRJZJjsSkAxq61/SqdbPG0ef/SO2QYTks= github.com/argoproj/notifications-engine v0.4.1-0.20241007194503-2fef5c9049fd h1:lOVVoK89j9Nd4+JYJiKAaMNYC1402C0jICROOfUPWn0= github.com/argoproj/notifications-engine v0.4.1-0.20241007194503-2fef5c9049fd/go.mod h1:N0A4sEws2soZjEpY4hgZpQS8mRIEw6otzwfkgc3g9uQ= github.com/argoproj/pkg v0.13.7-0.20230626144333-d56162821bd1 h1:qsHwwOJ21K2Ao0xPju1sNuqphyMnMYkyB3ZLoLtxWpo= @@ -249,8 +249,8 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/evanphx/json-patch v5.9.11+incompatible h1:ixHHqfcGvxhWkniF1tWxBHA0yb4Z+d1UQi45df52xW8= github.com/evanphx/json-patch v5.9.11+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0/FOJfg= -github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ= +github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU= +github.com/evanphx/json-patch/v5 v5.9.11/go.mod h1:3j+LviiESTElxA4p3EMKAB9HXj3/XEtnUf6OZxqIQTM= github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d h1:105gxyaGwCFad8crR9dcMQWvV9Hvulu6hwUh4tWPJnM= github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d/go.mod h1:ZZMPRZwes7CROmyNKgQzC3XPs6L/G2EJLHddWejkmf4= github.com/expr-lang/expr v1.16.9 h1:WUAzmR0JNI9JCiF0/ewwHB1gmcGw5wW7nWt8gc6PpCI= @@ -396,8 +396,8 @@ github.com/golang-jwt/jwt/v4 v4.5.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY= -github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/glog v1.2.4 h1:CNNw5U8lSiiBk7druxtSHHTsRWcxKoac6kZKm2peBBc= +github.com/golang/glog v1.2.4/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -908,8 +908,9 @@ github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= +github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf/go.mod h1:RJID2RhlZKId02nZ62WenDCkgHFerpIOmW0iT7GKmXM= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= @@ -991,8 +992,8 @@ go.opentelemetry.io/otel/metric v1.33.0 h1:r+JOocAyeRVXD8lZpjdQjzMadVZp2M4WmQ+5W go.opentelemetry.io/otel/metric v1.33.0/go.mod h1:L9+Fyctbp6HFTddIxClbQkjtubW6O9QS3Ann/M82u6M= go.opentelemetry.io/otel/sdk v1.33.0 h1:iax7M131HuAm9QkZotNHEfstof92xM+N8sr3uHXc2IM= go.opentelemetry.io/otel/sdk v1.33.0/go.mod h1:A1Q5oi7/9XaMlIWzPSxLRWOI8nG3FnzHJNbiENQuihM= -go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= -go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/sdk/metric v1.32.0 h1:rZvFnvmvawYb0alrYkjraqJq0Z4ZUJAiyYCU9snn1CU= +go.opentelemetry.io/otel/sdk/metric v1.32.0/go.mod h1:PWeZlq0zt9YkYAp3gjKZ0eicRYvOh1Gd+X99x6GHpCQ= go.opentelemetry.io/otel/trace v1.33.0 h1:cCJuF7LRjUFso9LPnEAHJDB2pqzp+hbO8eu1qqW2d/s= go.opentelemetry.io/otel/trace v1.33.0/go.mod h1:uIcdVUZMpTAmz0tI1z04GoVSezK37CbGV4fr1f2nBck= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= @@ -1144,8 +1145,8 @@ golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4Iltr golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= -golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70= -golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.26.0 h1:afQXWNNaeC4nvZ0Ed9XvCCzXM6UHJG7iCg0W4fPqSBE= +golang.org/x/oauth2 v0.26.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1161,8 +1162,8 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= -golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= +golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1231,8 +1232,8 @@ golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= -golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= +golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/telemetry v0.0.0-20240208230135-b75ee8823808/go.mod h1:KG1lNk5ZFNssSZLrpVb4sMXKMpGwGXOxSG3rnu2gZQQ= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1257,8 +1258,8 @@ golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= -golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= -golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= +golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU= +golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -1282,8 +1283,8 @@ golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= -golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.10.0 h1:3usCWA8tQn0L8+hFJQNgzpWbd89begxN66o1Ojdn5L4= +golang.org/x/time v0.10.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1352,10 +1353,10 @@ google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEY google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 h1:9+tzLLstTlPTRyJTh+ah5wIMsBW5c4tQwGTN3thOW9Y= google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s= -google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28 h1:M0KvPgPmDZHPlbRbaNU1APr28TvwvvdUPlSv7PUvy8g= -google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28/go.mod h1:dguCy7UOdZhTvLzDyt15+rOrawrpM4q7DD9dQ1P11P4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 h1:XVhgTWWV3kGQlwJHR3upFWZeTsei6Oks1apkZSeonIE= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= +google.golang.org/genproto/googleapis/api v0.0.0-20241202173237-19429a94021a h1:OAiGFfOiA0v9MRYsSidp3ubZaBnteRUyn3xB2ZQ5G/E= +google.golang.org/genproto/googleapis/api v0.0.0-20241202173237-19429a94021a/go.mod h1:jehYqy3+AhJU9ve55aNOaSml7wUXjF9x6z2LcCfpAhY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a h1:hgh8P4EuoxpsuKMXX/To36nOFD7vixReXgn8lPGnt+o= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -1371,8 +1372,8 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= -google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= @@ -1381,8 +1382,8 @@ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= -google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= -google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= +google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk= diff --git a/hack/gen-crd-spec/main.go b/hack/gen-crd-spec/main.go index 6267873031450..c102e9b2f6539 100644 --- a/hack/gen-crd-spec/main.go +++ b/hack/gen-crd-spec/main.go @@ -11,7 +11,7 @@ import ( "github.com/argoproj/argo-cd/v3/pkg/apis/application" "github.com/argoproj/gitops-engine/pkg/utils/kube" - extensionsobj "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" + apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "sigs.k8s.io/yaml" ) @@ -22,7 +22,7 @@ var kindToCRDPath = map[string]string{ application.ApplicationSetFullName: "manifests/crds/applicationset-crd.yaml", } -func getCustomResourceDefinitions() map[string]*extensionsobj.CustomResourceDefinition { +func getCustomResourceDefinitions() map[string]*apiextensionsv1.CustomResourceDefinition { crdYamlBytes, err := exec.Command( "controller-gen", "paths=./pkg/apis/application/...", @@ -41,7 +41,7 @@ func getCustomResourceDefinitions() map[string]*extensionsobj.CustomResourceDefi objs, err := kube.SplitYAML(crdYamlBytes) checkErr(err) - crds := make(map[string]*extensionsobj.CustomResourceDefinition) + crds := make(map[string]*apiextensionsv1.CustomResourceDefinition) for i := range objs { un := objs[i] @@ -80,14 +80,14 @@ func removeValidation(un *unstructured.Unstructured, path string) { unstructured.RemoveNestedField(un.Object, schemaPath...) } -func toCRD(un *unstructured.Unstructured, removeDesc bool) *extensionsobj.CustomResourceDefinition { +func toCRD(un *unstructured.Unstructured, removeDesc bool) *apiextensionsv1.CustomResourceDefinition { if removeDesc { removeDescription(un.Object) } unBytes, err := json.Marshal(un) checkErr(err) - var crd extensionsobj.CustomResourceDefinition + var crd apiextensionsv1.CustomResourceDefinition err = json.Unmarshal(unBytes, &crd) checkErr(err) @@ -134,7 +134,7 @@ func main() { } } -func writeCRDintoFile(crd *extensionsobj.CustomResourceDefinition, path string) { +func writeCRDintoFile(crd *apiextensionsv1.CustomResourceDefinition, path string) { jsonBytes, err := json.Marshal(crd) checkErr(err) diff --git a/hack/installers/checksums/add-kubectl-checksums.sh b/hack/installers/checksums/add-kubectl-checksums.sh new file mode 100755 index 0000000000000..2b9ba0df2f6ab --- /dev/null +++ b/hack/installers/checksums/add-kubectl-checksums.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env sh + +# Usage: ./add-kubectl-checksums.sh v1.32.1 # use the desired version + +set -e +for arch in amd64 arm64 ppc64le s390x; do + wget "https://dl.k8s.io/release/$1/bin/linux/$arch/kubectl.sha256" -O "kubectl-$1-linux-$arch.tar.gz.sha256" + +done + +for arch in amd64 arm64; do + wget "https://dl.k8s.io/release/$1/bin/darwin/$arch/kubectl.sha256" -O "kubectl-$1-darwin-$arch.tar.gz.sha256" +done \ No newline at end of file diff --git a/hack/installers/checksums/helm-v3.17.0-darwin-amd64.tar.gz.sha256 b/hack/installers/checksums/helm-v3.17.0-darwin-amd64.tar.gz.sha256 new file mode 100644 index 0000000000000..1ab86a9b4ef78 --- /dev/null +++ b/hack/installers/checksums/helm-v3.17.0-darwin-amd64.tar.gz.sha256 @@ -0,0 +1 @@ +0d5fd51cf51eb4b9712d52ecd8f2a3cd865680595cca57db38ee01802bd466ea helm-v3.17.0-darwin-amd64.tar.gz diff --git a/hack/installers/checksums/helm-v3.17.0-darwin-arm64.tar.gz.sha256 b/hack/installers/checksums/helm-v3.17.0-darwin-arm64.tar.gz.sha256 new file mode 100644 index 0000000000000..e0050b01b0bbb --- /dev/null +++ b/hack/installers/checksums/helm-v3.17.0-darwin-arm64.tar.gz.sha256 @@ -0,0 +1 @@ +5db292c69ba756ddbf139abb623b02860feef15c7f1a4ea69b77715b9165a261 helm-v3.17.0-darwin-arm64.tar.gz diff --git a/hack/installers/checksums/helm-v3.17.0-linux-amd64.tar.gz.sha256 b/hack/installers/checksums/helm-v3.17.0-linux-amd64.tar.gz.sha256 new file mode 100644 index 0000000000000..3d74e11729822 --- /dev/null +++ b/hack/installers/checksums/helm-v3.17.0-linux-amd64.tar.gz.sha256 @@ -0,0 +1 @@ +fb5d12662fde6eeff36ac4ccacbf3abed96b0ee2de07afdde4edb14e613aee24 helm-v3.17.0-linux-amd64.tar.gz diff --git a/hack/installers/checksums/helm-v3.17.0-linux-arm64.tar.gz.sha256 b/hack/installers/checksums/helm-v3.17.0-linux-arm64.tar.gz.sha256 new file mode 100644 index 0000000000000..b022aac1a6daa --- /dev/null +++ b/hack/installers/checksums/helm-v3.17.0-linux-arm64.tar.gz.sha256 @@ -0,0 +1 @@ +c4d4be8e80082b7eaa411e3e231d62cf05d01cddfef59b0d01006a7901e11ee4 helm-v3.17.0-linux-arm64.tar.gz diff --git a/hack/installers/checksums/helm-v3.17.0-linux-ppc64le.tar.gz.sha256 b/hack/installers/checksums/helm-v3.17.0-linux-ppc64le.tar.gz.sha256 new file mode 100644 index 0000000000000..bc81cf2223c63 --- /dev/null +++ b/hack/installers/checksums/helm-v3.17.0-linux-ppc64le.tar.gz.sha256 @@ -0,0 +1 @@ +32833acf72b240e9ca78a3eac630a0ba420e073b02df3030c369a287b8bdc769 helm-v3.17.0-linux-ppc64le.tar.gz diff --git a/hack/installers/checksums/helm-v3.17.0-linux-s390x.tar.gz.sha256 b/hack/installers/checksums/helm-v3.17.0-linux-s390x.tar.gz.sha256 new file mode 100644 index 0000000000000..dd91867df4822 --- /dev/null +++ b/hack/installers/checksums/helm-v3.17.0-linux-s390x.tar.gz.sha256 @@ -0,0 +1 @@ +4b002d673ef35d78843c45cc169faf1040eec75937f19fccce41d2074f459653 helm-v3.17.0-linux-s390x.tar.gz diff --git a/hack/installers/checksums/kubectl-v1.32.1-linux-amd64.tar.gz.sha256 b/hack/installers/checksums/kubectl-v1.32.1-linux-amd64.tar.gz.sha256 new file mode 100644 index 0000000000000..0c10516ad4ea3 --- /dev/null +++ b/hack/installers/checksums/kubectl-v1.32.1-linux-amd64.tar.gz.sha256 @@ -0,0 +1 @@ +e16c80f1a9f94db31063477eb9e61a2e24c1a4eee09ba776b029048f5369db0c \ No newline at end of file diff --git a/hack/installers/checksums/kubectl-v1.32.1-linux-arm64.tar.gz.sha256 b/hack/installers/checksums/kubectl-v1.32.1-linux-arm64.tar.gz.sha256 new file mode 100644 index 0000000000000..1c957e3d558dc --- /dev/null +++ b/hack/installers/checksums/kubectl-v1.32.1-linux-arm64.tar.gz.sha256 @@ -0,0 +1 @@ +98206fd83a4fd17f013f8c61c33d0ae8ec3a7c53ec59ef3d6a0a9400862dc5b2 \ No newline at end of file diff --git a/hack/installers/checksums/kubectl-v1.32.1-linux-ppc64le.tar.gz.sha256 b/hack/installers/checksums/kubectl-v1.32.1-linux-ppc64le.tar.gz.sha256 new file mode 100644 index 0000000000000..01798c978196e --- /dev/null +++ b/hack/installers/checksums/kubectl-v1.32.1-linux-ppc64le.tar.gz.sha256 @@ -0,0 +1 @@ +46d98d3463e065dff035d76f6c2b604c990d79634cc574d43b0c21f0367bbf0c \ No newline at end of file diff --git a/hack/installers/checksums/kubectl-v1.32.1-linux-s390x.tar.gz.sha256 b/hack/installers/checksums/kubectl-v1.32.1-linux-s390x.tar.gz.sha256 new file mode 100644 index 0000000000000..8e3078d9fa50b --- /dev/null +++ b/hack/installers/checksums/kubectl-v1.32.1-linux-s390x.tar.gz.sha256 @@ -0,0 +1 @@ +081c80142fd450d93dd4a82330d182dd045dcb2fb0c220e65ef7158f13df12d8 \ No newline at end of file diff --git a/hack/installers/install-kubectl-linux.sh b/hack/installers/install-kubectl-linux.sh index abf60757b66c1..2c72adcced577 100755 --- a/hack/installers/install-kubectl-linux.sh +++ b/hack/installers/install-kubectl-linux.sh @@ -3,7 +3,7 @@ set -eux -o pipefail . $(dirname $0)/../tool-versions.sh -export TARGET_FILE=kubectl_${ARCHITECTURE}_${kubectl_version} +export TARGET_FILE=kubectl-v${kubectl_version}-${INSTALL_OS}-${ARCHITECTURE}.tar.gz # NOTE: keep the version synced with https://storage.googleapis.com/kubernetes-release/release/stable.txt [ -e $DOWNLOADS/${TARGET_FILE} ] || curl -sLf --retry 3 -o ${DOWNLOADS}/${TARGET_FILE} https://storage.googleapis.com/kubernetes-release/release/v${kubectl_version}/bin/linux/$ARCHITECTURE/kubectl diff --git a/hack/tool-versions.sh b/hack/tool-versions.sh index 5ff690de480ad..ec5d936d1ab4a 100644 --- a/hack/tool-versions.sh +++ b/hack/tool-versions.sh @@ -11,7 +11,7 @@ # Use ./hack/installers/checksums/add-helm-checksums.sh and # add-kustomize-checksums.sh to help download checksums. ############################################################################### -helm3_version=3.16.3 +helm3_version=3.17.0 kubectl_version=1.17.8 kubectx_version=0.6.3 kustomize5_version=5.4.3 diff --git a/manifests/base/application-controller-roles/argocd-application-controller-role.yaml b/manifests/base/application-controller-roles/argocd-application-controller-role.yaml index a672268eb1dd9..f0e2e240ea96a 100644 --- a/manifests/base/application-controller-roles/argocd-application-controller-role.yaml +++ b/manifests/base/application-controller-roles/argocd-application-controller-role.yaml @@ -20,6 +20,7 @@ rules: - argoproj.io resources: - applications + - applicationsets - appprojects verbs: - create diff --git a/manifests/core-install-with-hydrator.yaml b/manifests/core-install-with-hydrator.yaml index 0c310cceccf6d..de10e39063e9f 100644 --- a/manifests/core-install-with-hydrator.yaml +++ b/manifests/core-install-with-hydrator.yaml @@ -380,6 +380,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally by + not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -760,6 +765,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -1250,6 +1260,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize from + failing when components do not exist locally by not appending + them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -1678,6 +1693,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally by not + appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -2219,6 +2239,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -2601,6 +2626,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -3133,6 +3163,12 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents + kustomize from failing when components do not + exist locally by not appending them to kustomization + file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -3535,6 +3571,12 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents + kustomize from failing when components do + not exist locally by not appending them to + kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -4049,6 +4091,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -4443,6 +4490,11 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -5157,6 +5209,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -5551,6 +5608,11 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -6016,6 +6078,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6288,6 +6352,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6688,6 +6754,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6960,6 +7028,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -7385,6 +7455,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -7657,6 +7729,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8036,6 +8110,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8308,6 +8384,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8712,6 +8790,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8984,6 +9064,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -9384,6 +9466,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -9656,6 +9740,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10081,6 +10167,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10353,6 +10441,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10732,6 +10822,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11004,6 +11096,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11391,6 +11485,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11663,6 +11759,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -12269,6 +12367,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -12541,6 +12641,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13142,6 +13244,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13414,6 +13518,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13810,6 +13916,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14082,6 +14190,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14488,6 +14598,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14760,6 +14872,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15160,6 +15274,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15432,6 +15548,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15857,6 +15975,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16129,6 +16249,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16508,6 +16630,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16780,6 +16904,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -17167,6 +17293,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -17439,6 +17567,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -18045,6 +18175,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -18317,6 +18449,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -18918,6 +19052,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -19190,6 +19326,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -19590,6 +19728,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -19862,6 +20002,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -20248,6 +20390,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -20520,6 +20664,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -21126,6 +21272,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -21398,6 +21546,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -21999,6 +22149,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -22271,6 +22423,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -22742,6 +22896,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -23014,6 +23170,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -23556,6 +23714,10 @@ spec: description: SyncWindow contains the kind, time, duration and attributes that are used to assign the syncWindows to apps properties: + andOperator: + description: UseAndOperator use AND operator for matching applications, + namespaces and clusters instead of the default OR operator + type: boolean applications: description: Applications contains a list of applications that the window will apply to @@ -23700,6 +23862,7 @@ rules: - argoproj.io resources: - applications + - applicationsets - appprojects verbs: - create diff --git a/manifests/core-install.yaml b/manifests/core-install.yaml index 87fcc5d0eb891..b9df4d9575b0c 100644 --- a/manifests/core-install.yaml +++ b/manifests/core-install.yaml @@ -380,6 +380,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally by + not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -760,6 +765,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -1250,6 +1260,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize from + failing when components do not exist locally by not appending + them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -1678,6 +1693,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally by not + appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -2219,6 +2239,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -2601,6 +2626,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -3133,6 +3163,12 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents + kustomize from failing when components do not + exist locally by not appending them to kustomization + file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -3535,6 +3571,12 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents + kustomize from failing when components do + not exist locally by not appending them to + kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -4049,6 +4091,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -4443,6 +4490,11 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -5157,6 +5209,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -5551,6 +5608,11 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -6016,6 +6078,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6288,6 +6352,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6688,6 +6754,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6960,6 +7028,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -7385,6 +7455,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -7657,6 +7729,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8036,6 +8110,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8308,6 +8384,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8712,6 +8790,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8984,6 +9064,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -9384,6 +9466,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -9656,6 +9740,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10081,6 +10167,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10353,6 +10441,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10732,6 +10822,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11004,6 +11096,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11391,6 +11485,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11663,6 +11759,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -12269,6 +12367,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -12541,6 +12641,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13142,6 +13244,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13414,6 +13518,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13810,6 +13916,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14082,6 +14190,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14488,6 +14598,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14760,6 +14872,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15160,6 +15274,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15432,6 +15548,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15857,6 +15975,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16129,6 +16249,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16508,6 +16630,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16780,6 +16904,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -17167,6 +17293,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -17439,6 +17567,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -18045,6 +18175,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -18317,6 +18449,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -18918,6 +19052,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -19190,6 +19326,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -19590,6 +19728,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -19862,6 +20002,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -20248,6 +20390,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -20520,6 +20664,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -21126,6 +21272,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -21398,6 +21546,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -21999,6 +22149,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -22271,6 +22423,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -22742,6 +22896,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -23014,6 +23170,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -23556,6 +23714,10 @@ spec: description: SyncWindow contains the kind, time, duration and attributes that are used to assign the syncWindows to apps properties: + andOperator: + description: UseAndOperator use AND operator for matching applications, + namespaces and clusters instead of the default OR operator + type: boolean applications: description: Applications contains a list of applications that the window will apply to @@ -23691,6 +23853,7 @@ rules: - argoproj.io resources: - applications + - applicationsets - appprojects verbs: - create diff --git a/manifests/crds/application-crd.yaml b/manifests/crds/application-crd.yaml index e2dac9a68be74..c6396a14a6590 100644 --- a/manifests/crds/application-crd.yaml +++ b/manifests/crds/application-crd.yaml @@ -379,6 +379,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally by + not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -759,6 +764,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -1249,6 +1259,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize from + failing when components do not exist locally by not appending + them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -1677,6 +1692,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally by not + appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -2218,6 +2238,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -2600,6 +2625,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -3132,6 +3162,12 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents + kustomize from failing when components do not + exist locally by not appending them to kustomization + file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -3534,6 +3570,12 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents + kustomize from failing when components do + not exist locally by not appending them to + kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -4048,6 +4090,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -4442,6 +4489,11 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -5156,6 +5208,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -5550,6 +5607,11 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications diff --git a/manifests/crds/applicationset-crd.yaml b/manifests/crds/applicationset-crd.yaml index cb76751b68f2a..9fb156c963f5b 100644 --- a/manifests/crds/applicationset-crd.yaml +++ b/manifests/crds/applicationset-crd.yaml @@ -271,6 +271,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -543,6 +545,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -943,6 +947,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -1215,6 +1221,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -1640,6 +1648,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -1912,6 +1922,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -2291,6 +2303,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -2563,6 +2577,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -2967,6 +2983,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -3239,6 +3257,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -3639,6 +3659,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -3911,6 +3933,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -4336,6 +4360,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -4608,6 +4634,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -4987,6 +5015,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -5259,6 +5289,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -5646,6 +5678,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -5918,6 +5952,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6524,6 +6560,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6796,6 +6834,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -7397,6 +7437,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -7669,6 +7711,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8065,6 +8109,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8337,6 +8383,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8743,6 +8791,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -9015,6 +9065,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -9415,6 +9467,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -9687,6 +9741,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10112,6 +10168,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10384,6 +10442,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10763,6 +10823,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11035,6 +11097,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11422,6 +11486,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11694,6 +11760,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -12300,6 +12368,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -12572,6 +12642,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13173,6 +13245,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13445,6 +13519,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13845,6 +13921,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14117,6 +14195,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14503,6 +14583,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14775,6 +14857,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15381,6 +15465,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15653,6 +15739,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16254,6 +16342,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16526,6 +16616,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16997,6 +17089,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -17269,6 +17363,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string diff --git a/manifests/crds/appproject-crd.yaml b/manifests/crds/appproject-crd.yaml index a72a8de146939..e3eea79bd6747 100644 --- a/manifests/crds/appproject-crd.yaml +++ b/manifests/crds/appproject-crd.yaml @@ -278,6 +278,10 @@ spec: description: SyncWindow contains the kind, time, duration and attributes that are used to assign the syncWindows to apps properties: + andOperator: + description: UseAndOperator use AND operator for matching applications, + namespaces and clusters instead of the default OR operator + type: boolean applications: description: Applications contains a list of applications that the window will apply to diff --git a/manifests/ha/install-with-hydrator.yaml b/manifests/ha/install-with-hydrator.yaml index bd85189ff2a29..a599935419a61 100644 --- a/manifests/ha/install-with-hydrator.yaml +++ b/manifests/ha/install-with-hydrator.yaml @@ -380,6 +380,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally by + not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -760,6 +765,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -1250,6 +1260,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize from + failing when components do not exist locally by not appending + them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -1678,6 +1693,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally by not + appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -2219,6 +2239,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -2601,6 +2626,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -3133,6 +3163,12 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents + kustomize from failing when components do not + exist locally by not appending them to kustomization + file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -3535,6 +3571,12 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents + kustomize from failing when components do + not exist locally by not appending them to + kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -4049,6 +4091,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -4443,6 +4490,11 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -5157,6 +5209,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -5551,6 +5608,11 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -6016,6 +6078,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6288,6 +6352,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6688,6 +6754,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6960,6 +7028,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -7385,6 +7455,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -7657,6 +7729,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8036,6 +8110,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8308,6 +8384,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8712,6 +8790,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8984,6 +9064,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -9384,6 +9466,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -9656,6 +9740,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10081,6 +10167,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10353,6 +10441,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10732,6 +10822,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11004,6 +11096,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11391,6 +11485,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11663,6 +11759,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -12269,6 +12367,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -12541,6 +12641,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13142,6 +13244,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13414,6 +13518,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13810,6 +13916,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14082,6 +14190,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14488,6 +14598,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14760,6 +14872,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15160,6 +15274,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15432,6 +15548,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15857,6 +15975,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16129,6 +16249,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16508,6 +16630,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16780,6 +16904,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -17167,6 +17293,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -17439,6 +17567,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -18045,6 +18175,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -18317,6 +18449,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -18918,6 +19052,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -19190,6 +19326,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -19590,6 +19728,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -19862,6 +20002,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -20248,6 +20390,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -20520,6 +20664,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -21126,6 +21272,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -21398,6 +21546,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -21999,6 +22149,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -22271,6 +22423,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -22742,6 +22896,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -23014,6 +23170,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -23556,6 +23714,10 @@ spec: description: SyncWindow contains the kind, time, duration and attributes that are used to assign the syncWindows to apps properties: + andOperator: + description: UseAndOperator use AND operator for matching applications, + namespaces and clusters instead of the default OR operator + type: boolean applications: description: Applications contains a list of applications that the window will apply to @@ -23738,6 +23900,7 @@ rules: - argoproj.io resources: - applications + - applicationsets - appprojects verbs: - create diff --git a/manifests/ha/install.yaml b/manifests/ha/install.yaml index 8c77f2717bad2..538b34fd63d07 100644 --- a/manifests/ha/install.yaml +++ b/manifests/ha/install.yaml @@ -380,6 +380,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally by + not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -760,6 +765,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -1250,6 +1260,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize from + failing when components do not exist locally by not appending + them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -1678,6 +1693,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally by not + appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -2219,6 +2239,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -2601,6 +2626,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -3133,6 +3163,12 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents + kustomize from failing when components do not + exist locally by not appending them to kustomization + file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -3535,6 +3571,12 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents + kustomize from failing when components do + not exist locally by not appending them to + kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -4049,6 +4091,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -4443,6 +4490,11 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -5157,6 +5209,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -5551,6 +5608,11 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -6016,6 +6078,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6288,6 +6352,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6688,6 +6754,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6960,6 +7028,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -7385,6 +7455,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -7657,6 +7729,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8036,6 +8110,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8308,6 +8384,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8712,6 +8790,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8984,6 +9064,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -9384,6 +9466,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -9656,6 +9740,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10081,6 +10167,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10353,6 +10441,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10732,6 +10822,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11004,6 +11096,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11391,6 +11485,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11663,6 +11759,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -12269,6 +12367,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -12541,6 +12641,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13142,6 +13244,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13414,6 +13518,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13810,6 +13916,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14082,6 +14190,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14488,6 +14598,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14760,6 +14872,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15160,6 +15274,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15432,6 +15548,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15857,6 +15975,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16129,6 +16249,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16508,6 +16630,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16780,6 +16904,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -17167,6 +17293,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -17439,6 +17567,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -18045,6 +18175,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -18317,6 +18449,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -18918,6 +19052,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -19190,6 +19326,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -19590,6 +19728,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -19862,6 +20002,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -20248,6 +20390,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -20520,6 +20664,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -21126,6 +21272,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -21398,6 +21546,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -21999,6 +22149,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -22271,6 +22423,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -22742,6 +22896,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -23014,6 +23170,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -23556,6 +23714,10 @@ spec: description: SyncWindow contains the kind, time, duration and attributes that are used to assign the syncWindows to apps properties: + andOperator: + description: UseAndOperator use AND operator for matching applications, + namespaces and clusters instead of the default OR operator + type: boolean applications: description: Applications contains a list of applications that the window will apply to @@ -23729,6 +23891,7 @@ rules: - argoproj.io resources: - applications + - applicationsets - appprojects verbs: - create diff --git a/manifests/ha/namespace-install-with-hydrator.yaml b/manifests/ha/namespace-install-with-hydrator.yaml index bfad4c6c63960..e3f968be2a751 100644 --- a/manifests/ha/namespace-install-with-hydrator.yaml +++ b/manifests/ha/namespace-install-with-hydrator.yaml @@ -104,6 +104,7 @@ rules: - argoproj.io resources: - applications + - applicationsets - appprojects verbs: - create diff --git a/manifests/ha/namespace-install.yaml b/manifests/ha/namespace-install.yaml index 31489e9c0ac8d..e3b15399f3854 100644 --- a/manifests/ha/namespace-install.yaml +++ b/manifests/ha/namespace-install.yaml @@ -95,6 +95,7 @@ rules: - argoproj.io resources: - applications + - applicationsets - appprojects verbs: - create diff --git a/manifests/install-with-hydrator.yaml b/manifests/install-with-hydrator.yaml index 6731716dd776a..91eca0e3e49d1 100644 --- a/manifests/install-with-hydrator.yaml +++ b/manifests/install-with-hydrator.yaml @@ -380,6 +380,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally by + not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -760,6 +765,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -1250,6 +1260,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize from + failing when components do not exist locally by not appending + them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -1678,6 +1693,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally by not + appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -2219,6 +2239,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -2601,6 +2626,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -3133,6 +3163,12 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents + kustomize from failing when components do not + exist locally by not appending them to kustomization + file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -3535,6 +3571,12 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents + kustomize from failing when components do + not exist locally by not appending them to + kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -4049,6 +4091,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -4443,6 +4490,11 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -5157,6 +5209,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -5551,6 +5608,11 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -6016,6 +6078,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6288,6 +6352,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6688,6 +6754,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6960,6 +7028,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -7385,6 +7455,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -7657,6 +7729,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8036,6 +8110,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8308,6 +8384,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8712,6 +8790,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8984,6 +9064,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -9384,6 +9466,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -9656,6 +9740,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10081,6 +10167,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10353,6 +10441,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10732,6 +10822,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11004,6 +11096,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11391,6 +11485,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11663,6 +11759,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -12269,6 +12367,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -12541,6 +12641,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13142,6 +13244,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13414,6 +13518,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13810,6 +13916,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14082,6 +14190,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14488,6 +14598,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14760,6 +14872,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15160,6 +15274,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15432,6 +15548,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15857,6 +15975,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16129,6 +16249,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16508,6 +16630,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16780,6 +16904,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -17167,6 +17293,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -17439,6 +17567,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -18045,6 +18175,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -18317,6 +18449,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -18918,6 +19052,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -19190,6 +19326,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -19590,6 +19728,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -19862,6 +20002,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -20248,6 +20390,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -20520,6 +20664,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -21126,6 +21272,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -21398,6 +21546,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -21999,6 +22149,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -22271,6 +22423,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -22742,6 +22896,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -23014,6 +23170,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -23556,6 +23714,10 @@ spec: description: SyncWindow contains the kind, time, duration and attributes that are used to assign the syncWindows to apps properties: + andOperator: + description: UseAndOperator use AND operator for matching applications, + namespaces and clusters instead of the default OR operator + type: boolean applications: description: Applications contains a list of applications that the window will apply to @@ -23727,6 +23889,7 @@ rules: - argoproj.io resources: - applications + - applicationsets - appprojects verbs: - create diff --git a/manifests/install.yaml b/manifests/install.yaml index c02ff11a918ff..95b0ad366022c 100644 --- a/manifests/install.yaml +++ b/manifests/install.yaml @@ -380,6 +380,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally by + not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -760,6 +765,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -1250,6 +1260,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize from + failing when components do not exist locally by not appending + them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -1678,6 +1693,11 @@ spec: description: ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally by not + appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -2219,6 +2239,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -2601,6 +2626,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -3133,6 +3163,12 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents + kustomize from failing when components do not + exist locally by not appending them to kustomization + file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -3535,6 +3571,12 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents + kustomize from failing when components do + not exist locally by not appending them to + kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -4049,6 +4091,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -4443,6 +4490,11 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -5157,6 +5209,11 @@ spec: force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -5551,6 +5608,11 @@ spec: to force applying common labels to resources for Kustomize apps type: boolean + ignoreMissingComponents: + description: IgnoreMissingComponents prevents kustomize + from failing when components do not exist locally + by not appending them to kustomization file + type: boolean images: description: Images is a list of Kustomize image override specifications @@ -6016,6 +6078,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6288,6 +6352,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6688,6 +6754,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -6960,6 +7028,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -7385,6 +7455,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -7657,6 +7729,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8036,6 +8110,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8308,6 +8384,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8712,6 +8790,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -8984,6 +9064,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -9384,6 +9466,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -9656,6 +9740,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10081,6 +10167,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10353,6 +10441,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -10732,6 +10822,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11004,6 +11096,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11391,6 +11485,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -11663,6 +11759,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -12269,6 +12367,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -12541,6 +12641,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13142,6 +13244,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13414,6 +13518,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -13810,6 +13916,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14082,6 +14190,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14488,6 +14598,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -14760,6 +14872,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15160,6 +15274,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15432,6 +15548,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -15857,6 +15975,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16129,6 +16249,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16508,6 +16630,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -16780,6 +16904,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -17167,6 +17293,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -17439,6 +17567,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -18045,6 +18175,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -18317,6 +18449,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -18918,6 +19052,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -19190,6 +19326,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -19590,6 +19728,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -19862,6 +20002,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -20248,6 +20390,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -20520,6 +20664,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -21126,6 +21272,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -21398,6 +21546,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -21999,6 +22149,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -22271,6 +22423,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -22742,6 +22896,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -23014,6 +23170,8 @@ spec: type: boolean forceCommonLabels: type: boolean + ignoreMissingComponents: + type: boolean images: items: type: string @@ -23556,6 +23714,10 @@ spec: description: SyncWindow contains the kind, time, duration and attributes that are used to assign the syncWindows to apps properties: + andOperator: + description: UseAndOperator use AND operator for matching applications, + namespaces and clusters instead of the default OR operator + type: boolean applications: description: Applications contains a list of applications that the window will apply to @@ -23718,6 +23880,7 @@ rules: - argoproj.io resources: - applications + - applicationsets - appprojects verbs: - create diff --git a/manifests/namespace-install-with-hydrator.yaml b/manifests/namespace-install-with-hydrator.yaml index ddb9ba6e4756a..9338f5846a9f8 100644 --- a/manifests/namespace-install-with-hydrator.yaml +++ b/manifests/namespace-install-with-hydrator.yaml @@ -93,6 +93,7 @@ rules: - argoproj.io resources: - applications + - applicationsets - appprojects verbs: - create diff --git a/manifests/namespace-install.yaml b/manifests/namespace-install.yaml index f72a792a901f1..96f8dc4906e14 100644 --- a/manifests/namespace-install.yaml +++ b/manifests/namespace-install.yaml @@ -84,6 +84,7 @@ rules: - argoproj.io resources: - applications + - applicationsets - appprojects verbs: - create diff --git a/mkdocs.yml b/mkdocs.yml index d2d59fdd6b0e8..423464cc37bc9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -130,6 +130,7 @@ nav: - operator-manual/server-commands/additional-configuration-method.md - Upgrading: - operator-manual/upgrading/overview.md + - operator-manual/upgrading/2.13-2.14.md - operator-manual/upgrading/2.12-2.13.md - operator-manual/upgrading/2.11-2.12.md - operator-manual/upgrading/2.10-2.11.md diff --git a/notification_controller/controller/controller_test.go b/notification_controller/controller/controller_test.go index 1a240201fc3b6..0c88e810a6efb 100644 --- a/notification_controller/controller/controller_test.go +++ b/notification_controller/controller/controller_test.go @@ -166,8 +166,7 @@ func TestInitTimeout(t *testing.T) { err = nc.Init(ctx) // Expect an error & add assertion for the error message - require.Error(t, err) - assert.Equal(t, "Timed out waiting for caches to sync", err.Error()) + assert.EqualError(t, err, "Timed out waiting for caches to sync") } func TestCheckAppNotInAdditionalNamespaces(t *testing.T) { diff --git a/pkg/apiclient/apiclient.go b/pkg/apiclient/apiclient.go index ea56a3b939444..a01914129573d 100644 --- a/pkg/apiclient/apiclient.go +++ b/pkg/apiclient/apiclient.go @@ -125,6 +125,7 @@ type ClientOptions struct { ServerName string RedisHaProxyName string RedisName string + RedisCompression string RepoServerName string PromptsEnabled bool } @@ -327,9 +328,10 @@ func (c *client) OIDCConfig(ctx context.Context, set *settingspkg.Settings) (*oa clientID = set.OIDCConfig.ClientID } issuerURL = set.OIDCConfig.Issuer - scopes = set.OIDCConfig.Scopes + scopes = oidcutil.GetScopesOrDefault(set.OIDCConfig.Scopes) case set.DexConfig != nil && len(set.DexConfig.Connectors) > 0: clientID = common.ArgoCDCLIClientAppID + scopes = append(oidcutil.GetScopesOrDefault(nil), common.DexFederatedScope) issuerURL = fmt.Sprintf("%s%s", set.URL, common.DexAPIEndpoint) default: return nil, nil, fmt.Errorf("%s is not configured with SSO", c.ServerAddr) @@ -342,7 +344,6 @@ func (c *client) OIDCConfig(ctx context.Context, set *settingspkg.Settings) (*oa if err != nil { return nil, nil, fmt.Errorf("Failed to parse provider config: %w", err) } - scopes = oidcutil.GetScopesOrDefault(scopes) if oidcutil.OfflineAccess(oidcConf.ScopesSupported) { scopes = append(scopes, oidc.ScopeOfflineAccess) } diff --git a/pkg/apis/application/v1alpha1/applicationset_types.go b/pkg/apis/application/v1alpha1/applicationset_types.go index 96246eee699b2..e951fddf14e63 100644 --- a/pkg/apis/application/v1alpha1/applicationset_types.go +++ b/pkg/apis/application/v1alpha1/applicationset_types.go @@ -69,6 +69,8 @@ type ApplicationSetSpec struct { PreservedFields *ApplicationPreservedFields `json:"preservedFields,omitempty" protobuf:"bytes,6,opt,name=preservedFields"` GoTemplateOptions []string `json:"goTemplateOptions,omitempty" protobuf:"bytes,7,opt,name=goTemplateOptions"` // ApplyNestedSelectors enables selectors defined within the generators of two level-nested matrix or merge generators + // Deprecated: This field is ignored, and the behavior is always enabled. The field will be removed in a future + // version of the ApplicationSet CRD. ApplyNestedSelectors bool `json:"applyNestedSelectors,omitempty" protobuf:"bytes,8,name=applyNestedSelectors"` IgnoreApplicationDifferences ApplicationSetIgnoreDifferences `json:"ignoreApplicationDifferences,omitempty" protobuf:"bytes,9,name=ignoreApplicationDifferences"` TemplatePatch *string `json:"templatePatch,omitempty" protobuf:"bytes,10,name=templatePatch"` diff --git a/pkg/apis/application/v1alpha1/applicationset_types_test.go b/pkg/apis/application/v1alpha1/applicationset_types_test.go index cb61167b2ebf1..36c30271da38d 100644 --- a/pkg/apis/application/v1alpha1/applicationset_types_test.go +++ b/pkg/apis/application/v1alpha1/applicationset_types_test.go @@ -165,7 +165,7 @@ func TestApplicationSetSetConditions(t *testing.T) { func assertAppSetConditions(t *testing.T, expected []ApplicationSetCondition, actual []ApplicationSetCondition) { t.Helper() - assert.Equal(t, len(expected), len(actual)) + assert.Len(t, actual, len(expected)) for i := range expected { assert.Equal(t, expected[i].Type, actual[i].Type) assert.Equal(t, expected[i].Message, actual[i].Message) diff --git a/pkg/apis/application/v1alpha1/generated.pb.go b/pkg/apis/application/v1alpha1/generated.pb.go index 2a84dfe222126..1fa5380289d47 100644 --- a/pkg/apis/application/v1alpha1/generated.pb.go +++ b/pkg/apis/application/v1alpha1/generated.pb.go @@ -4796,751 +4796,754 @@ func init() { } var fileDescriptor_c078c3c476799f44 = []byte{ - // 11896 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x70, 0x1c, 0xc9, - 0x75, 0x98, 0x66, 0x17, 0x0b, 0xec, 0x3e, 0x7c, 0x91, 0x4d, 0xf2, 0x0e, 0xc7, 0xfb, 0x00, 0x3d, - 0x27, 0x9f, 0xce, 0xd1, 0x1d, 0xe0, 0xfb, 0x92, 0x2f, 0x3e, 0x5b, 0x36, 0x3e, 0x48, 0x10, 0x24, - 0x40, 0xe0, 0x7a, 0x41, 0x52, 0x3a, 0xe9, 0x74, 0x1a, 0xec, 0x36, 0x16, 0x43, 0xcc, 0xce, 0xec, - 0xcd, 0xcc, 0x82, 0xd8, 0xb3, 0x24, 0x4b, 0x96, 0x64, 0xcb, 0x96, 0x74, 0x52, 0xa4, 0x54, 0x7c, - 0x4e, 0x2c, 0x45, 0xb6, 0x94, 0x54, 0x52, 0x29, 0x95, 0x95, 0xb8, 0x2a, 0x71, 0xca, 0x76, 0xb9, - 0x62, 0xa7, 0x5c, 0x4a, 0x9c, 0x94, 0x1d, 0x95, 0xca, 0x72, 0x62, 0x1b, 0x91, 0x18, 0xa7, 0xec, - 0xca, 0x0f, 0x57, 0xc5, 0xc9, 0x8f, 0x14, 0xe3, 0x4a, 0xa5, 0xfa, 0xbb, 0x67, 0x76, 0x16, 0x58, - 0x10, 0x03, 0x90, 0x92, 0xef, 0xdf, 0x6e, 0xbf, 0x37, 0xef, 0xf5, 0xf4, 0x74, 0xbf, 0xf7, 0xfa, - 0xf5, 0x7b, 0xaf, 0x61, 0xa9, 0xe1, 0xc6, 0x9b, 0xed, 0xf5, 0xa9, 0x5a, 0xd0, 0x9c, 0x76, 0xc2, - 0x46, 0xd0, 0x0a, 0x83, 0x1b, 0xec, 0xc7, 0x93, 0xb5, 0xfa, 0xf4, 0xf6, 0x33, 0xd3, 0xad, 0xad, - 0xc6, 0xb4, 0xd3, 0x72, 0xa3, 0x69, 0xa7, 0xd5, 0xf2, 0xdc, 0x9a, 0x13, 0xbb, 0x81, 0x3f, 0xbd, - 0xfd, 0x94, 0xe3, 0xb5, 0x36, 0x9d, 0xa7, 0xa6, 0x1b, 0xc4, 0x27, 0xa1, 0x13, 0x93, 0xfa, 0x54, - 0x2b, 0x0c, 0xe2, 0x00, 0xfd, 0x88, 0xa6, 0x36, 0x25, 0xa9, 0xb1, 0x1f, 0xaf, 0xd4, 0xea, 0x53, - 0xdb, 0xcf, 0x4c, 0xb5, 0xb6, 0x1a, 0x53, 0x94, 0xda, 0x94, 0x41, 0x6d, 0x4a, 0x52, 0x3b, 0xfb, - 0xa4, 0xd1, 0x97, 0x46, 0xd0, 0x08, 0xa6, 0x19, 0xd1, 0xf5, 0xf6, 0x06, 0xfb, 0xc7, 0xfe, 0xb0, - 0x5f, 0x9c, 0xd9, 0x59, 0x7b, 0xeb, 0xf9, 0x68, 0xca, 0x0d, 0x68, 0xf7, 0xa6, 0x6b, 0x41, 0x48, - 0xa6, 0xb7, 0xbb, 0x3a, 0x74, 0xf6, 0xa2, 0xc6, 0x21, 0x3b, 0x31, 0xf1, 0x23, 0x37, 0xf0, 0xa3, - 0x27, 0x69, 0x17, 0x48, 0xb8, 0x4d, 0x42, 0xf3, 0xf5, 0x0c, 0x84, 0x2c, 0x4a, 0xcf, 0x6a, 0x4a, - 0x4d, 0xa7, 0xb6, 0xe9, 0xfa, 0x24, 0xec, 0xe8, 0xc7, 0x9b, 0x24, 0x76, 0xb2, 0x9e, 0x9a, 0xee, - 0xf5, 0x54, 0xd8, 0xf6, 0x63, 0xb7, 0x49, 0xba, 0x1e, 0x78, 0xc7, 0x7e, 0x0f, 0x44, 0xb5, 0x4d, - 0xd2, 0x74, 0xba, 0x9e, 0x7b, 0xa6, 0xd7, 0x73, 0xed, 0xd8, 0xf5, 0xa6, 0x5d, 0x3f, 0x8e, 0xe2, - 0x30, 0xfd, 0x90, 0xfd, 0x8b, 0x16, 0x8c, 0xce, 0x5c, 0xaf, 0xce, 0xb4, 0xe3, 0xcd, 0xb9, 0xc0, - 0xdf, 0x70, 0x1b, 0xe8, 0x39, 0x18, 0xae, 0x79, 0xed, 0x28, 0x26, 0xe1, 0x15, 0xa7, 0x49, 0x26, - 0xac, 0x73, 0xd6, 0xe3, 0x95, 0xd9, 0x53, 0x5f, 0xdf, 0x9d, 0x7c, 0xcb, 0xad, 0xdd, 0xc9, 0xe1, - 0x39, 0x0d, 0xc2, 0x26, 0x1e, 0xfa, 0x01, 0x18, 0x0a, 0x03, 0x8f, 0xcc, 0xe0, 0x2b, 0x13, 0x05, - 0xf6, 0xc8, 0xb8, 0x78, 0x64, 0x08, 0xf3, 0x66, 0x2c, 0xe1, 0x14, 0xb5, 0x15, 0x06, 0x1b, 0xae, - 0x47, 0x26, 0x8a, 0x49, 0xd4, 0x55, 0xde, 0x8c, 0x25, 0xdc, 0xfe, 0xc3, 0x02, 0xc0, 0x4c, 0xab, - 0xb5, 0x1a, 0x06, 0x37, 0x48, 0x2d, 0x46, 0xef, 0x87, 0x32, 0x1d, 0xe6, 0xba, 0x13, 0x3b, 0xac, - 0x63, 0xc3, 0x4f, 0xff, 0xe0, 0x14, 0x7f, 0xeb, 0x29, 0xf3, 0xad, 0xf5, 0x24, 0xa3, 0xd8, 0x53, - 0xdb, 0x4f, 0x4d, 0xad, 0xac, 0xd3, 0xe7, 0x97, 0x49, 0xec, 0xcc, 0x22, 0xc1, 0x0c, 0x74, 0x1b, - 0x56, 0x54, 0x91, 0x0f, 0x03, 0x51, 0x8b, 0xd4, 0xd8, 0x3b, 0x0c, 0x3f, 0xbd, 0x34, 0x75, 0x98, - 0xd9, 0x3c, 0xa5, 0x7b, 0x5e, 0x6d, 0x91, 0xda, 0xec, 0x88, 0xe0, 0x3c, 0x40, 0xff, 0x61, 0xc6, - 0x07, 0x6d, 0xc3, 0x60, 0x14, 0x3b, 0x71, 0x3b, 0x62, 0x43, 0x31, 0xfc, 0xf4, 0x95, 0xdc, 0x38, - 0x32, 0xaa, 0xb3, 0x63, 0x82, 0xe7, 0x20, 0xff, 0x8f, 0x05, 0x37, 0xfb, 0x4f, 0x2d, 0x18, 0xd3, - 0xc8, 0x4b, 0x6e, 0x14, 0xa3, 0xf7, 0x76, 0x0d, 0xee, 0x54, 0x7f, 0x83, 0x4b, 0x9f, 0x66, 0x43, - 0x7b, 0x42, 0x30, 0x2b, 0xcb, 0x16, 0x63, 0x60, 0x9b, 0x50, 0x72, 0x63, 0xd2, 0x8c, 0x26, 0x0a, - 0xe7, 0x8a, 0x8f, 0x0f, 0x3f, 0x7d, 0x31, 0xaf, 0xf7, 0x9c, 0x1d, 0x15, 0x4c, 0x4b, 0x8b, 0x94, - 0x3c, 0xe6, 0x5c, 0xec, 0xbf, 0x1a, 0x35, 0xdf, 0x8f, 0x0e, 0x38, 0x7a, 0x0a, 0x86, 0xa3, 0xa0, - 0x1d, 0xd6, 0x08, 0x26, 0xad, 0x20, 0x9a, 0xb0, 0xce, 0x15, 0xe9, 0xd4, 0xa3, 0x93, 0xba, 0xaa, - 0x9b, 0xb1, 0x89, 0x83, 0x5e, 0xb7, 0x60, 0xa4, 0x4e, 0xa2, 0xd8, 0xf5, 0x19, 0x7f, 0xd9, 0xf9, - 0xb5, 0x43, 0x77, 0x5e, 0x36, 0xce, 0x6b, 0xe2, 0xb3, 0xa7, 0xc5, 0x8b, 0x8c, 0x18, 0x8d, 0x11, - 0x4e, 0xf0, 0xa7, 0x8b, 0xb3, 0x4e, 0xa2, 0x5a, 0xe8, 0xb6, 0xe8, 0x7f, 0xb1, 0x7c, 0xd4, 0xe2, - 0x9c, 0xd7, 0x20, 0x6c, 0xe2, 0x21, 0x1f, 0x4a, 0x74, 0xf1, 0x45, 0x13, 0x03, 0xac, 0xff, 0x8b, - 0x87, 0xeb, 0xbf, 0x18, 0x54, 0xba, 0xae, 0xf5, 0xe8, 0xd3, 0x7f, 0x11, 0xe6, 0x6c, 0xd0, 0xa7, - 0x2d, 0x98, 0x10, 0xc2, 0x01, 0x13, 0x3e, 0xa0, 0xd7, 0x37, 0xdd, 0x98, 0x78, 0x6e, 0x14, 0x4f, - 0x94, 0x58, 0x1f, 0xa6, 0xfb, 0x9b, 0x5b, 0x0b, 0x61, 0xd0, 0x6e, 0x5d, 0x76, 0xfd, 0xfa, 0xec, - 0x39, 0xc1, 0x69, 0x62, 0xae, 0x07, 0x61, 0xdc, 0x93, 0x25, 0xfa, 0xbc, 0x05, 0x67, 0x7d, 0xa7, - 0x49, 0xa2, 0x96, 0x43, 0x3f, 0x2d, 0x07, 0xcf, 0x7a, 0x4e, 0x6d, 0x8b, 0xf5, 0x68, 0xf0, 0xce, - 0x7a, 0x64, 0x8b, 0x1e, 0x9d, 0xbd, 0xd2, 0x93, 0x34, 0xde, 0x83, 0x2d, 0xfa, 0xb2, 0x05, 0x27, - 0x83, 0xb0, 0xb5, 0xe9, 0xf8, 0xa4, 0x2e, 0xa1, 0xd1, 0xc4, 0x10, 0x5b, 0x7a, 0xef, 0x3b, 0xdc, - 0x27, 0x5a, 0x49, 0x93, 0x5d, 0x0e, 0x7c, 0x37, 0x0e, 0xc2, 0x2a, 0x89, 0x63, 0xd7, 0x6f, 0x44, - 0xb3, 0x67, 0x6e, 0xed, 0x4e, 0x9e, 0xec, 0xc2, 0xc2, 0xdd, 0xfd, 0x41, 0x3f, 0x01, 0xc3, 0x51, - 0xc7, 0xaf, 0x5d, 0x77, 0xfd, 0x7a, 0x70, 0x33, 0x9a, 0x28, 0xe7, 0xb1, 0x7c, 0xab, 0x8a, 0xa0, - 0x58, 0x80, 0x9a, 0x01, 0x36, 0xb9, 0x65, 0x7f, 0x38, 0x3d, 0x95, 0x2a, 0x79, 0x7f, 0x38, 0x3d, - 0x99, 0xf6, 0x60, 0x8b, 0x7e, 0xc6, 0x82, 0xd1, 0xc8, 0x6d, 0xf8, 0x4e, 0xdc, 0x0e, 0xc9, 0x65, - 0xd2, 0x89, 0x26, 0x80, 0x75, 0xe4, 0xd2, 0x21, 0x47, 0xc5, 0x20, 0x39, 0x7b, 0x46, 0xf4, 0x71, - 0xd4, 0x6c, 0x8d, 0x70, 0x92, 0x6f, 0xd6, 0x42, 0xd3, 0xd3, 0x7a, 0x38, 0xdf, 0x85, 0xa6, 0x27, - 0x75, 0x4f, 0x96, 0xe8, 0xc7, 0xe1, 0x04, 0x6f, 0x52, 0x23, 0x1b, 0x4d, 0x8c, 0x30, 0x41, 0x7b, - 0xfa, 0xd6, 0xee, 0xe4, 0x89, 0x6a, 0x0a, 0x86, 0xbb, 0xb0, 0xd1, 0xab, 0x30, 0xd9, 0x22, 0x61, - 0xd3, 0x8d, 0x57, 0x7c, 0xaf, 0x23, 0xc5, 0x77, 0x2d, 0x68, 0x91, 0xba, 0xe8, 0x4e, 0x34, 0x31, - 0x7a, 0xce, 0x7a, 0xbc, 0x3c, 0xfb, 0x36, 0xd1, 0xcd, 0xc9, 0xd5, 0xbd, 0xd1, 0xf1, 0x7e, 0xf4, - 0xd0, 0xef, 0x5a, 0x70, 0xd6, 0x90, 0xb2, 0x55, 0x12, 0x6e, 0xbb, 0x35, 0x32, 0x53, 0xab, 0x05, - 0x6d, 0x3f, 0x8e, 0x26, 0xc6, 0xd8, 0x30, 0xae, 0x1f, 0x85, 0xcc, 0x4f, 0xb2, 0xd2, 0xf3, 0xb2, - 0x27, 0x4a, 0x84, 0xf7, 0xe8, 0xa9, 0xfd, 0xef, 0x0a, 0x70, 0x22, 0x6d, 0x01, 0xa0, 0x7f, 0x6c, - 0xc1, 0xf8, 0x8d, 0x9b, 0xf1, 0x5a, 0xb0, 0x45, 0xfc, 0x68, 0xb6, 0x43, 0xe5, 0x34, 0xd3, 0x7d, - 0xc3, 0x4f, 0xd7, 0xf2, 0xb5, 0x35, 0xa6, 0x2e, 0x25, 0xb9, 0x9c, 0xf7, 0xe3, 0xb0, 0x33, 0x7b, - 0xbf, 0x78, 0xa7, 0xf1, 0x4b, 0xd7, 0xd7, 0x4c, 0x28, 0x4e, 0x77, 0xea, 0xec, 0x27, 0x2d, 0x38, - 0x9d, 0x45, 0x02, 0x9d, 0x80, 0xe2, 0x16, 0xe9, 0x70, 0x4b, 0x14, 0xd3, 0x9f, 0xe8, 0x65, 0x28, - 0x6d, 0x3b, 0x5e, 0x9b, 0x08, 0x33, 0x6d, 0xe1, 0x70, 0x2f, 0xa2, 0x7a, 0x86, 0x39, 0xd5, 0x1f, - 0x2e, 0x3c, 0x6f, 0xd9, 0xbf, 0x5f, 0x84, 0x61, 0xe3, 0xa3, 0x1d, 0x83, 0xe9, 0x19, 0x24, 0x4c, - 0xcf, 0xe5, 0xdc, 0xe6, 0x5b, 0x4f, 0xdb, 0xf3, 0x66, 0xca, 0xf6, 0x5c, 0xc9, 0x8f, 0xe5, 0x9e, - 0xc6, 0x27, 0x8a, 0xa1, 0x12, 0xb4, 0xe8, 0x36, 0x84, 0xda, 0x30, 0x03, 0x79, 0x7c, 0xc2, 0x15, - 0x49, 0x6e, 0x76, 0xf4, 0xd6, 0xee, 0x64, 0x45, 0xfd, 0xc5, 0x9a, 0x91, 0xfd, 0x2d, 0x0b, 0x4e, - 0x1b, 0x7d, 0x9c, 0x0b, 0xfc, 0xba, 0xcb, 0x3e, 0xed, 0x39, 0x18, 0x88, 0x3b, 0x2d, 0xb9, 0xd5, - 0x51, 0x23, 0xb5, 0xd6, 0x69, 0x11, 0xcc, 0x20, 0x74, 0xc7, 0xd2, 0x24, 0x51, 0xe4, 0x34, 0x48, - 0x7a, 0x73, 0xb3, 0xcc, 0x9b, 0xb1, 0x84, 0xa3, 0x10, 0x90, 0xe7, 0x44, 0xf1, 0x5a, 0xe8, 0xf8, - 0x11, 0x23, 0xbf, 0xe6, 0x36, 0x89, 0x18, 0xe0, 0xbf, 0xd5, 0xdf, 0x8c, 0xa1, 0x4f, 0xcc, 0xde, - 0x77, 0x6b, 0x77, 0x12, 0x2d, 0x75, 0x51, 0xc2, 0x19, 0xd4, 0xed, 0xcf, 0x5b, 0x70, 0x5f, 0xb6, - 0x80, 0x41, 0x8f, 0xc1, 0x20, 0xdf, 0xe7, 0x8a, 0xb7, 0xd3, 0x9f, 0x84, 0xb5, 0x62, 0x01, 0x45, - 0xd3, 0x50, 0x51, 0x0a, 0x4f, 0xbc, 0xe3, 0x49, 0x81, 0x5a, 0xd1, 0x5a, 0x52, 0xe3, 0xd0, 0x41, - 0xa3, 0x7f, 0x84, 0x09, 0xaa, 0x06, 0x8d, 0x6d, 0x0c, 0x19, 0xc4, 0xfe, 0xa6, 0x05, 0x6f, 0xed, - 0x47, 0xec, 0x1d, 0x5d, 0x1f, 0xab, 0x70, 0xa6, 0x4e, 0x36, 0x9c, 0xb6, 0x17, 0x27, 0x39, 0x8a, - 0x4e, 0x3f, 0x2c, 0x1e, 0x3e, 0x33, 0x9f, 0x85, 0x84, 0xb3, 0x9f, 0xb5, 0xff, 0xab, 0x05, 0xe3, - 0xc6, 0x6b, 0x1d, 0xc3, 0xd6, 0xc9, 0x4f, 0x6e, 0x9d, 0x16, 0x73, 0x5b, 0xa6, 0x3d, 0xf6, 0x4e, - 0x9f, 0xb6, 0xe0, 0xac, 0x81, 0xb5, 0xec, 0xc4, 0xb5, 0xcd, 0xf3, 0x3b, 0xad, 0x90, 0x44, 0x11, - 0x9d, 0x52, 0x0f, 0x1b, 0xe2, 0x78, 0x76, 0x58, 0x50, 0x28, 0x5e, 0x26, 0x1d, 0x2e, 0x9b, 0x9f, - 0x80, 0x32, 0x5f, 0x73, 0x41, 0x28, 0x3e, 0x92, 0x7a, 0xb7, 0x15, 0xd1, 0x8e, 0x15, 0x06, 0xb2, - 0x61, 0x90, 0xc9, 0x5c, 0x2a, 0x83, 0xa8, 0x99, 0x00, 0xf4, 0xbb, 0x5f, 0x63, 0x2d, 0x58, 0x40, - 0xec, 0x28, 0xd1, 0x9d, 0xd5, 0x90, 0xb0, 0xf9, 0x50, 0xbf, 0xe0, 0x12, 0xaf, 0x1e, 0xd1, 0x6d, - 0x9d, 0xe3, 0xfb, 0x41, 0x2c, 0x76, 0x68, 0xc6, 0xb6, 0x6e, 0x46, 0x37, 0x63, 0x13, 0x87, 0x32, - 0xf5, 0x9c, 0x75, 0xe2, 0xf1, 0x11, 0x15, 0x4c, 0x97, 0x58, 0x0b, 0x16, 0x10, 0xfb, 0x56, 0x81, - 0x6d, 0x20, 0x95, 0x44, 0x23, 0xc7, 0xe1, 0x7d, 0x08, 0x13, 0x2a, 0x60, 0x35, 0x3f, 0x79, 0x4c, - 0x7a, 0x7b, 0x20, 0x5e, 0x4b, 0x69, 0x01, 0x9c, 0x2b, 0xd7, 0xbd, 0xbd, 0x10, 0x1f, 0x2e, 0xc2, - 0x64, 0xf2, 0x81, 0x2e, 0x25, 0x42, 0xb7, 0xbc, 0x06, 0xa3, 0xb4, 0x3f, 0xca, 0xc0, 0xc7, 0x26, - 0x5e, 0x0f, 0x39, 0x5c, 0x38, 0x4a, 0x39, 0x6c, 0xaa, 0x89, 0xe2, 0x3e, 0x6a, 0xe2, 0x31, 0x35, - 0xea, 0x03, 0x29, 0x99, 0x97, 0x54, 0x95, 0xe7, 0x60, 0x20, 0x8a, 0x49, 0x6b, 0xa2, 0x94, 0x14, - 0xb3, 0xd5, 0x98, 0xb4, 0x30, 0x83, 0xa0, 0x1f, 0x85, 0xf1, 0xd8, 0x09, 0x1b, 0x24, 0x0e, 0xc9, - 0xb6, 0xcb, 0x7c, 0x97, 0x6c, 0x3f, 0x5b, 0x99, 0x3d, 0x45, 0xad, 0xae, 0x35, 0x06, 0xc2, 0x12, - 0x84, 0xd3, 0xb8, 0xf6, 0xff, 0x28, 0xc0, 0xfd, 0xc9, 0x4f, 0xa0, 0x15, 0xe3, 0x8f, 0x25, 0x14, - 0xe3, 0xdb, 0x4d, 0xc5, 0x78, 0x7b, 0x77, 0xf2, 0xc1, 0x1e, 0x8f, 0x7d, 0xd7, 0xe8, 0x4d, 0xb4, - 0x90, 0xfa, 0x08, 0xd3, 0xc9, 0x8f, 0x70, 0x7b, 0x77, 0xf2, 0xe1, 0x1e, 0xef, 0x98, 0xfa, 0x4a, - 0x8f, 0xc1, 0x60, 0x48, 0x9c, 0x28, 0xf0, 0xc5, 0x77, 0x52, 0x5f, 0x13, 0xb3, 0x56, 0x2c, 0xa0, - 0xf6, 0x37, 0x2a, 0xe9, 0xc1, 0x5e, 0xe0, 0xfe, 0xd8, 0x20, 0x44, 0x2e, 0x0c, 0xb0, 0x5d, 0x1b, - 0x97, 0x2c, 0x97, 0x0f, 0xb7, 0x0a, 0xa9, 0x16, 0x51, 0xa4, 0x67, 0xcb, 0xf4, 0xab, 0xd1, 0x26, - 0xcc, 0x58, 0xa0, 0x1d, 0x28, 0xd7, 0xe4, 0x66, 0xaa, 0x90, 0x87, 0xdb, 0x51, 0x6c, 0xa5, 0x34, - 0xc7, 0x11, 0x2a, 0xee, 0xd5, 0x0e, 0x4c, 0x71, 0x43, 0x04, 0x8a, 0x0d, 0x37, 0x16, 0x9f, 0xf5, - 0x90, 0xdb, 0xe5, 0x05, 0xd7, 0x78, 0xc5, 0x21, 0xaa, 0x83, 0x16, 0xdc, 0x18, 0x53, 0xfa, 0xe8, - 0xe3, 0x16, 0x0c, 0x47, 0xb5, 0xe6, 0x6a, 0x18, 0x6c, 0xbb, 0x75, 0x12, 0x0a, 0x1b, 0xf3, 0x90, - 0x92, 0xad, 0x3a, 0xb7, 0x2c, 0x09, 0x6a, 0xbe, 0xdc, 0x7d, 0xa1, 0x21, 0xd8, 0xe4, 0x4b, 0xf7, - 0x5e, 0xf7, 0x8b, 0x77, 0x9f, 0x27, 0x35, 0xb6, 0xe2, 0xe4, 0x9e, 0x99, 0xcd, 0x94, 0x43, 0xdb, - 0xdc, 0xf3, 0xed, 0xda, 0x16, 0x5d, 0x6f, 0xba, 0x43, 0x0f, 0xde, 0xda, 0x9d, 0xbc, 0x7f, 0x2e, - 0x9b, 0x27, 0xee, 0xd5, 0x19, 0x36, 0x60, 0xad, 0xb6, 0xe7, 0x61, 0xf2, 0x6a, 0x9b, 0x30, 0x8f, - 0x58, 0x0e, 0x03, 0xb6, 0xaa, 0x09, 0xa6, 0x06, 0xcc, 0x80, 0x60, 0x93, 0x2f, 0x7a, 0x15, 0x06, - 0x9b, 0x4e, 0x1c, 0xba, 0x3b, 0xc2, 0x0d, 0x76, 0xc8, 0x5d, 0xd0, 0x32, 0xa3, 0xa5, 0x99, 0x33, - 0x45, 0xcf, 0x1b, 0xb1, 0x60, 0x84, 0x9a, 0x50, 0x6a, 0x92, 0xb0, 0x41, 0x26, 0xca, 0x79, 0xb8, - 0xfc, 0x97, 0x29, 0x29, 0xcd, 0xb0, 0x42, 0x8d, 0x2b, 0xd6, 0x86, 0x39, 0x17, 0xf4, 0x32, 0x94, - 0x23, 0xe2, 0x91, 0x1a, 0x35, 0x8f, 0x2a, 0x8c, 0xe3, 0x33, 0x7d, 0x9a, 0x8a, 0xd4, 0x2e, 0xa9, - 0x8a, 0x47, 0xf9, 0x02, 0x93, 0xff, 0xb0, 0x22, 0x49, 0x07, 0xb0, 0xe5, 0xb5, 0x1b, 0xae, 0x3f, - 0x01, 0x79, 0x0c, 0xe0, 0x2a, 0xa3, 0x95, 0x1a, 0x40, 0xde, 0x88, 0x05, 0x23, 0xfb, 0xbf, 0x5b, - 0x80, 0x92, 0x42, 0xed, 0x18, 0x6c, 0xe2, 0x57, 0x93, 0x36, 0xf1, 0x52, 0x9e, 0x46, 0x4b, 0x0f, - 0xb3, 0xf8, 0xd7, 0x2b, 0x90, 0x52, 0x07, 0x57, 0x48, 0x14, 0x93, 0xfa, 0x9b, 0x22, 0xfc, 0x4d, - 0x11, 0xfe, 0xa6, 0x08, 0x57, 0x22, 0x7c, 0x3d, 0x25, 0xc2, 0xdf, 0x69, 0xac, 0x7a, 0x7d, 0xbe, - 0xfe, 0x8a, 0x3a, 0x80, 0x37, 0x7b, 0x60, 0x20, 0x50, 0x49, 0x70, 0xa9, 0xba, 0x72, 0x25, 0x53, - 0x66, 0xbf, 0x92, 0x94, 0xd9, 0x87, 0x65, 0xf1, 0x37, 0x41, 0x4a, 0xff, 0xae, 0x05, 0x6f, 0x4b, - 0x4a, 0x2f, 0x39, 0x73, 0x16, 0x1b, 0x7e, 0x10, 0x92, 0x79, 0x77, 0x63, 0x83, 0x84, 0xc4, 0xaf, - 0x91, 0x48, 0xf9, 0x76, 0xac, 0x5e, 0xbe, 0x1d, 0xf4, 0x2c, 0x8c, 0xdc, 0x88, 0x02, 0x7f, 0x35, - 0x70, 0x7d, 0x21, 0x82, 0xe8, 0x8e, 0xe3, 0xc4, 0xad, 0xdd, 0xc9, 0x11, 0x3a, 0xa2, 0xb2, 0x1d, - 0x27, 0xb0, 0xd0, 0x1c, 0x9c, 0xbc, 0xf1, 0xea, 0xaa, 0x13, 0x1b, 0xde, 0x04, 0xb9, 0xef, 0x67, - 0xe7, 0x51, 0x97, 0x5e, 0x4c, 0x01, 0x71, 0x37, 0xbe, 0xfd, 0x0f, 0x0a, 0xf0, 0x40, 0xea, 0x45, - 0x02, 0xcf, 0x0b, 0xda, 0x31, 0xdd, 0x13, 0xa1, 0x2f, 0x5a, 0x70, 0xa2, 0x99, 0x74, 0x58, 0x44, - 0xc2, 0xdd, 0xfd, 0xae, 0xdc, 0x74, 0x44, 0xca, 0x23, 0x32, 0x3b, 0x21, 0x46, 0xe8, 0x44, 0x0a, - 0x10, 0xe1, 0xae, 0xbe, 0xa0, 0x97, 0xa1, 0xd2, 0x74, 0x76, 0xae, 0xb6, 0xea, 0x4e, 0x2c, 0xb7, - 0xa3, 0xbd, 0xbd, 0x08, 0xed, 0xd8, 0xf5, 0xa6, 0x78, 0xe4, 0xc6, 0xd4, 0xa2, 0x1f, 0xaf, 0x84, - 0xd5, 0x38, 0x74, 0xfd, 0x06, 0x77, 0x72, 0x2e, 0x4b, 0x32, 0x58, 0x53, 0xb4, 0xbf, 0x60, 0xa5, - 0x95, 0x94, 0x1a, 0x9d, 0xd0, 0x89, 0x49, 0xa3, 0x83, 0x3e, 0x00, 0x25, 0xba, 0x6f, 0x94, 0xa3, - 0x72, 0x3d, 0x4f, 0xcd, 0x69, 0x7c, 0x09, 0xad, 0x44, 0xe9, 0xbf, 0x08, 0x73, 0xa6, 0xf6, 0x17, - 0x2b, 0x69, 0x63, 0x81, 0x9d, 0xcd, 0x3f, 0x0d, 0xd0, 0x08, 0xd6, 0x48, 0xb3, 0xe5, 0xd1, 0x61, - 0xb1, 0xd8, 0x01, 0x8f, 0x72, 0x95, 0x2c, 0x28, 0x08, 0x36, 0xb0, 0xd0, 0xcf, 0x5a, 0x00, 0x0d, - 0x39, 0xe7, 0xa5, 0x21, 0x70, 0x35, 0xcf, 0xd7, 0xd1, 0x2b, 0x4a, 0xf7, 0x45, 0x31, 0xc4, 0x06, - 0x73, 0xf4, 0x53, 0x16, 0x94, 0x63, 0xd9, 0x7d, 0xae, 0x1a, 0xd7, 0xf2, 0xec, 0x89, 0x7c, 0x69, - 0x6d, 0x13, 0xa9, 0x21, 0x51, 0x7c, 0xd1, 0x4f, 0x5b, 0x00, 0x51, 0xc7, 0xaf, 0xad, 0x06, 0x9e, - 0x5b, 0xeb, 0x08, 0x8d, 0x79, 0x2d, 0x57, 0x77, 0x8e, 0xa2, 0x3e, 0x3b, 0x46, 0x47, 0x43, 0xff, - 0xc7, 0x06, 0x67, 0xf4, 0x21, 0x28, 0x47, 0x62, 0xba, 0x09, 0x1d, 0xb9, 0x96, 0xaf, 0x53, 0x89, - 0xd3, 0x16, 0xe2, 0x55, 0xfc, 0xc3, 0x8a, 0x27, 0xfa, 0x79, 0x0b, 0xc6, 0x5b, 0x49, 0x37, 0xa1, - 0x50, 0x87, 0xf9, 0xc9, 0x80, 0x94, 0x1b, 0x92, 0x7b, 0x5b, 0x52, 0x8d, 0x38, 0xdd, 0x0b, 0x2a, - 0x01, 0xf5, 0x0c, 0x5e, 0x69, 0x71, 0x97, 0xe5, 0x90, 0x96, 0x80, 0x0b, 0x69, 0x20, 0xee, 0xc6, - 0x47, 0xab, 0x70, 0x9a, 0xf6, 0xae, 0xc3, 0xcd, 0x4f, 0xa9, 0x5e, 0x22, 0xa6, 0x0c, 0xcb, 0xb3, - 0x0f, 0x89, 0x19, 0xc2, 0xce, 0x3a, 0xd2, 0x38, 0x38, 0xf3, 0x49, 0xf4, 0xfb, 0x16, 0x3c, 0xe4, - 0x32, 0x35, 0x60, 0x3a, 0xec, 0xb5, 0x46, 0x10, 0x07, 0xed, 0x24, 0x57, 0x59, 0xd1, 0x4b, 0xfd, - 0xcc, 0xbe, 0x55, 0xbc, 0xc1, 0x43, 0x8b, 0x7b, 0x74, 0x09, 0xef, 0xd9, 0x61, 0xf4, 0x43, 0x30, - 0x2a, 0xd7, 0xc5, 0x2a, 0x15, 0xc1, 0x4c, 0xd1, 0x56, 0x66, 0x4f, 0xde, 0xda, 0x9d, 0x1c, 0x5d, - 0x33, 0x01, 0x38, 0x89, 0x67, 0xff, 0xfb, 0x62, 0xe2, 0x94, 0x48, 0xf9, 0x30, 0x99, 0xb8, 0xa9, - 0x49, 0xff, 0x8f, 0x94, 0x9e, 0xb9, 0x8a, 0x1b, 0xe5, 0x5d, 0xd2, 0xe2, 0x46, 0x35, 0x45, 0xd8, - 0x60, 0x4e, 0x8d, 0xd2, 0x93, 0x4e, 0xda, 0x53, 0x2a, 0x24, 0xe0, 0xcb, 0x79, 0x76, 0xa9, 0xfb, - 0x4c, 0xef, 0x01, 0xd1, 0xb5, 0x93, 0x5d, 0x20, 0xdc, 0xdd, 0x25, 0xf4, 0x41, 0xa8, 0x84, 0x2a, - 0xb2, 0xa5, 0x98, 0xc7, 0x56, 0x4d, 0x4e, 0x1b, 0xd1, 0x1d, 0x75, 0x00, 0xa4, 0x63, 0x58, 0x34, - 0x47, 0xfb, 0xf7, 0x92, 0x07, 0x63, 0x86, 0xec, 0xe8, 0xe3, 0xd0, 0xef, 0x75, 0x0b, 0x86, 0xc3, - 0xc0, 0xf3, 0x5c, 0xbf, 0x41, 0xe5, 0x9c, 0x50, 0xd6, 0xef, 0x39, 0x12, 0x7d, 0x29, 0x04, 0x1a, - 0xb3, 0xac, 0xb1, 0xe6, 0x89, 0xcd, 0x0e, 0xd8, 0x7f, 0x6a, 0xc1, 0x44, 0x2f, 0x79, 0x8c, 0x08, - 0x3c, 0x28, 0x85, 0x8d, 0x1a, 0x8a, 0x15, 0x7f, 0x9e, 0x78, 0x44, 0xb9, 0xcd, 0xcb, 0xb3, 0x8f, - 0x8a, 0xd7, 0x7c, 0x70, 0xb5, 0x37, 0x2a, 0xde, 0x8b, 0x0e, 0x7a, 0x09, 0x4e, 0x18, 0xef, 0x15, - 0xa9, 0x81, 0xa9, 0xcc, 0x4e, 0x51, 0x03, 0x68, 0x26, 0x05, 0xbb, 0xbd, 0x3b, 0x79, 0x5f, 0xba, - 0x4d, 0x28, 0x8c, 0x2e, 0x3a, 0xf6, 0x57, 0x0a, 0xe9, 0xaf, 0xa5, 0x74, 0xfd, 0x1b, 0x56, 0x97, - 0x37, 0xe1, 0x5d, 0x47, 0xa1, 0x5f, 0x99, 0xdf, 0x41, 0x85, 0x61, 0xf4, 0xc6, 0xb9, 0x8b, 0xc7, - 0xf6, 0xf6, 0x7f, 0x18, 0x80, 0x3d, 0x7a, 0xd6, 0x87, 0xf1, 0x7e, 0xe0, 0x73, 0xd4, 0x4f, 0x59, - 0xea, 0xc0, 0x8c, 0xaf, 0xe1, 0xfa, 0x51, 0x8d, 0x3d, 0xdf, 0x3f, 0x45, 0x3c, 0x74, 0x44, 0x79, - 0xd1, 0x93, 0x47, 0x73, 0xe8, 0x4b, 0x56, 0xf2, 0xc8, 0x8f, 0x07, 0x35, 0xba, 0x47, 0xd6, 0x27, - 0xe3, 0x1c, 0x91, 0x77, 0x4c, 0x9f, 0x3e, 0xf5, 0x3a, 0x61, 0x9c, 0x02, 0xd8, 0x70, 0x7d, 0xc7, - 0x73, 0x5f, 0xa3, 0xbb, 0xa3, 0x12, 0x53, 0xf0, 0xcc, 0x62, 0xba, 0xa0, 0x5a, 0xb1, 0x81, 0x71, - 0xf6, 0x6f, 0xc3, 0xb0, 0xf1, 0xe6, 0x19, 0x11, 0x2f, 0xa7, 0xcd, 0x88, 0x97, 0x8a, 0x11, 0xa8, - 0x72, 0xf6, 0x9d, 0x70, 0x22, 0xdd, 0xc1, 0x83, 0x3c, 0x6f, 0xff, 0x9f, 0xa1, 0xf4, 0x19, 0xdc, - 0x1a, 0x09, 0x9b, 0xb4, 0x6b, 0x6f, 0x3a, 0xb6, 0xde, 0x74, 0x6c, 0xbd, 0xe9, 0xd8, 0x32, 0xcf, - 0x26, 0x84, 0xd3, 0x66, 0xe8, 0x98, 0x9c, 0x36, 0x09, 0x37, 0x54, 0x39, 0x77, 0x37, 0x94, 0xfd, - 0xf1, 0x2e, 0xcf, 0xfd, 0x5a, 0x48, 0x08, 0x0a, 0xa0, 0xe4, 0x07, 0x75, 0x22, 0x6d, 0xdc, 0x4b, - 0xf9, 0x18, 0x6c, 0x57, 0x82, 0xba, 0x11, 0x2e, 0x4e, 0xff, 0x45, 0x98, 0xf3, 0xb1, 0x3f, 0x36, - 0x08, 0x09, 0x73, 0x92, 0x7f, 0xf7, 0x1f, 0x80, 0xa1, 0x90, 0xb4, 0x82, 0xab, 0x78, 0x49, 0xe8, - 0x32, 0x9d, 0x51, 0xc2, 0x9b, 0xb1, 0x84, 0x53, 0x9d, 0xd7, 0x72, 0xe2, 0x4d, 0xa1, 0xcc, 0x94, - 0xce, 0x5b, 0x75, 0xe2, 0x4d, 0xcc, 0x20, 0xe8, 0x9d, 0x30, 0x16, 0x27, 0x8e, 0xc2, 0xc5, 0x91, - 0xef, 0x7d, 0x02, 0x77, 0x2c, 0x79, 0x50, 0x8e, 0x53, 0xd8, 0xe8, 0x55, 0x18, 0xd8, 0x24, 0x5e, - 0x53, 0x7c, 0xfa, 0x6a, 0x7e, 0xba, 0x86, 0xbd, 0xeb, 0x45, 0xe2, 0x35, 0xb9, 0x24, 0xa4, 0xbf, - 0x30, 0x63, 0x45, 0xe7, 0x7d, 0x65, 0xab, 0x1d, 0xc5, 0x41, 0xd3, 0x7d, 0x4d, 0x7a, 0x3a, 0xdf, - 0x95, 0x33, 0xe3, 0xcb, 0x92, 0x3e, 0x77, 0x29, 0xa9, 0xbf, 0x58, 0x73, 0x66, 0xfd, 0xa8, 0xbb, - 0x21, 0x9b, 0x32, 0x1d, 0xe1, 0xb0, 0xcc, 0xbb, 0x1f, 0xf3, 0x92, 0x3e, 0xef, 0x87, 0xfa, 0x8b, - 0x35, 0x67, 0xd4, 0x51, 0xeb, 0x6f, 0x98, 0xf5, 0xe1, 0x6a, 0xce, 0x7d, 0xe0, 0x6b, 0x2f, 0x73, - 0x1d, 0x3e, 0x0a, 0xa5, 0xda, 0xa6, 0x13, 0xc6, 0x13, 0x23, 0x6c, 0xd2, 0xa8, 0x59, 0x3c, 0x47, - 0x1b, 0x31, 0x87, 0xa1, 0x87, 0xa1, 0x18, 0x92, 0x0d, 0x16, 0x9d, 0x6c, 0xc4, 0x45, 0x61, 0xb2, - 0x81, 0x69, 0xbb, 0xb2, 0xcb, 0xc6, 0x7a, 0x06, 0xcc, 0xfd, 0x52, 0x21, 0x69, 0xd8, 0x25, 0x47, - 0x86, 0xaf, 0x87, 0x5a, 0x3b, 0x8c, 0xa4, 0x83, 0xcc, 0x58, 0x0f, 0xac, 0x19, 0x4b, 0x38, 0xfa, - 0x88, 0x05, 0x43, 0x37, 0xa2, 0xc0, 0xf7, 0x49, 0x2c, 0x94, 0xe8, 0xb5, 0x9c, 0x07, 0xeb, 0x12, - 0xa7, 0xae, 0xfb, 0x20, 0x1a, 0xb0, 0xe4, 0x4b, 0xbb, 0x4b, 0x76, 0x6a, 0x5e, 0xbb, 0xde, 0x15, - 0x0c, 0x73, 0x9e, 0x37, 0x63, 0x09, 0xa7, 0xa8, 0xae, 0xcf, 0x51, 0x07, 0x92, 0xa8, 0x8b, 0xbe, - 0x40, 0x15, 0x70, 0xfb, 0x57, 0xcb, 0x70, 0x26, 0x73, 0xf9, 0x50, 0x93, 0x8b, 0x19, 0x35, 0x17, - 0x5c, 0x8f, 0xc8, 0x30, 0x30, 0x66, 0x72, 0x5d, 0x53, 0xad, 0xd8, 0xc0, 0x40, 0x3f, 0x09, 0xd0, - 0x72, 0x42, 0xa7, 0x49, 0x94, 0x03, 0xfb, 0xd0, 0x96, 0x0d, 0xed, 0xc7, 0xaa, 0xa4, 0xa9, 0x37, - 0xf1, 0xaa, 0x29, 0xc2, 0x06, 0x4b, 0xf4, 0x1c, 0x0c, 0x87, 0xc4, 0x23, 0x4e, 0xc4, 0xc2, 0xdf, - 0xd3, 0xb9, 0x3c, 0x58, 0x83, 0xb0, 0x89, 0x87, 0x1e, 0x53, 0x11, 0x73, 0xa9, 0xc8, 0xa1, 0x64, - 0xd4, 0x1c, 0xfa, 0x8c, 0x05, 0x63, 0x1b, 0xae, 0x47, 0x34, 0x77, 0x91, 0x79, 0xb3, 0x72, 0xf8, - 0x97, 0xbc, 0x60, 0xd2, 0xd5, 0x32, 0x34, 0xd1, 0x1c, 0xe1, 0x14, 0x7b, 0xfa, 0x99, 0xb7, 0x49, - 0xc8, 0x84, 0xef, 0x60, 0xf2, 0x33, 0x5f, 0xe3, 0xcd, 0x58, 0xc2, 0xd1, 0x0c, 0x8c, 0xb7, 0x9c, - 0x28, 0x9a, 0x0b, 0x49, 0x9d, 0xf8, 0xb1, 0xeb, 0x78, 0x3c, 0x2f, 0xa6, 0xac, 0xc3, 0xc9, 0x57, - 0x93, 0x60, 0x9c, 0xc6, 0x47, 0xef, 0x86, 0xfb, 0xb9, 0x87, 0x68, 0xd9, 0x8d, 0x22, 0xd7, 0x6f, - 0xe8, 0x69, 0x20, 0x1c, 0x65, 0x93, 0x82, 0xd4, 0xfd, 0x8b, 0xd9, 0x68, 0xb8, 0xd7, 0xf3, 0xe8, - 0x09, 0x28, 0x47, 0x5b, 0x6e, 0x6b, 0x2e, 0xac, 0x47, 0xec, 0x74, 0xa8, 0xac, 0xdd, 0xb2, 0x55, - 0xd1, 0x8e, 0x15, 0x06, 0xaa, 0xc1, 0x08, 0xff, 0x24, 0x3c, 0xe4, 0x4f, 0x48, 0xd0, 0x27, 0x7b, - 0x2a, 0x72, 0x91, 0xe6, 0x39, 0x85, 0x9d, 0x9b, 0xe7, 0xe5, 0x59, 0x15, 0x3f, 0x5a, 0xb9, 0x66, - 0x90, 0xc1, 0x09, 0xa2, 0xc9, 0x3d, 0xdd, 0x70, 0x1f, 0x7b, 0xba, 0xe7, 0x60, 0x78, 0xab, 0xbd, - 0x4e, 0xc4, 0xc8, 0x0b, 0xc1, 0xa6, 0x66, 0xdf, 0x65, 0x0d, 0xc2, 0x26, 0x1e, 0x8b, 0xb6, 0x6c, - 0xb9, 0xe2, 0x5f, 0x34, 0x31, 0x6a, 0x44, 0x5b, 0xae, 0x2e, 0xca, 0x66, 0x6c, 0xe2, 0xd0, 0xae, - 0xd1, 0xb1, 0x58, 0x23, 0x11, 0x4b, 0xa6, 0xa0, 0xc3, 0xa5, 0xba, 0x56, 0x95, 0x00, 0xac, 0x71, - 0xd0, 0x2a, 0x9c, 0xa6, 0x7f, 0xaa, 0x2c, 0xcd, 0xf5, 0x9a, 0xe3, 0xb9, 0x75, 0x1e, 0xfa, 0x37, - 0x9e, 0xf4, 0x6f, 0x56, 0x33, 0x70, 0x70, 0xe6, 0x93, 0xf6, 0x2f, 0x14, 0x92, 0x9e, 0x13, 0x53, - 0x84, 0xa1, 0x88, 0x0a, 0xaa, 0xf8, 0x9a, 0x13, 0x4a, 0x83, 0xe7, 0x90, 0xc9, 0x4d, 0x82, 0xee, - 0x35, 0x27, 0x34, 0x45, 0x1e, 0x63, 0x80, 0x25, 0x27, 0x74, 0x03, 0x06, 0x62, 0xcf, 0xc9, 0x29, - 0x1b, 0xd2, 0xe0, 0xa8, 0x1d, 0x59, 0x4b, 0x33, 0x11, 0x66, 0x3c, 0xd0, 0x43, 0x74, 0xf7, 0xb6, - 0x2e, 0x4f, 0xda, 0xc4, 0x86, 0x6b, 0x3d, 0xc2, 0xac, 0xd5, 0xfe, 0xb3, 0xe1, 0x0c, 0xad, 0xa3, - 0x0c, 0x01, 0xf4, 0x34, 0x00, 0x9d, 0x34, 0xab, 0x21, 0xd9, 0x70, 0x77, 0x84, 0x21, 0xa6, 0x24, - 0xdb, 0x15, 0x05, 0xc1, 0x06, 0x96, 0x7c, 0xa6, 0xda, 0xde, 0xa0, 0xcf, 0x14, 0xba, 0x9f, 0xe1, - 0x10, 0x6c, 0x60, 0xa1, 0x67, 0x61, 0xd0, 0x6d, 0x3a, 0x0d, 0x15, 0x08, 0xfc, 0x10, 0x15, 0x69, - 0x8b, 0xac, 0xe5, 0xf6, 0xee, 0xe4, 0x98, 0xea, 0x10, 0x6b, 0xc2, 0x02, 0x17, 0x7d, 0xc5, 0x82, - 0x91, 0x5a, 0xd0, 0x6c, 0x06, 0x3e, 0xdf, 0x3e, 0x0b, 0x5f, 0xc0, 0x8d, 0xa3, 0x32, 0x93, 0xa6, - 0xe6, 0x0c, 0x66, 0xdc, 0x19, 0xa0, 0xd2, 0x36, 0x4d, 0x10, 0x4e, 0xf4, 0xca, 0x94, 0x7c, 0xa5, - 0x7d, 0x24, 0xdf, 0xaf, 0x59, 0x70, 0x92, 0x3f, 0x6b, 0xec, 0xea, 0x45, 0x86, 0x62, 0x70, 0xc4, - 0xaf, 0xd5, 0xe5, 0xe8, 0x50, 0xce, 0xde, 0x2e, 0x38, 0xee, 0xee, 0x24, 0x5a, 0x80, 0x93, 0x1b, - 0x41, 0x58, 0x23, 0xe6, 0x40, 0x08, 0xb1, 0xad, 0x08, 0x5d, 0x48, 0x23, 0xe0, 0xee, 0x67, 0xd0, - 0x35, 0xb8, 0xcf, 0x68, 0x34, 0xc7, 0x81, 0x4b, 0xee, 0x47, 0x04, 0xb5, 0xfb, 0x2e, 0x64, 0x62, - 0xe1, 0x1e, 0x4f, 0x27, 0x85, 0x64, 0xa5, 0x0f, 0x21, 0xf9, 0x0a, 0x3c, 0x50, 0xeb, 0x1e, 0x99, - 0xed, 0xa8, 0xbd, 0x1e, 0x71, 0x39, 0x5e, 0x9e, 0xfd, 0x3e, 0x41, 0xe0, 0x81, 0xb9, 0x5e, 0x88, - 0xb8, 0x37, 0x0d, 0xf4, 0x01, 0x28, 0x87, 0x84, 0x7d, 0x95, 0x48, 0xa4, 0xeb, 0x1d, 0xd2, 0xdb, - 0xa1, 0x2d, 0x78, 0x4e, 0x56, 0x6b, 0x26, 0xd1, 0x10, 0x61, 0xc5, 0x11, 0xdd, 0x84, 0xa1, 0x96, - 0x13, 0xd7, 0x36, 0x45, 0x92, 0xde, 0xa1, 0x7d, 0xf3, 0x8a, 0x39, 0x3b, 0x4a, 0x31, 0xd2, 0xfa, - 0x39, 0x13, 0x2c, 0xb9, 0x51, 0x5b, 0xad, 0x16, 0x34, 0x5b, 0x81, 0x4f, 0xfc, 0x58, 0x2a, 0x91, - 0x31, 0x7e, 0xde, 0x21, 0x5b, 0xb1, 0x81, 0x41, 0x35, 0x02, 0xf3, 0xfd, 0x5d, 0x77, 0xe3, 0xcd, - 0xa0, 0x1d, 0xcb, 0xad, 0xac, 0xd0, 0x26, 0x4a, 0x23, 0x2c, 0x65, 0xe0, 0xe0, 0xcc, 0x27, 0xd3, - 0xea, 0x6f, 0xfc, 0xce, 0xd4, 0xdf, 0x89, 0xfd, 0xd5, 0xdf, 0xd9, 0x1f, 0x83, 0x93, 0x5d, 0x42, - 0xe3, 0x40, 0x0e, 0xbe, 0x79, 0xb8, 0x2f, 0x7b, 0x79, 0x1e, 0xc8, 0xcd, 0xf7, 0xab, 0xa9, 0x38, - 0x6f, 0x63, 0xcb, 0xd3, 0x87, 0xcb, 0xd8, 0x81, 0x22, 0xf1, 0xb7, 0x85, 0xb6, 0xba, 0x70, 0xb8, - 0x59, 0x72, 0xde, 0xdf, 0xe6, 0xd2, 0x85, 0xf9, 0xc5, 0xce, 0xfb, 0xdb, 0x98, 0xd2, 0x46, 0x9f, - 0xb3, 0x12, 0x06, 0x39, 0x77, 0x34, 0xbf, 0xef, 0x48, 0xf6, 0x78, 0x7d, 0xdb, 0xe8, 0xf6, 0x7f, - 0x2c, 0xc0, 0xb9, 0xfd, 0x88, 0xf4, 0x31, 0x7c, 0x8f, 0xc2, 0x60, 0xc4, 0x22, 0x37, 0x84, 0xf8, - 0x1f, 0xa6, 0xab, 0x82, 0xc7, 0x72, 0xbc, 0x82, 0x05, 0x08, 0x79, 0x50, 0x6c, 0x3a, 0x2d, 0xe1, - 0x7f, 0x5c, 0x3c, 0x6c, 0x3e, 0x1c, 0xfd, 0xef, 0x78, 0xcb, 0x4e, 0x8b, 0x4f, 0x4f, 0xa3, 0x01, - 0x53, 0x36, 0x28, 0x86, 0x92, 0x13, 0x86, 0x8e, 0x0c, 0x13, 0xb8, 0x9c, 0x0f, 0xbf, 0x19, 0x4a, - 0x92, 0x9f, 0xb2, 0x26, 0x9a, 0x30, 0x67, 0x66, 0xff, 0x7c, 0x39, 0x91, 0x3c, 0xc5, 0x62, 0x3f, - 0x22, 0x18, 0x14, 0x6e, 0x47, 0x2b, 0xef, 0x34, 0x44, 0x9e, 0x9d, 0xcc, 0x76, 0xf4, 0xa2, 0xc6, - 0x83, 0x60, 0x85, 0x3e, 0x69, 0xb1, 0x4a, 0x0a, 0x32, 0x23, 0x4d, 0xec, 0x92, 0x8f, 0xa6, 0xb0, - 0x83, 0x59, 0x9f, 0x41, 0x36, 0x62, 0x93, 0xbb, 0xa8, 0x88, 0xc2, 0x76, 0x07, 0xdd, 0x15, 0x51, - 0x98, 0xb5, 0x2f, 0xe1, 0x68, 0x27, 0x23, 0xc6, 0x23, 0x87, 0x6c, 0xfc, 0x3e, 0xa2, 0x3a, 0xbe, - 0x64, 0xc1, 0x49, 0x37, 0x7d, 0x58, 0x2f, 0xf6, 0x94, 0xd7, 0xf3, 0xf1, 0x11, 0x76, 0xc7, 0x02, - 0x28, 0xc3, 0xa1, 0x0b, 0x84, 0xbb, 0x3b, 0x83, 0xea, 0x30, 0xe0, 0xfa, 0x1b, 0x81, 0x30, 0x97, - 0x66, 0x0f, 0xd7, 0xa9, 0x45, 0x7f, 0x23, 0xd0, 0xab, 0x99, 0xfe, 0xc3, 0x8c, 0x3a, 0x5a, 0x82, - 0xd3, 0x32, 0x7f, 0xe6, 0xa2, 0x1b, 0xc5, 0x41, 0xd8, 0x59, 0x72, 0x9b, 0x6e, 0xcc, 0x4c, 0x9d, - 0xe2, 0xec, 0x04, 0xd5, 0x44, 0x38, 0x03, 0x8e, 0x33, 0x9f, 0x42, 0xaf, 0xc1, 0x90, 0x3c, 0x20, - 0x2f, 0xe7, 0xb1, 0x3f, 0xef, 0x9e, 0xff, 0x6a, 0x32, 0x55, 0xc5, 0x09, 0xb9, 0x64, 0x88, 0x3e, - 0x61, 0xc1, 0x18, 0xff, 0x7d, 0xb1, 0x53, 0xe7, 0x29, 0x7b, 0x95, 0x3c, 0xa2, 0xe0, 0xab, 0x09, - 0x9a, 0xb3, 0xe8, 0xd6, 0xee, 0xe4, 0x58, 0xb2, 0x0d, 0xa7, 0xf8, 0xda, 0x5f, 0x19, 0x81, 0xee, - 0x90, 0x82, 0x64, 0xfc, 0x80, 0x75, 0xdc, 0xf1, 0x03, 0x74, 0x97, 0x16, 0xe9, 0xa3, 0xff, 0x1c, - 0x96, 0x99, 0xe0, 0xaa, 0x8f, 0x75, 0x3b, 0x7e, 0x0d, 0x33, 0x1e, 0x28, 0x84, 0xc1, 0x4d, 0xe2, - 0x78, 0xf1, 0x66, 0x3e, 0x27, 0x50, 0x17, 0x19, 0xad, 0x74, 0xfe, 0x1d, 0x6f, 0xc5, 0x82, 0x13, - 0xda, 0x81, 0xa1, 0x4d, 0x3e, 0x17, 0xc5, 0xc6, 0x69, 0xf9, 0xb0, 0x83, 0x9b, 0x98, 0xe0, 0x7a, - 0xe6, 0x89, 0x06, 0x2c, 0xd9, 0xb1, 0x58, 0x35, 0x23, 0x9a, 0x86, 0x4b, 0x91, 0xfc, 0x52, 0x0f, - 0xfb, 0x0f, 0xa5, 0x79, 0x3f, 0x8c, 0x84, 0xa4, 0x16, 0xf8, 0x35, 0xd7, 0x23, 0xf5, 0x19, 0x79, - 0xba, 0x74, 0x90, 0x8c, 0x33, 0xe6, 0x9a, 0xc1, 0x06, 0x0d, 0x9c, 0xa0, 0xc8, 0x16, 0x99, 0xca, - 0x42, 0xa7, 0x1f, 0x84, 0x88, 0x53, 0x84, 0xa5, 0x9c, 0x72, 0xde, 0x19, 0x4d, 0xbe, 0xc8, 0x92, - 0x6d, 0x38, 0xc5, 0x17, 0xbd, 0x04, 0x10, 0xac, 0xf3, 0x80, 0xb4, 0x99, 0x58, 0x1c, 0x29, 0x1c, - 0xe4, 0x55, 0xc7, 0x78, 0xe6, 0xaa, 0xa4, 0x80, 0x0d, 0x6a, 0xe8, 0x32, 0x00, 0x5f, 0x36, 0x6b, - 0x9d, 0x96, 0xdc, 0x5d, 0xc9, 0x94, 0x41, 0xa8, 0x2a, 0xc8, 0xed, 0xdd, 0xc9, 0x6e, 0x07, 0x2e, - 0x8b, 0xba, 0x31, 0x1e, 0x47, 0x3f, 0x01, 0x43, 0x51, 0xbb, 0xd9, 0x74, 0xd4, 0x81, 0x43, 0x8e, - 0xb9, 0xb0, 0x9c, 0xae, 0x21, 0x15, 0x79, 0x03, 0x96, 0x1c, 0xd1, 0x0d, 0x2a, 0xdf, 0x85, 0x78, - 0xe2, 0xab, 0x88, 0x9b, 0x27, 0xdc, 0xad, 0xf6, 0x0e, 0xb9, 0xdb, 0xc0, 0x19, 0x38, 0xb7, 0x77, - 0x27, 0xef, 0x4b, 0xb6, 0x2f, 0x05, 0x22, 0x3b, 0x35, 0x93, 0x26, 0xba, 0x24, 0x8b, 0x52, 0xd1, - 0xd7, 0x96, 0xb5, 0x52, 0x1e, 0xd7, 0x45, 0xa9, 0x58, 0x73, 0xef, 0x31, 0x33, 0x1f, 0x46, 0xcb, - 0x70, 0xaa, 0x16, 0xf8, 0x71, 0x18, 0x78, 0x1e, 0x2f, 0xca, 0xc6, 0x37, 0xba, 0xfc, 0x40, 0xe2, - 0x41, 0xd1, 0xed, 0x53, 0x73, 0xdd, 0x28, 0x38, 0xeb, 0x39, 0x6a, 0x90, 0xa7, 0x95, 0xc3, 0x58, - 0x2e, 0x67, 0xd5, 0x09, 0x9a, 0x42, 0x42, 0x29, 0x1f, 0xf2, 0x3e, 0x6a, 0xc2, 0x4f, 0x9e, 0x58, - 0x8a, 0x2f, 0xf6, 0x2c, 0x8c, 0x90, 0x9d, 0x98, 0x84, 0xbe, 0xe3, 0x5d, 0xc5, 0x4b, 0xd2, 0xfb, - 0xcf, 0x16, 0xe6, 0x79, 0xa3, 0x1d, 0x27, 0xb0, 0x90, 0xad, 0x5c, 0x4e, 0x46, 0x1a, 0x38, 0x77, - 0x39, 0x49, 0x07, 0x93, 0xfd, 0xb5, 0x62, 0xc2, 0x60, 0xbd, 0x2b, 0xe7, 0xa3, 0xac, 0xde, 0x90, - 0x2c, 0xcc, 0xc4, 0x00, 0x62, 0x23, 0x96, 0x27, 0x67, 0x55, 0x6f, 0x68, 0xc5, 0x64, 0x84, 0x93, - 0x7c, 0xd1, 0x16, 0x94, 0x36, 0x83, 0x28, 0x96, 0xdb, 0xb3, 0x43, 0xee, 0x04, 0x2f, 0x06, 0x51, - 0xcc, 0xac, 0x2c, 0xf5, 0xda, 0xb4, 0x25, 0xc2, 0x9c, 0x07, 0xdd, 0xa3, 0x47, 0x9b, 0x4e, 0x58, - 0x8f, 0xe6, 0x58, 0xd1, 0x86, 0x01, 0x66, 0x5e, 0x29, 0x63, 0xba, 0xaa, 0x41, 0xd8, 0xc4, 0xb3, - 0xff, 0xdc, 0x4a, 0x1c, 0x11, 0x5d, 0x67, 0x11, 0xf8, 0xdb, 0xc4, 0xa7, 0x22, 0xca, 0x8c, 0xf9, - 0xfb, 0xa1, 0x54, 0x3e, 0xf3, 0xdb, 0x7a, 0xd5, 0x4f, 0xbc, 0x49, 0x29, 0x4c, 0x31, 0x12, 0x46, - 0x78, 0xe0, 0x87, 0xad, 0x64, 0x62, 0x7a, 0x21, 0x8f, 0x7d, 0x9b, 0x59, 0x9c, 0x61, 0xdf, 0x1c, - 0x77, 0xfb, 0x73, 0x16, 0x0c, 0xcd, 0x3a, 0xb5, 0xad, 0x60, 0x63, 0x03, 0x3d, 0x01, 0xe5, 0x7a, - 0x3b, 0x34, 0x73, 0xe4, 0x95, 0xe7, 0x67, 0x5e, 0xb4, 0x63, 0x85, 0x41, 0xa7, 0xfe, 0x86, 0x53, - 0x93, 0x25, 0x1a, 0x8a, 0x7c, 0xea, 0x5f, 0x60, 0x2d, 0x58, 0x40, 0xe8, 0xf0, 0x37, 0x9d, 0x1d, - 0xf9, 0x70, 0xfa, 0x7c, 0x6a, 0x59, 0x83, 0xb0, 0x89, 0x67, 0xff, 0x5b, 0x0b, 0x26, 0x66, 0x9d, - 0xc8, 0xad, 0xcd, 0xb4, 0xe3, 0xcd, 0x59, 0x37, 0x5e, 0x6f, 0xd7, 0xb6, 0x48, 0xcc, 0x4b, 0x79, - 0xd0, 0x5e, 0xb6, 0x23, 0xba, 0x02, 0xd5, 0x76, 0x59, 0xf5, 0xf2, 0xaa, 0x68, 0xc7, 0x0a, 0x03, - 0xbd, 0x06, 0xc3, 0x2d, 0x27, 0x8a, 0x6e, 0x06, 0x61, 0x1d, 0x93, 0x8d, 0x7c, 0x8a, 0xfd, 0x54, - 0x49, 0x2d, 0x24, 0x31, 0x26, 0x1b, 0x22, 0xda, 0x43, 0xd3, 0xc7, 0x26, 0x33, 0xfb, 0x67, 0x2d, - 0x38, 0x3d, 0x4b, 0x9c, 0x90, 0x84, 0xac, 0x36, 0x90, 0x7a, 0x11, 0xf4, 0x2a, 0x94, 0x63, 0xda, - 0x42, 0x7b, 0x64, 0xe5, 0xdb, 0x23, 0x16, 0xa7, 0xb1, 0x26, 0x88, 0x63, 0xc5, 0xc6, 0x7e, 0xdd, - 0x82, 0x07, 0xb2, 0xfa, 0x32, 0xe7, 0x05, 0xed, 0xfa, 0xdd, 0xe8, 0xd0, 0xdf, 0xb7, 0x60, 0x84, - 0x9d, 0x7d, 0xcf, 0x93, 0xd8, 0x71, 0xbd, 0xae, 0xba, 0x84, 0x56, 0x9f, 0x75, 0x09, 0xcf, 0xc1, - 0xc0, 0x66, 0xd0, 0x24, 0xe9, 0xb8, 0x8d, 0x8b, 0x41, 0x93, 0x60, 0x06, 0x41, 0x4f, 0xd1, 0x49, - 0xe8, 0xfa, 0xb1, 0x43, 0x97, 0xa3, 0x3c, 0x1b, 0x18, 0xe7, 0x13, 0x50, 0x35, 0x63, 0x13, 0xc7, - 0xfe, 0x37, 0x15, 0x18, 0x12, 0x41, 0x46, 0x7d, 0x97, 0x96, 0x91, 0x2e, 0x9c, 0x42, 0x4f, 0x17, - 0x4e, 0x04, 0x83, 0x35, 0x56, 0x20, 0x55, 0x98, 0xe7, 0x97, 0x73, 0x89, 0x4a, 0xe3, 0x35, 0x57, - 0x75, 0xb7, 0xf8, 0x7f, 0x2c, 0x58, 0xa1, 0xcf, 0x5a, 0x30, 0x5e, 0x0b, 0x7c, 0x9f, 0xd4, 0xb4, - 0xed, 0x38, 0x90, 0x47, 0xf0, 0xd1, 0x5c, 0x92, 0xa8, 0x3e, 0x56, 0x4d, 0x01, 0x70, 0x9a, 0x3d, - 0x7a, 0x01, 0x46, 0xf9, 0x98, 0x5d, 0x4b, 0x1c, 0x68, 0xe8, 0x72, 0x75, 0x26, 0x10, 0x27, 0x71, - 0xd1, 0x14, 0x3f, 0x18, 0x12, 0x85, 0xe1, 0x06, 0xb5, 0xdf, 0xd7, 0x28, 0x09, 0x67, 0x60, 0xa0, - 0x10, 0x50, 0x48, 0x36, 0x42, 0x12, 0x6d, 0x8a, 0x20, 0x2c, 0x66, 0xb7, 0x0e, 0xdd, 0x59, 0x51, - 0x08, 0xdc, 0x45, 0x09, 0x67, 0x50, 0x47, 0x5b, 0xc2, 0x87, 0x50, 0xce, 0x43, 0x9e, 0x8b, 0xcf, - 0xdc, 0xd3, 0x95, 0x30, 0x09, 0x25, 0xa6, 0xba, 0x98, 0xbd, 0x5c, 0xe4, 0x89, 0x88, 0x4c, 0xb1, - 0x61, 0xde, 0x8e, 0xe6, 0xe1, 0x44, 0xaa, 0xd8, 0x5e, 0x24, 0x0e, 0x1e, 0x54, 0xd2, 0x59, 0xaa, - 0x4c, 0x5f, 0x84, 0xbb, 0x9e, 0x30, 0xfd, 0x4b, 0xc3, 0xfb, 0xf8, 0x97, 0x3a, 0x2a, 0xd4, 0x97, - 0x1f, 0x09, 0xbc, 0x98, 0xcb, 0x00, 0xf4, 0x15, 0xd7, 0xfb, 0xe9, 0x54, 0x5c, 0xef, 0x28, 0xeb, - 0xc0, 0xb5, 0x7c, 0x3a, 0x70, 0xf0, 0x20, 0xde, 0xbb, 0x19, 0x94, 0xfb, 0xbf, 0x2d, 0x90, 0xdf, - 0x75, 0xce, 0xa9, 0x6d, 0x12, 0x3a, 0x65, 0xd0, 0x3b, 0x61, 0x4c, 0xb9, 0x26, 0xb8, 0x49, 0x64, - 0xb1, 0x59, 0xa3, 0x6c, 0x67, 0x9c, 0x80, 0xe2, 0x14, 0x36, 0x9a, 0x86, 0x0a, 0x1d, 0x27, 0xfe, - 0x28, 0xd7, 0xfb, 0xca, 0xfd, 0x31, 0xb3, 0xba, 0x28, 0x9e, 0xd2, 0x38, 0x28, 0x80, 0x93, 0x9e, - 0x13, 0xc5, 0xac, 0x07, 0xd5, 0x8e, 0x5f, 0xbb, 0xc3, 0x92, 0x2c, 0x2c, 0xb3, 0x69, 0x29, 0x4d, - 0x08, 0x77, 0xd3, 0xb6, 0xff, 0x53, 0x09, 0x46, 0x13, 0x92, 0xf1, 0x80, 0x06, 0xc3, 0x13, 0x50, - 0x96, 0x3a, 0x3c, 0x5d, 0x7b, 0x4a, 0x29, 0x7a, 0x85, 0x41, 0x95, 0xd6, 0xba, 0xd6, 0xaa, 0x69, - 0x03, 0xc7, 0x50, 0xb8, 0xd8, 0xc4, 0x63, 0x42, 0x39, 0xf6, 0xa2, 0x39, 0xcf, 0x25, 0x7e, 0xcc, - 0xbb, 0x99, 0x8f, 0x50, 0x5e, 0x5b, 0xaa, 0x9a, 0x44, 0xb5, 0x50, 0x4e, 0x01, 0x70, 0x9a, 0x3d, - 0xfa, 0x98, 0x05, 0xa3, 0xce, 0xcd, 0x48, 0x57, 0xf1, 0x16, 0x11, 0xbc, 0x87, 0x54, 0x52, 0x89, - 0xc2, 0xe0, 0xdc, 0xab, 0x9f, 0x68, 0xc2, 0x49, 0xa6, 0xe8, 0x0d, 0x0b, 0x10, 0xd9, 0x21, 0x35, - 0x19, 0x63, 0x2c, 0xfa, 0x32, 0x98, 0xc7, 0x0e, 0xfe, 0x7c, 0x17, 0x5d, 0x2e, 0xd5, 0xbb, 0xdb, - 0x71, 0x46, 0x1f, 0xd0, 0x25, 0x40, 0x75, 0x37, 0x72, 0xd6, 0x3d, 0x32, 0x17, 0x34, 0x65, 0x36, - 0xae, 0x38, 0x9c, 0x3e, 0x2b, 0xc6, 0x19, 0xcd, 0x77, 0x61, 0xe0, 0x8c, 0xa7, 0xd8, 0x2c, 0x0b, - 0x83, 0x9d, 0xce, 0xd5, 0xd0, 0x63, 0x5a, 0xc2, 0x9c, 0x65, 0xa2, 0x1d, 0x2b, 0x0c, 0xfb, 0x2f, - 0x8a, 0x6a, 0x29, 0xeb, 0x80, 0x7a, 0xc7, 0x08, 0xec, 0xb5, 0xee, 0x3c, 0xb0, 0x57, 0x87, 0x1d, - 0x75, 0xe7, 0x98, 0x27, 0x52, 0x52, 0x0b, 0x77, 0x29, 0x25, 0xf5, 0xa7, 0xac, 0x44, 0x7d, 0xb7, - 0xe1, 0xa7, 0x5f, 0xca, 0x37, 0x98, 0x7f, 0x8a, 0x87, 0x44, 0xa5, 0xf4, 0x4a, 0x2a, 0x12, 0xee, - 0x09, 0x28, 0x6f, 0x78, 0x0e, 0xab, 0x4a, 0xc2, 0x16, 0xaa, 0x11, 0xae, 0x75, 0x41, 0xb4, 0x63, - 0x85, 0x41, 0xa5, 0xbe, 0x41, 0xf4, 0x40, 0x52, 0xfb, 0xbf, 0x14, 0x61, 0xd8, 0xd0, 0xf8, 0x99, - 0xe6, 0x9b, 0x75, 0x8f, 0x99, 0x6f, 0x85, 0x03, 0x98, 0x6f, 0x3f, 0x09, 0x95, 0x9a, 0xd4, 0x46, - 0xf9, 0xd4, 0xab, 0x4f, 0xeb, 0x38, 0xad, 0x90, 0x54, 0x13, 0xd6, 0x3c, 0xd1, 0x42, 0x22, 0xed, - 0x31, 0xe1, 0x17, 0xc8, 0xca, 0x4b, 0x14, 0x1a, 0xad, 0xfb, 0x99, 0xf4, 0x39, 0x7e, 0x69, 0xff, - 0x73, 0x7c, 0xfb, 0x5b, 0x96, 0xfa, 0xb8, 0xc7, 0x50, 0xdf, 0xe6, 0x46, 0xb2, 0xbe, 0xcd, 0xf9, - 0x5c, 0x86, 0xb9, 0x47, 0x61, 0x9b, 0x2b, 0x30, 0x34, 0x17, 0x34, 0x9b, 0x8e, 0x5f, 0x47, 0xdf, - 0x0f, 0x43, 0x35, 0xfe, 0x53, 0xf8, 0xd0, 0xd8, 0x49, 0xb5, 0x80, 0x62, 0x09, 0x43, 0x0f, 0xc1, - 0x80, 0x13, 0x36, 0xa4, 0xdf, 0x8c, 0x45, 0x94, 0xcd, 0x84, 0x8d, 0x08, 0xb3, 0x56, 0xfb, 0x5f, - 0x0c, 0x00, 0x0b, 0xe4, 0x70, 0x42, 0x52, 0x5f, 0x0b, 0x58, 0x99, 0xd9, 0x23, 0x3d, 0xdf, 0xd5, - 0x9b, 0xba, 0x7b, 0xf9, 0x8c, 0xd7, 0x38, 0xe7, 0x2b, 0x1e, 0xf7, 0x39, 0x5f, 0xf6, 0xd1, 0xed, - 0xc0, 0x3d, 0x74, 0x74, 0x6b, 0x7f, 0xca, 0x02, 0xa4, 0xa2, 0x7f, 0x74, 0x6c, 0xc5, 0x34, 0x54, - 0x54, 0x1c, 0x90, 0x30, 0x00, 0xb5, 0x88, 0x90, 0x00, 0xac, 0x71, 0xfa, 0xd8, 0xc9, 0x3f, 0x2a, - 0xe5, 0x77, 0x31, 0x19, 0xcc, 0xcf, 0xa4, 0xbe, 0x10, 0xe7, 0xf6, 0x6f, 0x17, 0xe0, 0x3e, 0x6e, - 0x3a, 0x2c, 0x3b, 0xbe, 0xd3, 0x20, 0x4d, 0xda, 0xab, 0x7e, 0xa3, 0x65, 0x6a, 0x74, 0x0b, 0xe9, - 0xca, 0xd0, 0xfb, 0xc3, 0xae, 0x5d, 0xbe, 0xe6, 0xf8, 0x2a, 0x5b, 0xf4, 0xdd, 0x18, 0x33, 0xe2, - 0x28, 0x82, 0xb2, 0xbc, 0xcc, 0x45, 0xc8, 0xe2, 0x9c, 0x18, 0x29, 0xb1, 0x24, 0xb4, 0x2c, 0xc1, - 0x8a, 0x11, 0x55, 0xa5, 0x5e, 0x50, 0xdb, 0xc2, 0xa4, 0x15, 0xa4, 0x55, 0xe9, 0x92, 0x68, 0xc7, - 0x0a, 0xc3, 0x6e, 0xc2, 0xb8, 0x1c, 0xc3, 0xd6, 0x65, 0xd2, 0xc1, 0x64, 0x83, 0xea, 0x9f, 0x9a, - 0x6c, 0x32, 0xee, 0x97, 0x51, 0xfa, 0x67, 0xce, 0x04, 0xe2, 0x24, 0xae, 0xac, 0x3c, 0x5b, 0xc8, - 0xae, 0x3c, 0x6b, 0xff, 0xb6, 0x05, 0x69, 0x05, 0x68, 0xd4, 0xd9, 0xb4, 0xf6, 0xac, 0xb3, 0x79, - 0x80, 0x4a, 0x95, 0xef, 0x85, 0x61, 0x27, 0xa6, 0x16, 0x0e, 0xf7, 0x46, 0x14, 0xef, 0xec, 0x14, - 0x6d, 0x39, 0xa8, 0xbb, 0x1b, 0x2e, 0xf3, 0x42, 0x98, 0xe4, 0xec, 0x37, 0x2c, 0xa8, 0xcc, 0x87, - 0x9d, 0x83, 0xe7, 0x40, 0x75, 0x67, 0x38, 0x15, 0x0e, 0x94, 0xe1, 0x24, 0x73, 0xa8, 0x8a, 0xbd, - 0x72, 0xa8, 0xec, 0xbf, 0x1a, 0x80, 0x93, 0x5d, 0x49, 0x7d, 0xe8, 0x79, 0x18, 0x51, 0x5f, 0x49, - 0xba, 0x20, 0x2b, 0x66, 0x54, 0xac, 0x86, 0xe1, 0x04, 0x66, 0x1f, 0x4b, 0x75, 0x11, 0x4e, 0x85, - 0xe4, 0xd5, 0x36, 0x69, 0x93, 0x99, 0x8d, 0x98, 0x84, 0x55, 0x52, 0x0b, 0xfc, 0x3a, 0x2f, 0x54, - 0x5b, 0x9c, 0xbd, 0xff, 0xd6, 0xee, 0xe4, 0x29, 0xdc, 0x0d, 0xc6, 0x59, 0xcf, 0xa0, 0x16, 0x8c, - 0x7a, 0xa6, 0xed, 0x2c, 0xb6, 0x6c, 0x77, 0x64, 0x76, 0xab, 0xd9, 0x9a, 0x68, 0xc6, 0x49, 0x06, - 0x49, 0x03, 0xbc, 0x74, 0x97, 0x0c, 0xf0, 0x8f, 0x6a, 0x03, 0x9c, 0x07, 0xc5, 0xbc, 0x27, 0xe7, - 0xa4, 0xce, 0x7e, 0x2c, 0xf0, 0xc3, 0xd8, 0xd4, 0x2f, 0x42, 0x59, 0x06, 0x0c, 0xf6, 0x15, 0x68, - 0x67, 0xd2, 0xe9, 0x21, 0xdb, 0x1f, 0x83, 0xb7, 0x9e, 0x0f, 0x43, 0x63, 0x30, 0xaf, 0x04, 0xf1, - 0x8c, 0xe7, 0x05, 0x37, 0xa9, 0xb9, 0x72, 0x35, 0x22, 0xc2, 0x27, 0x66, 0xdf, 0x2e, 0x40, 0xc6, - 0xf6, 0x92, 0xae, 0x49, 0x6d, 0x23, 0x25, 0xd6, 0xe4, 0xc1, 0xec, 0x24, 0xb4, 0xc3, 0x83, 0x2a, - 0xb9, 0x35, 0xf0, 0xee, 0xbc, 0xb7, 0xc7, 0x3a, 0xce, 0x52, 0x49, 0x4a, 0x15, 0x6b, 0xf9, 0x34, - 0x80, 0x36, 0x6d, 0x45, 0x1e, 0x91, 0x0a, 0x94, 0xd0, 0x16, 0x30, 0x36, 0xb0, 0xd0, 0x73, 0x30, - 0xec, 0xfa, 0x51, 0xec, 0x78, 0xde, 0x45, 0xd7, 0x8f, 0x85, 0xdb, 0x57, 0x99, 0x3d, 0x8b, 0x1a, - 0x84, 0x4d, 0xbc, 0xb3, 0xef, 0x30, 0xbe, 0xdf, 0x41, 0xbe, 0xfb, 0x26, 0x3c, 0xb0, 0xe0, 0xc6, - 0x2a, 0xfb, 0x4d, 0xcd, 0x37, 0x6a, 0xb9, 0x2a, 0x59, 0x65, 0xf5, 0xcc, 0xf7, 0x34, 0xb2, 0xcf, - 0x0a, 0xc9, 0x64, 0xb9, 0x74, 0xf6, 0x99, 0xfd, 0x3c, 0x9c, 0x5e, 0x70, 0xe3, 0x0b, 0xae, 0x47, - 0x0e, 0xc8, 0xc4, 0xfe, 0xad, 0x41, 0x18, 0x31, 0x33, 0xbd, 0x0f, 0x22, 0xae, 0x5f, 0xa7, 0xc6, - 0xa9, 0x78, 0x3b, 0x57, 0x9d, 0xe8, 0x5e, 0x3f, 0x74, 0xda, 0x79, 0xf6, 0x88, 0x19, 0xf6, 0xa9, - 0xe6, 0x89, 0xcd, 0x0e, 0xa0, 0x9b, 0x50, 0xda, 0x60, 0xd9, 0x51, 0xc5, 0x3c, 0x62, 0x71, 0xb2, - 0x46, 0x54, 0x2f, 0x47, 0x9e, 0x5f, 0xc5, 0xf9, 0x51, 0x9b, 0x22, 0x4c, 0x26, 0xe5, 0x1a, 0x31, - 0xeb, 0x42, 0x59, 0x29, 0x8c, 0x5e, 0x2a, 0xa1, 0x74, 0x07, 0x2a, 0x21, 0x21, 0xa0, 0x07, 0xef, - 0x92, 0x80, 0x66, 0x99, 0x6e, 0xf1, 0x26, 0xb3, 0x78, 0x45, 0x92, 0xcd, 0x10, 0x1b, 0x04, 0x23, - 0xd3, 0x2d, 0x01, 0xc6, 0x69, 0x7c, 0xf4, 0x21, 0x25, 0xe2, 0xcb, 0x79, 0x78, 0xcc, 0xcd, 0x19, - 0x7d, 0xd4, 0xd2, 0xfd, 0x53, 0x05, 0x18, 0x5b, 0xf0, 0xdb, 0xab, 0x0b, 0xab, 0xed, 0x75, 0xcf, - 0xad, 0x5d, 0x26, 0x1d, 0x2a, 0xc2, 0xb7, 0x48, 0x67, 0x71, 0x5e, 0xac, 0x20, 0x35, 0x67, 0x2e, - 0xd3, 0x46, 0xcc, 0x61, 0x54, 0x18, 0x6d, 0xb8, 0x7e, 0x83, 0x84, 0xad, 0xd0, 0x15, 0xce, 0x6c, - 0x43, 0x18, 0x5d, 0xd0, 0x20, 0x6c, 0xe2, 0x51, 0xda, 0xc1, 0x4d, 0x9f, 0x84, 0x69, 0xd3, 0x7f, - 0x85, 0x36, 0x62, 0x0e, 0xa3, 0x48, 0x71, 0xd8, 0x16, 0xbe, 0x22, 0x03, 0x69, 0x8d, 0x36, 0x62, - 0x0e, 0xa3, 0x2b, 0x3d, 0x6a, 0xaf, 0xb3, 0x50, 0xa7, 0x54, 0x46, 0x4f, 0x95, 0x37, 0x63, 0x09, - 0xa7, 0xa8, 0x5b, 0xa4, 0x33, 0xef, 0xc4, 0x4e, 0x3a, 0xed, 0xf1, 0x32, 0x6f, 0xc6, 0x12, 0xce, - 0x4a, 0xe9, 0x26, 0x87, 0xe3, 0xbb, 0xae, 0x94, 0x6e, 0xb2, 0xfb, 0x3d, 0x3c, 0x0e, 0x7f, 0xaf, - 0x00, 0x23, 0x66, 0x80, 0x22, 0x6a, 0xa4, 0xcc, 0xf4, 0x95, 0xae, 0x4a, 0xec, 0x3f, 0x9a, 0x75, - 0x4b, 0x69, 0xc3, 0x8d, 0x83, 0x56, 0xf4, 0x24, 0xf1, 0x1b, 0xae, 0x4f, 0x58, 0xac, 0x06, 0x0f, - 0x6c, 0x4c, 0x44, 0x3f, 0xce, 0x05, 0x75, 0x72, 0x27, 0x76, 0xfe, 0xdd, 0xb8, 0xc9, 0xe5, 0x3a, - 0x9c, 0xec, 0xca, 0xaf, 0xed, 0xc3, 0xec, 0xd9, 0xb7, 0xfe, 0x81, 0x8d, 0x61, 0x98, 0x12, 0x96, - 0x25, 0xe4, 0xe6, 0xe0, 0x24, 0x5f, 0xbc, 0x94, 0x13, 0x4b, 0x97, 0x54, 0x39, 0xd3, 0xec, 0xb4, - 0xe6, 0x5a, 0x1a, 0x88, 0xbb, 0xf1, 0xed, 0x4f, 0x5b, 0x30, 0x9a, 0x48, 0x79, 0xce, 0xc9, 0x40, - 0x63, 0xab, 0x3b, 0x60, 0x31, 0xba, 0x2c, 0x67, 0xa2, 0xc8, 0x14, 0xb8, 0x5e, 0xdd, 0x1a, 0x84, - 0x4d, 0x3c, 0xfb, 0x73, 0x05, 0x28, 0xcb, 0x90, 0xa2, 0x3e, 0xba, 0xf2, 0x49, 0x0b, 0x46, 0xd5, - 0x09, 0x19, 0x73, 0x69, 0x16, 0xf2, 0xc8, 0xc0, 0xa2, 0x3d, 0x50, 0x4e, 0x11, 0x7f, 0x23, 0xd0, - 0xbb, 0x05, 0x6c, 0x32, 0xc3, 0x49, 0xde, 0xe8, 0x1a, 0x40, 0xd4, 0x89, 0x62, 0xd2, 0x34, 0x9c, - 0xab, 0xb6, 0x31, 0xcb, 0xa6, 0x6a, 0x41, 0x48, 0xe8, 0x9c, 0xba, 0x12, 0xd4, 0x49, 0x55, 0x61, - 0x6a, 0xb3, 0x4d, 0xb7, 0x61, 0x83, 0x92, 0xfd, 0x2b, 0x05, 0x38, 0x91, 0xee, 0x12, 0x7a, 0x0f, - 0x8c, 0x48, 0xee, 0xc6, 0x26, 0x5c, 0x06, 0x44, 0x8d, 0x60, 0x03, 0x76, 0x7b, 0x77, 0x72, 0xb2, - 0xfb, 0x96, 0xdd, 0x29, 0x13, 0x05, 0x27, 0x88, 0xf1, 0x63, 0x4a, 0x71, 0x9e, 0x3e, 0xdb, 0x99, - 0x69, 0xb5, 0xc4, 0x59, 0xa3, 0x71, 0x4c, 0x69, 0x42, 0x71, 0x0a, 0x1b, 0xad, 0xc2, 0x69, 0xa3, - 0xe5, 0x0a, 0x71, 0x1b, 0x9b, 0xeb, 0x41, 0x28, 0x77, 0x7d, 0x0f, 0xe9, 0xf0, 0xcb, 0x6e, 0x1c, - 0x9c, 0xf9, 0x24, 0xb5, 0x30, 0x6a, 0x4e, 0xcb, 0xa9, 0xb9, 0x71, 0x47, 0x78, 0x8b, 0x95, 0x3c, - 0x9c, 0x13, 0xed, 0x58, 0x61, 0xd8, 0xbf, 0x3c, 0x00, 0x27, 0x78, 0xbc, 0x21, 0x51, 0xe1, 0xb4, - 0xe8, 0x3d, 0x50, 0x89, 0x62, 0x27, 0xe4, 0x5b, 0x7e, 0xeb, 0xc0, 0x32, 0x40, 0x27, 0x3c, 0x4b, - 0x22, 0x58, 0xd3, 0x43, 0x2f, 0xb1, 0x6a, 0x51, 0x6e, 0xb4, 0xc9, 0xa8, 0x17, 0xee, 0xcc, 0xa1, - 0x70, 0x41, 0x51, 0xc0, 0x06, 0x35, 0xf4, 0x23, 0x50, 0x6a, 0x6d, 0x3a, 0x91, 0xf4, 0x76, 0x3d, - 0x26, 0x17, 0xdc, 0x2a, 0x6d, 0xbc, 0xbd, 0x3b, 0x79, 0x26, 0xfd, 0xaa, 0x0c, 0x80, 0xf9, 0x43, - 0xa6, 0xb8, 0x1c, 0xd8, 0xff, 0x46, 0x93, 0x7a, 0xd8, 0xa9, 0x5e, 0x9c, 0x49, 0xdf, 0x81, 0x31, - 0xcf, 0x5a, 0xb1, 0x80, 0xd2, 0xc5, 0xbd, 0xc9, 0x59, 0xd6, 0x29, 0xf2, 0x60, 0x52, 0x75, 0x5f, - 0xd4, 0x20, 0x6c, 0xe2, 0xa1, 0x4f, 0x75, 0x47, 0xa3, 0x0e, 0x1d, 0x41, 0xaa, 0x42, 0xbf, 0x71, - 0xa8, 0xe7, 0xa1, 0x22, 0xba, 0xba, 0x16, 0xa0, 0xe7, 0x61, 0x84, 0x3b, 0x53, 0x66, 0x43, 0xc7, - 0xaf, 0x6d, 0xa6, 0x5d, 0x20, 0x6b, 0x06, 0x0c, 0x27, 0x30, 0xed, 0x65, 0x18, 0xe8, 0x53, 0x5a, - 0xf5, 0xb5, 0xb3, 0x7d, 0x11, 0xca, 0x94, 0x9c, 0xdc, 0xbe, 0xe4, 0x41, 0x32, 0x80, 0xb2, 0xbc, - 0x1f, 0x0f, 0xd9, 0x50, 0x74, 0x1d, 0x19, 0x75, 0xa0, 0x96, 0xd0, 0x62, 0x14, 0xb5, 0xd9, 0xb4, - 0xa3, 0x40, 0xf4, 0x28, 0x14, 0xc9, 0x4e, 0x2b, 0x1d, 0x5e, 0x70, 0x7e, 0xa7, 0xe5, 0x86, 0x24, - 0xa2, 0x48, 0x64, 0xa7, 0x85, 0xce, 0x42, 0xc1, 0xad, 0x8b, 0x19, 0x09, 0x02, 0xa7, 0xb0, 0x38, - 0x8f, 0x0b, 0x6e, 0xdd, 0xde, 0x81, 0x8a, 0xba, 0x90, 0x0f, 0x6d, 0x49, 0xdb, 0xc4, 0xca, 0x23, - 0xde, 0x54, 0xd2, 0xed, 0x61, 0x95, 0xb4, 0x01, 0x74, 0x26, 0x7d, 0x5e, 0xba, 0xec, 0x1c, 0x0c, - 0xd4, 0x02, 0x51, 0x03, 0xa5, 0xac, 0xc9, 0x30, 0xa3, 0x84, 0x41, 0xec, 0xeb, 0x30, 0x76, 0xd9, - 0x0f, 0x6e, 0xb2, 0x7b, 0x73, 0x58, 0x99, 0x58, 0x4a, 0x78, 0x83, 0xfe, 0x48, 0x9b, 0xc0, 0x0c, - 0x8a, 0x39, 0x4c, 0x15, 0xb0, 0x2c, 0xf4, 0x2a, 0x60, 0x69, 0x7f, 0xd8, 0x82, 0x11, 0x95, 0x92, - 0xbb, 0xb0, 0xbd, 0x45, 0xe9, 0x36, 0xc2, 0xa0, 0xdd, 0x4a, 0xd3, 0x65, 0x77, 0x7f, 0x62, 0x0e, - 0x33, 0x73, 0xd5, 0x0b, 0xfb, 0xe4, 0xaa, 0x9f, 0x83, 0x81, 0x2d, 0xd7, 0xaf, 0xa7, 0x5d, 0x86, - 0x97, 0x5d, 0xbf, 0x8e, 0x19, 0x84, 0x76, 0xe1, 0x84, 0xea, 0x82, 0x34, 0x3e, 0x9e, 0x87, 0x91, - 0xf5, 0xb6, 0xeb, 0xd5, 0x65, 0xfd, 0xdb, 0xd4, 0x72, 0x99, 0x35, 0x60, 0x38, 0x81, 0x89, 0x9e, - 0x06, 0x58, 0x77, 0x7d, 0x27, 0xec, 0xac, 0x6a, 0x6b, 0x47, 0x29, 0xc0, 0x59, 0x05, 0xc1, 0x06, - 0x96, 0xfd, 0x99, 0x22, 0x8c, 0x25, 0x13, 0x93, 0xfb, 0x70, 0x1f, 0x3c, 0x0a, 0x25, 0x96, 0xab, - 0x9c, 0xfe, 0xb4, 0xbc, 0x64, 0x2c, 0x87, 0xa1, 0x08, 0x06, 0xf9, 0x62, 0xce, 0xe7, 0xfe, 0x44, - 0xd5, 0x49, 0xe5, 0x67, 0x64, 0x51, 0xb9, 0xc2, 0x6d, 0x2b, 0x58, 0xa1, 0x8f, 0x59, 0x30, 0x14, - 0xb4, 0xcc, 0xc2, 0x87, 0xef, 0xce, 0x33, 0x69, 0x5b, 0x64, 0x72, 0x8a, 0x1d, 0x9f, 0xfa, 0xf4, - 0xf2, 0x73, 0x48, 0xd6, 0x67, 0x7f, 0x18, 0x46, 0x4c, 0xcc, 0xfd, 0x36, 0x7d, 0x65, 0x73, 0xd3, - 0xf7, 0x49, 0x73, 0x52, 0x88, 0xb4, 0xf4, 0x3e, 0x96, 0xdb, 0x55, 0x28, 0xd5, 0x54, 0xe8, 0xd2, - 0x1d, 0x55, 0x4d, 0x57, 0x65, 0x9b, 0xd8, 0xb1, 0x30, 0xa7, 0x66, 0x7f, 0xcb, 0x32, 0xe6, 0x07, - 0x26, 0xd1, 0x62, 0x1d, 0x85, 0x50, 0x6c, 0x6c, 0x6f, 0x09, 0x35, 0x7f, 0x29, 0xa7, 0xe1, 0x5d, - 0xd8, 0xde, 0xd2, 0x73, 0xdc, 0x6c, 0xc5, 0x94, 0x59, 0x1f, 0xce, 0xf0, 0x44, 0xf5, 0x82, 0xe2, - 0xfe, 0xd5, 0x0b, 0xec, 0x37, 0x0a, 0x70, 0xb2, 0x6b, 0x52, 0xa1, 0xd7, 0xa0, 0x14, 0xd2, 0xb7, - 0x14, 0xaf, 0xb7, 0x94, 0x5b, 0xbd, 0x81, 0x68, 0xb1, 0xae, 0xd5, 0x67, 0xb2, 0x1d, 0x73, 0x96, - 0xe8, 0x12, 0x20, 0x1d, 0x60, 0xa7, 0x3c, 0xf1, 0xfc, 0x95, 0x55, 0x14, 0xce, 0x4c, 0x17, 0x06, - 0xce, 0x78, 0x0a, 0xbd, 0x90, 0x76, 0xe8, 0x17, 0x93, 0x27, 0x49, 0x7b, 0xf9, 0xe6, 0xed, 0xdf, - 0x28, 0xc0, 0x68, 0xa2, 0x0e, 0x25, 0xf2, 0xa0, 0x4c, 0x3c, 0x76, 0xcc, 0x27, 0x95, 0xcd, 0x61, - 0x6f, 0x95, 0x50, 0x0a, 0xf2, 0xbc, 0xa0, 0x8b, 0x15, 0x87, 0x7b, 0x23, 0x38, 0xe7, 0x79, 0x18, - 0x91, 0x1d, 0x7a, 0xb7, 0xd3, 0xf4, 0xc4, 0x00, 0xaa, 0x39, 0x7a, 0xde, 0x80, 0xe1, 0x04, 0xa6, - 0xfd, 0x3b, 0x45, 0x98, 0xe0, 0xe7, 0xa2, 0x75, 0x35, 0xf3, 0x96, 0xa5, 0x3f, 0xe1, 0xe7, 0x74, - 0xb5, 0x58, 0x2b, 0x8f, 0xab, 0x93, 0x7b, 0x31, 0xea, 0x2b, 0xa6, 0xf4, 0x8b, 0xa9, 0x98, 0x52, - 0xbe, 0xc5, 0x6b, 0x1c, 0x51, 0x8f, 0xbe, 0xbb, 0x82, 0x4c, 0xff, 0x49, 0x01, 0xc6, 0x53, 0x37, - 0x64, 0xa1, 0xcf, 0x24, 0x2f, 0x55, 0xb0, 0xf2, 0x38, 0x33, 0xda, 0xf3, 0xd2, 0xa4, 0x83, 0x5d, - 0xad, 0x70, 0x97, 0x96, 0x8a, 0xfd, 0xcd, 0x02, 0x8c, 0x25, 0xaf, 0xf6, 0xba, 0x07, 0x47, 0xea, - 0xed, 0x50, 0x61, 0xb7, 0xd7, 0xb0, 0x1b, 0xe9, 0xf9, 0x91, 0x13, 0xbf, 0x28, 0x44, 0x36, 0x62, - 0x0d, 0xbf, 0x27, 0x6e, 0xac, 0xb0, 0xff, 0x99, 0x05, 0x67, 0xf8, 0x5b, 0xa6, 0xe7, 0xe1, 0xdf, - 0xc9, 0x1a, 0xdd, 0x97, 0xf3, 0xed, 0x60, 0xaa, 0xca, 0xf1, 0x7e, 0xe3, 0xcb, 0x2e, 0x90, 0x16, - 0xbd, 0x4d, 0x4e, 0x85, 0x7b, 0xb0, 0xb3, 0x07, 0x9a, 0x0c, 0xf6, 0x37, 0x8b, 0xa0, 0xef, 0xcc, - 0x46, 0xae, 0xc8, 0x7a, 0xcf, 0xa5, 0xda, 0x73, 0xb5, 0xe3, 0xd7, 0xf4, 0xed, 0xdc, 0xe5, 0x54, - 0xd2, 0xfb, 0xcf, 0x58, 0x30, 0xec, 0xfa, 0x6e, 0xec, 0x3a, 0xcc, 0x65, 0x93, 0xcf, 0xc5, 0xb7, - 0x8a, 0xdd, 0x22, 0xa7, 0x1c, 0x84, 0xe6, 0x39, 0xa5, 0x62, 0x86, 0x4d, 0xce, 0xe8, 0xfd, 0x22, - 0xed, 0xa3, 0x98, 0x5b, 0xe9, 0x88, 0x72, 0x2a, 0xd7, 0xa3, 0x45, 0x0d, 0xaf, 0x38, 0xcc, 0xa9, - 0xe2, 0x0a, 0xa6, 0xa4, 0xd4, 0xc5, 0x01, 0xca, 0xb4, 0x65, 0xcd, 0x98, 0x33, 0xb2, 0x23, 0x40, - 0xdd, 0x63, 0x71, 0xc0, 0x90, 0xfa, 0x69, 0xa8, 0x38, 0xed, 0x38, 0x68, 0xd2, 0x61, 0x12, 0x47, - 0xa9, 0x3a, 0x69, 0x40, 0x02, 0xb0, 0xc6, 0xb1, 0x3f, 0x53, 0x82, 0x54, 0x1a, 0x3a, 0xda, 0x31, - 0xef, 0x7b, 0xb7, 0xf2, 0xbd, 0xef, 0x5d, 0x75, 0x26, 0xeb, 0xce, 0x77, 0xd4, 0x90, 0xde, 0x2f, - 0x6e, 0x63, 0xbe, 0x98, 0xf6, 0x7e, 0xfd, 0x78, 0x7f, 0xa7, 0x0a, 0x74, 0xae, 0x4e, 0xf3, 0x2a, - 0x5e, 0x53, 0xfb, 0x3a, 0xca, 0xf6, 0xbb, 0xfa, 0xf7, 0x23, 0xe2, 0x9a, 0x1e, 0x4c, 0xa2, 0xb6, - 0x17, 0x8b, 0xd9, 0xf0, 0x62, 0x8e, 0xab, 0x8c, 0x13, 0xd6, 0xb5, 0x5c, 0xf8, 0x7f, 0x6c, 0x30, - 0x4d, 0xba, 0x33, 0x07, 0x8f, 0xd4, 0x9d, 0x39, 0x94, 0xab, 0x3b, 0xf3, 0x69, 0x00, 0x36, 0xb7, - 0x79, 0xe8, 0x6f, 0x99, 0x79, 0x99, 0x94, 0x28, 0xc4, 0x0a, 0x82, 0x0d, 0x2c, 0xfb, 0x07, 0x21, - 0x59, 0x8c, 0x08, 0x4d, 0xca, 0xda, 0x47, 0xfc, 0xc4, 0x83, 0x65, 0x5d, 0x25, 0xca, 0x14, 0xfd, - 0x9a, 0x05, 0x66, 0xc5, 0x24, 0xf4, 0x2a, 0x2f, 0xcd, 0x64, 0xe5, 0x71, 0x32, 0x6e, 0xd0, 0x9d, - 0x5a, 0x76, 0x5a, 0xa9, 0x10, 0x0d, 0x59, 0x9f, 0xe9, 0xec, 0x3b, 0xa0, 0x2c, 0xa1, 0x07, 0x32, - 0xea, 0x3e, 0x04, 0xa7, 0x64, 0x06, 0xb7, 0xf4, 0xd1, 0x8b, 0x53, 0xd5, 0xfd, 0x5d, 0x3f, 0xd2, - 0x9f, 0x53, 0xe8, 0xe5, 0xcf, 0xe9, 0xe3, 0xd6, 0xff, 0x5f, 0xb7, 0xe0, 0x5c, 0xba, 0x03, 0xd1, - 0x72, 0xe0, 0xbb, 0x71, 0x10, 0x56, 0x49, 0x1c, 0xbb, 0x7e, 0x83, 0x55, 0xa4, 0xbc, 0xe9, 0x84, - 0xf2, 0x56, 0x12, 0x26, 0x28, 0xaf, 0x3b, 0xa1, 0x8f, 0x59, 0x2b, 0xea, 0xc0, 0x20, 0x8f, 0x0f, - 0x15, 0xd6, 0xfa, 0x21, 0xd7, 0x46, 0xc6, 0x70, 0xe8, 0xed, 0x02, 0x8f, 0x4d, 0xc5, 0x82, 0xa1, - 0xfd, 0x6d, 0x0b, 0xd0, 0xca, 0x36, 0x09, 0x43, 0xb7, 0x6e, 0x44, 0xb4, 0xb2, 0xeb, 0xee, 0x8c, - 0x6b, 0xed, 0xcc, 0xfa, 0x02, 0xa9, 0xeb, 0xee, 0x8c, 0x7f, 0xd9, 0xd7, 0xdd, 0x15, 0x0e, 0x76, - 0xdd, 0x1d, 0x5a, 0x81, 0x33, 0x4d, 0xbe, 0xdd, 0xe0, 0x57, 0x48, 0xf1, 0xbd, 0x87, 0x4a, 0x85, - 0x7d, 0xe0, 0xd6, 0xee, 0xe4, 0x99, 0xe5, 0x2c, 0x04, 0x9c, 0xfd, 0x9c, 0xfd, 0x0e, 0x40, 0x3c, - 0x90, 0x75, 0x2e, 0x2b, 0x16, 0xaf, 0xa7, 0xfb, 0xc5, 0xfe, 0x42, 0x09, 0xc6, 0x53, 0x35, 0xeb, - 0xe9, 0x56, 0xaf, 0x3b, 0xf8, 0xef, 0xd0, 0xfa, 0xbb, 0xbb, 0x7b, 0x7d, 0x85, 0x13, 0xfa, 0x50, - 0x72, 0xfd, 0x56, 0x3b, 0xce, 0x27, 0x13, 0x9f, 0x77, 0x62, 0x91, 0x12, 0x34, 0xdc, 0xc5, 0xf4, - 0x2f, 0xe6, 0x6c, 0xf2, 0x0c, 0x4e, 0x4c, 0x18, 0xe3, 0x03, 0x77, 0xc9, 0x1d, 0xf0, 0x11, 0x1d, - 0x2a, 0x58, 0xca, 0xc3, 0xb1, 0x98, 0x9a, 0x2c, 0x47, 0x1d, 0x4a, 0xf2, 0xb5, 0x02, 0x0c, 0x1b, - 0x1f, 0x0d, 0xfd, 0x52, 0xb2, 0x9e, 0xa0, 0x95, 0xdf, 0x2b, 0x31, 0xfa, 0x53, 0xba, 0x62, 0x20, - 0x7f, 0xa5, 0xc7, 0xba, 0x4b, 0x09, 0xde, 0xde, 0x9d, 0x3c, 0x91, 0x2a, 0x16, 0x98, 0x28, 0x2f, - 0x78, 0xf6, 0x83, 0x30, 0x9e, 0x22, 0x93, 0xf1, 0xca, 0x6b, 0xe6, 0x2b, 0x1f, 0xda, 0x2d, 0x65, - 0x0e, 0xd9, 0x57, 0xe9, 0x90, 0x89, 0x04, 0xe0, 0xc0, 0x23, 0x7d, 0xf8, 0x60, 0x53, 0x79, 0xfe, - 0x85, 0x3e, 0xf3, 0xfc, 0x1f, 0x87, 0x72, 0x2b, 0xf0, 0xdc, 0x9a, 0xab, 0xca, 0xfb, 0xb2, 0xca, - 0x02, 0xab, 0xa2, 0x0d, 0x2b, 0x28, 0xba, 0x09, 0x95, 0x1b, 0x37, 0x63, 0x7e, 0xfa, 0x23, 0xfc, - 0xdb, 0x79, 0x1d, 0xfa, 0x28, 0xa3, 0x45, 0x1d, 0x2f, 0x61, 0xcd, 0x0b, 0xd9, 0x30, 0xc8, 0x94, - 0xa0, 0x4c, 0x06, 0x62, 0xbe, 0x77, 0xa6, 0x1d, 0x23, 0x2c, 0x20, 0xf6, 0x97, 0x2b, 0x70, 0x3a, - 0xeb, 0xe2, 0x10, 0xf4, 0x01, 0x18, 0xe4, 0x7d, 0xcc, 0xe7, 0x6e, 0xaa, 0x2c, 0x1e, 0x0b, 0x8c, - 0xa0, 0xe8, 0x16, 0xfb, 0x8d, 0x05, 0x4f, 0xc1, 0xdd, 0x73, 0xd6, 0xc5, 0x0c, 0x39, 0x1a, 0xee, - 0x4b, 0x8e, 0xe6, 0xbe, 0xe4, 0x70, 0xee, 0x9e, 0xb3, 0x8e, 0x76, 0xa0, 0xd4, 0x70, 0x63, 0xe2, - 0x08, 0x27, 0xc2, 0xf5, 0x23, 0x61, 0x4e, 0x1c, 0x6e, 0xa5, 0xb1, 0x9f, 0x98, 0x33, 0x44, 0x5f, - 0xb2, 0x60, 0x7c, 0x3d, 0x59, 0x60, 0x44, 0x08, 0x4f, 0xe7, 0x08, 0x2e, 0x87, 0x49, 0x32, 0xe2, - 0xf7, 0x3d, 0xa6, 0x1a, 0x71, 0xba, 0x3b, 0xe8, 0xa3, 0x16, 0x0c, 0x6d, 0xb8, 0x9e, 0x51, 0x7d, - 0xff, 0x08, 0x3e, 0xce, 0x05, 0xc6, 0x40, 0xef, 0x38, 0xf8, 0xff, 0x08, 0x4b, 0xce, 0xbd, 0x34, - 0xd5, 0xe0, 0x61, 0x35, 0xd5, 0xd0, 0x5d, 0xd2, 0x54, 0x9f, 0xb0, 0xa0, 0xa2, 0x46, 0x5a, 0x14, - 0x6a, 0x78, 0xcf, 0x11, 0x7e, 0x72, 0xee, 0x39, 0x51, 0x7f, 0xb1, 0x66, 0x8e, 0x3e, 0x6b, 0xc1, - 0xb0, 0xf3, 0x5a, 0x3b, 0x24, 0x75, 0xb2, 0x1d, 0xb4, 0x22, 0x51, 0x3e, 0xf1, 0xe5, 0xfc, 0x3b, - 0x33, 0x43, 0x99, 0xcc, 0x93, 0xed, 0x95, 0x56, 0x24, 0x12, 0x15, 0x75, 0x03, 0x36, 0xbb, 0x60, - 0xef, 0x16, 0x60, 0x72, 0x1f, 0x0a, 0xe8, 0x79, 0x18, 0x09, 0xc2, 0x86, 0xe3, 0xbb, 0xaf, 0x99, - 0x15, 0x83, 0x94, 0x95, 0xb5, 0x62, 0xc0, 0x70, 0x02, 0xd3, 0x2c, 0x25, 0x51, 0xd8, 0xa7, 0x94, - 0xc4, 0x39, 0x18, 0x08, 0x49, 0x2b, 0x48, 0x6f, 0x16, 0x58, 0x92, 0x10, 0x83, 0xa0, 0x87, 0xa1, - 0xe8, 0xb4, 0x5c, 0x11, 0x5a, 0xa2, 0xf6, 0x40, 0x33, 0xab, 0x8b, 0x98, 0xb6, 0x27, 0x2a, 0xdb, - 0x94, 0x8e, 0xa5, 0xb2, 0x0d, 0x55, 0x03, 0xe2, 0xec, 0x62, 0x50, 0xab, 0x81, 0xe4, 0x99, 0x82, - 0xfd, 0x46, 0x11, 0x1e, 0xde, 0x73, 0xbe, 0xe8, 0x38, 0x53, 0x6b, 0x8f, 0x38, 0x53, 0x39, 0x3c, - 0x85, 0xfd, 0x86, 0xa7, 0xd8, 0x63, 0x78, 0x3e, 0x4a, 0x97, 0x81, 0xac, 0xb4, 0x94, 0xcf, 0x75, - 0xbf, 0xbd, 0x0a, 0x37, 0x89, 0x15, 0x20, 0xa1, 0x58, 0xf3, 0xa5, 0x7b, 0x80, 0x44, 0x19, 0x85, - 0x52, 0x1e, 0x6a, 0xa0, 0x67, 0xb5, 0x23, 0x3e, 0xf7, 0x7b, 0xd5, 0x66, 0xb0, 0x7f, 0x73, 0x00, - 0x1e, 0xed, 0x43, 0x7a, 0x9b, 0xb3, 0xd8, 0xea, 0x73, 0x16, 0x7f, 0x97, 0x7f, 0xa6, 0x8f, 0x67, - 0x7e, 0x26, 0x9c, 0xff, 0x67, 0xda, 0xfb, 0x0b, 0xa1, 0x27, 0xa0, 0xec, 0xfa, 0x11, 0xa9, 0xb5, - 0x43, 0x1e, 0x73, 0x6f, 0x64, 0x10, 0x2e, 0x8a, 0x76, 0xac, 0x30, 0xe8, 0x9e, 0xae, 0xe6, 0xd0, - 0xe5, 0x3f, 0x94, 0x53, 0xda, 0xbc, 0x99, 0x8c, 0xc8, 0x4d, 0x8a, 0xb9, 0x19, 0x2a, 0x01, 0x38, - 0x1b, 0xfb, 0xef, 0x5a, 0x70, 0xb6, 0xb7, 0x8a, 0x45, 0x4f, 0xc1, 0xf0, 0x3a, 0x0b, 0xdc, 0x62, - 0x17, 0xbd, 0xcb, 0xa9, 0xc3, 0xde, 0x57, 0x37, 0x63, 0x13, 0x07, 0xcd, 0xc1, 0x49, 0x33, 0xe2, - 0x6b, 0xd9, 0x88, 0x2a, 0x61, 0x4e, 0x80, 0xb5, 0x34, 0x10, 0x77, 0xe3, 0xdb, 0xdf, 0x29, 0x66, - 0x77, 0x8b, 0x9b, 0x62, 0x07, 0x99, 0xcd, 0x62, 0xae, 0x16, 0xfa, 0x90, 0xb8, 0xc5, 0xe3, 0x96, - 0xb8, 0x03, 0xbd, 0x24, 0x2e, 0x9a, 0x87, 0x13, 0xc6, 0x4d, 0x7c, 0xbc, 0x90, 0x02, 0x8f, 0x32, - 0x54, 0x55, 0x90, 0x56, 0x53, 0x70, 0xdc, 0xf5, 0xc4, 0x3d, 0x3e, 0xf5, 0x7e, 0xb9, 0x00, 0x0f, - 0xf4, 0xb4, 0x7e, 0x8f, 0x49, 0xa3, 0x98, 0x9f, 0x7f, 0xe0, 0x78, 0x3e, 0xbf, 0xf9, 0x51, 0x4a, - 0xfb, 0x7d, 0x14, 0xfb, 0x0f, 0x0b, 0x3d, 0x17, 0x02, 0xdd, 0x09, 0x7d, 0xcf, 0x8e, 0xd2, 0x0b, - 0x30, 0xea, 0xb4, 0x5a, 0x1c, 0x8f, 0x45, 0x6c, 0xa7, 0xaa, 0xae, 0xcd, 0x98, 0x40, 0x9c, 0xc4, - 0xed, 0xcb, 0xa6, 0xf9, 0x13, 0x0b, 0x2a, 0x98, 0x6c, 0x70, 0x69, 0x84, 0x6e, 0x88, 0x21, 0xb2, - 0xf2, 0xa8, 0x7b, 0x4d, 0x07, 0x36, 0x72, 0x59, 0x3d, 0xe8, 0xac, 0xc1, 0x3e, 0x6c, 0xde, 0xb2, - 0xba, 0x9b, 0xaf, 0xd8, 0xfb, 0x6e, 0x3e, 0xfb, 0x5f, 0x96, 0xe9, 0xeb, 0xb5, 0x82, 0xb9, 0x90, - 0xd4, 0x23, 0xfa, 0x7d, 0xdb, 0xa1, 0x27, 0x26, 0x89, 0xfa, 0xbe, 0x57, 0xf1, 0x12, 0xa6, 0xed, - 0x89, 0x03, 0xb2, 0xc2, 0x81, 0x6a, 0x4e, 0x15, 0xf7, 0xad, 0x39, 0xf5, 0x02, 0x8c, 0x46, 0xd1, - 0xe6, 0x6a, 0xe8, 0x6e, 0x3b, 0x31, 0xb9, 0x4c, 0x3a, 0xc2, 0xf6, 0xd5, 0xf5, 0x57, 0xaa, 0x17, - 0x35, 0x10, 0x27, 0x71, 0xd1, 0x02, 0x9c, 0xd4, 0x95, 0x9f, 0x48, 0x18, 0xb3, 0x9c, 0x22, 0x3e, - 0x13, 0x54, 0xb1, 0x05, 0x5d, 0x2b, 0x4a, 0x20, 0xe0, 0xee, 0x67, 0xa8, 0x3c, 0x4d, 0x34, 0xd2, - 0x8e, 0x0c, 0x26, 0xe5, 0x69, 0x82, 0x0e, 0xed, 0x4b, 0xd7, 0x13, 0x68, 0x19, 0x4e, 0xf1, 0x89, - 0x31, 0xd3, 0x6a, 0x19, 0x6f, 0x34, 0x94, 0xac, 0x37, 0xbc, 0xd0, 0x8d, 0x82, 0xb3, 0x9e, 0x43, - 0xcf, 0xc1, 0xb0, 0x6a, 0x5e, 0x9c, 0x17, 0x67, 0x3b, 0xca, 0xb7, 0xa4, 0xc8, 0x2c, 0xd6, 0xb1, - 0x89, 0x87, 0xde, 0x0d, 0xf7, 0xeb, 0xbf, 0x3c, 0xf1, 0x94, 0x1f, 0x78, 0xce, 0x8b, 0xa2, 0x7a, - 0xea, 0x9e, 0xb7, 0x85, 0x4c, 0xb4, 0x3a, 0xee, 0xf5, 0x3c, 0x5a, 0x87, 0xb3, 0x0a, 0x74, 0xde, - 0x8f, 0x59, 0x16, 0x59, 0x44, 0x66, 0x9d, 0x88, 0x5c, 0x0d, 0x3d, 0x56, 0x86, 0xaf, 0xa2, 0x2f, - 0x0b, 0x5f, 0x70, 0xe3, 0x8b, 0x59, 0x98, 0x78, 0x09, 0xef, 0x41, 0x05, 0x4d, 0x43, 0x85, 0xf8, - 0xce, 0xba, 0x47, 0x56, 0xe6, 0x16, 0x59, 0x71, 0x3e, 0xe3, 0x7c, 0xf5, 0xbc, 0x04, 0x60, 0x8d, - 0xa3, 0xe2, 0x7e, 0x47, 0x7a, 0x5e, 0x5c, 0xbf, 0x0a, 0xa7, 0x1b, 0xb5, 0x16, 0xb5, 0x08, 0xdd, - 0x1a, 0x99, 0xa9, 0xb1, 0x30, 0x47, 0xfa, 0x61, 0x78, 0x21, 0x68, 0x95, 0x40, 0xb1, 0x30, 0xb7, - 0xda, 0x85, 0x83, 0x33, 0x9f, 0x64, 0xe1, 0xb0, 0x61, 0xb0, 0xd3, 0x99, 0x38, 0x95, 0x0a, 0x87, - 0xa5, 0x8d, 0x98, 0xc3, 0xd0, 0x25, 0x40, 0x2c, 0x1b, 0xe7, 0x62, 0x1c, 0xb7, 0x94, 0x09, 0x3a, - 0x71, 0x3a, 0x59, 0x62, 0xeb, 0x42, 0x17, 0x06, 0xce, 0x78, 0x8a, 0x5a, 0x34, 0x7e, 0xc0, 0xa8, - 0x4f, 0xdc, 0x9f, 0xb4, 0x68, 0xae, 0xf0, 0x66, 0x2c, 0xe1, 0xe8, 0xbd, 0x30, 0xd1, 0x8e, 0x08, - 0xdb, 0xdc, 0x5e, 0x0f, 0xc2, 0x2d, 0x2f, 0x70, 0xea, 0x8b, 0xec, 0x12, 0xc0, 0xb8, 0x33, 0x31, - 0xc1, 0x98, 0x9f, 0x13, 0xcf, 0x4e, 0x5c, 0xed, 0x81, 0x87, 0x7b, 0x52, 0xb0, 0xff, 0xd8, 0x82, - 0x51, 0x25, 0x38, 0x8e, 0x21, 0x19, 0xcf, 0x4b, 0x26, 0xe3, 0x2d, 0x1c, 0x5e, 0xf4, 0xb2, 0x9e, - 0xf7, 0x88, 0x78, 0x7f, 0x7d, 0x04, 0x40, 0x8b, 0x67, 0xa5, 0x19, 0xad, 0x9e, 0x9a, 0xf1, 0x9e, - 0x15, 0x8d, 0x59, 0xa5, 0xb6, 0x4a, 0x77, 0xb7, 0xd4, 0x56, 0x15, 0xce, 0x48, 0xbb, 0x85, 0x1f, - 0x25, 0x5e, 0x0c, 0x22, 0x25, 0x69, 0xcb, 0xb3, 0x0f, 0x0b, 0x42, 0x67, 0x16, 0xb3, 0x90, 0x70, - 0xf6, 0xb3, 0x09, 0x73, 0x69, 0x68, 0x5f, 0x1b, 0x56, 0x09, 0x97, 0xa5, 0x0d, 0x79, 0x77, 0x5a, - 0x4a, 0xb8, 0x2c, 0x5d, 0xa8, 0x62, 0x8d, 0x93, 0xad, 0x61, 0x2a, 0x39, 0x69, 0x18, 0x38, 0xb0, - 0x86, 0x91, 0xb2, 0x6e, 0xb8, 0xa7, 0xac, 0x93, 0x47, 0x16, 0x23, 0x3d, 0x8f, 0x2c, 0xde, 0x09, - 0x63, 0xae, 0xbf, 0x49, 0x42, 0x37, 0x26, 0x75, 0xb6, 0x16, 0x98, 0x1c, 0x2c, 0x6b, 0xfb, 0x62, - 0x31, 0x01, 0xc5, 0x29, 0xec, 0xa4, 0x80, 0x1e, 0xeb, 0x43, 0x40, 0xf7, 0x50, 0x8b, 0xe3, 0xf9, - 0xa8, 0xc5, 0x13, 0x87, 0x57, 0x8b, 0x27, 0x8f, 0x54, 0x2d, 0xa2, 0x5c, 0xd4, 0x62, 0x5f, 0x1a, - 0xc7, 0xd8, 0xf7, 0x9e, 0xde, 0x67, 0xdf, 0xdb, 0x4b, 0x27, 0x9e, 0xb9, 0x63, 0x9d, 0x98, 0xad, - 0xee, 0xee, 0xfb, 0xee, 0x56, 0x77, 0x9f, 0x28, 0xc0, 0x19, 0xad, 0x10, 0xe8, 0x32, 0x74, 0x37, - 0xa8, 0x48, 0x64, 0xf7, 0x80, 0xf2, 0xf3, 0x45, 0x23, 0x61, 0x54, 0xe7, 0x9e, 0x2a, 0x08, 0x36, - 0xb0, 0x58, 0xde, 0x25, 0x09, 0x59, 0xd1, 0xfc, 0xb4, 0xb6, 0x98, 0x13, 0xed, 0x58, 0x61, 0xd0, - 0x89, 0x4e, 0x7f, 0x8b, 0xfc, 0xf9, 0x74, 0x39, 0xd6, 0x39, 0x0d, 0xc2, 0x26, 0x1e, 0x7a, 0x9c, - 0x33, 0x61, 0x92, 0x8a, 0x6a, 0x8c, 0x11, 0xbe, 0x89, 0x52, 0xc2, 0x49, 0x41, 0x65, 0x77, 0x58, - 0x82, 0x6d, 0xa9, 0xbb, 0x3b, 0x2c, 0x54, 0x4f, 0x61, 0xd8, 0xff, 0xcb, 0x82, 0x07, 0x32, 0x87, - 0xe2, 0x18, 0xac, 0x80, 0x9d, 0xa4, 0x15, 0x50, 0xcd, 0x6b, 0x03, 0x66, 0xbc, 0x45, 0x0f, 0x8b, - 0xe0, 0x3f, 0x5b, 0x30, 0xa6, 0xf1, 0x8f, 0xe1, 0x55, 0xdd, 0xe4, 0xab, 0xe6, 0xb7, 0xd7, 0xac, - 0x74, 0xbd, 0xdb, 0xef, 0x14, 0x40, 0x95, 0x48, 0x9e, 0xa9, 0xc9, 0x02, 0xf4, 0xfb, 0x9c, 0x78, - 0x77, 0x60, 0x90, 0x1d, 0xd8, 0x47, 0xf9, 0x04, 0x23, 0x25, 0xf9, 0xb3, 0xc3, 0x7f, 0x1d, 0x0c, - 0xc1, 0xfe, 0x46, 0x58, 0x30, 0x64, 0x57, 0x3a, 0xf0, 0xea, 0xb3, 0x75, 0x91, 0x3e, 0xa8, 0xaf, - 0x74, 0x10, 0xed, 0x58, 0x61, 0x50, 0x3d, 0xe5, 0xd6, 0x02, 0x7f, 0xce, 0x73, 0x22, 0x79, 0x35, - 0xb8, 0xd2, 0x53, 0x8b, 0x12, 0x80, 0x35, 0x0e, 0x3b, 0xcb, 0x77, 0xa3, 0x96, 0xe7, 0x74, 0x0c, - 0x8f, 0x82, 0x51, 0x27, 0x46, 0x81, 0xb0, 0x89, 0x67, 0x37, 0x61, 0x22, 0xf9, 0x12, 0xf3, 0x64, - 0x83, 0x05, 0xd2, 0xf6, 0x35, 0x9c, 0xd3, 0x50, 0x71, 0xd8, 0x53, 0x4b, 0x6d, 0x47, 0xc8, 0x04, - 0x1d, 0x4e, 0x2a, 0x01, 0x58, 0xe3, 0xd8, 0xff, 0xd4, 0x82, 0x53, 0x19, 0x83, 0x96, 0x63, 0x7a, - 0x66, 0xac, 0xa5, 0x4d, 0x96, 0x85, 0xf1, 0x03, 0x30, 0x54, 0x27, 0x1b, 0x8e, 0x0c, 0xd5, 0x34, - 0x64, 0xf3, 0x3c, 0x6f, 0xc6, 0x12, 0x6e, 0xff, 0x46, 0x01, 0xc6, 0x93, 0x7d, 0x8d, 0x58, 0xca, - 0x13, 0x1f, 0x26, 0x37, 0xaa, 0x05, 0xdb, 0x24, 0xec, 0xd0, 0x37, 0xb7, 0x52, 0x29, 0x4f, 0x5d, - 0x18, 0x38, 0xe3, 0x29, 0x56, 0x20, 0xbd, 0xae, 0x46, 0x5b, 0xce, 0xc8, 0x6b, 0x79, 0xce, 0x48, - 0xfd, 0x31, 0xcd, 0xb0, 0x0e, 0xc5, 0x12, 0x9b, 0xfc, 0xa9, 0xa5, 0xc3, 0x62, 0xc8, 0x67, 0xdb, - 0xae, 0x17, 0xbb, 0xbe, 0x78, 0x65, 0x31, 0x57, 0x95, 0xa5, 0xb3, 0xdc, 0x8d, 0x82, 0xb3, 0x9e, - 0xb3, 0xbf, 0x3d, 0x00, 0xaa, 0xf4, 0x00, 0x0b, 0xbb, 0xcb, 0x29, 0x68, 0xf1, 0xa0, 0x89, 0x73, - 0x6a, 0x6e, 0x0d, 0xec, 0x15, 0x07, 0xc3, 0xdd, 0x50, 0xa6, 0x2f, 0x5a, 0x0d, 0xd8, 0x9a, 0x06, - 0x61, 0x13, 0x8f, 0xf6, 0xc4, 0x73, 0xb7, 0x09, 0x7f, 0x68, 0x30, 0xd9, 0x93, 0x25, 0x09, 0xc0, - 0x1a, 0x87, 0xf6, 0xa4, 0xee, 0x6e, 0x6c, 0x08, 0x9f, 0x8a, 0xea, 0x09, 0x1d, 0x1d, 0xcc, 0x20, - 0xfc, 0x0a, 0x8d, 0x60, 0x4b, 0x58, 0xf7, 0xc6, 0x15, 0x1a, 0xc1, 0x16, 0x66, 0x10, 0xfa, 0x95, - 0xfc, 0x20, 0x6c, 0x3a, 0x9e, 0xfb, 0x1a, 0xa9, 0x2b, 0x2e, 0xc2, 0xaa, 0x57, 0x5f, 0xe9, 0x4a, - 0x37, 0x0a, 0xce, 0x7a, 0x8e, 0x4e, 0xe8, 0x56, 0x48, 0xea, 0x6e, 0x2d, 0x36, 0xa9, 0x41, 0x72, - 0x42, 0xaf, 0x76, 0x61, 0xe0, 0x8c, 0xa7, 0xd0, 0x0c, 0x8c, 0xcb, 0xd2, 0x11, 0xb2, 0x18, 0xd9, - 0x70, 0xb2, 0xf8, 0x11, 0x4e, 0x82, 0x71, 0x1a, 0x9f, 0x0a, 0xc9, 0xa6, 0x28, 0xa5, 0xc8, 0x36, - 0x01, 0x86, 0x90, 0x94, 0x25, 0x16, 0xb1, 0xc2, 0xb0, 0x3f, 0x52, 0xa4, 0x4a, 0xbd, 0x47, 0xc5, - 0xd2, 0x63, 0x0b, 0x92, 0x4d, 0xce, 0xc8, 0x81, 0x3e, 0x66, 0xe4, 0xb3, 0x30, 0x72, 0x23, 0x0a, - 0x7c, 0x15, 0x80, 0x5a, 0xea, 0x19, 0x80, 0x6a, 0x60, 0x65, 0x07, 0xa0, 0x0e, 0xe6, 0x15, 0x80, - 0x3a, 0x74, 0x87, 0x01, 0xa8, 0xbf, 0x57, 0x02, 0x75, 0x47, 0xda, 0x15, 0x12, 0xdf, 0x0c, 0xc2, - 0x2d, 0xd7, 0x6f, 0xb0, 0x32, 0x08, 0x5f, 0xb2, 0x64, 0x25, 0x85, 0x25, 0x33, 0x81, 0x70, 0x23, - 0xa7, 0x7b, 0xae, 0x12, 0xcc, 0xa6, 0xd6, 0x0c, 0x46, 0xa9, 0xab, 0xdc, 0x4d, 0x10, 0x4e, 0xf4, - 0x08, 0x7d, 0x10, 0x40, 0x3a, 0xa0, 0x37, 0xa4, 0x04, 0x5e, 0xcc, 0xa7, 0x7f, 0x98, 0x6c, 0x68, - 0x93, 0x7a, 0x4d, 0x31, 0xc1, 0x06, 0x43, 0xf4, 0x09, 0x9d, 0x5c, 0xc9, 0x33, 0x55, 0xde, 0x7f, - 0x24, 0x63, 0xd3, 0x4f, 0x6a, 0x25, 0x86, 0x21, 0xd7, 0x6f, 0xd0, 0x79, 0x22, 0x02, 0xf5, 0xde, - 0x96, 0x55, 0xae, 0x66, 0x29, 0x70, 0xea, 0xb3, 0x8e, 0xe7, 0xf8, 0x35, 0x12, 0x2e, 0x72, 0x74, - 0xad, 0x41, 0x45, 0x03, 0x96, 0x84, 0xba, 0x2e, 0x72, 0x2b, 0xf5, 0x73, 0x91, 0xdb, 0xd9, 0x1f, - 0x83, 0x93, 0x5d, 0x1f, 0xf3, 0x40, 0x99, 0x94, 0x77, 0x9e, 0x84, 0x69, 0xff, 0xe6, 0xa0, 0x56, - 0x5a, 0x57, 0x82, 0x3a, 0xbf, 0x17, 0x2c, 0xd4, 0x5f, 0x54, 0x98, 0xcc, 0x39, 0x4e, 0x11, 0xa5, - 0x66, 0x8c, 0x46, 0x6c, 0xb2, 0xa4, 0x73, 0xb4, 0xe5, 0x84, 0xc4, 0x3f, 0xea, 0x39, 0xba, 0xaa, - 0x98, 0x60, 0x83, 0x21, 0xda, 0x4c, 0xa4, 0x52, 0x5d, 0x38, 0x7c, 0x2a, 0x15, 0x2b, 0x1e, 0x98, - 0x75, 0x7d, 0xce, 0x67, 0x2d, 0x18, 0xf3, 0x13, 0x33, 0x37, 0x9f, 0xe8, 0xe9, 0xec, 0x55, 0xc1, - 0xaf, 0xd8, 0x4c, 0xb6, 0xe1, 0x14, 0xff, 0x2c, 0x95, 0x56, 0x3a, 0xa0, 0x4a, 0xd3, 0xf7, 0x12, - 0x0e, 0xf6, 0xba, 0x97, 0x10, 0xf9, 0xea, 0xb6, 0xd8, 0xa1, 0xdc, 0x6f, 0x8b, 0x85, 0x8c, 0x9b, - 0x62, 0xaf, 0x43, 0xa5, 0x16, 0x12, 0x27, 0xbe, 0xc3, 0x8b, 0x43, 0x59, 0x5c, 0xca, 0x9c, 0x24, - 0x80, 0x35, 0x2d, 0xfb, 0xff, 0x0e, 0xc0, 0x09, 0x39, 0x22, 0x32, 0xf3, 0x82, 0xea, 0x47, 0xce, - 0x57, 0xdb, 0xca, 0x4a, 0x3f, 0x5e, 0x94, 0x00, 0xac, 0x71, 0xa8, 0x3d, 0xd6, 0x8e, 0xc8, 0x4a, - 0x8b, 0xf8, 0x4b, 0xee, 0x7a, 0x24, 0x0e, 0x92, 0xd5, 0x42, 0xb9, 0xaa, 0x41, 0xd8, 0xc4, 0xa3, - 0xb6, 0xbd, 0x63, 0x18, 0xad, 0x86, 0x6d, 0x2f, 0x0d, 0x55, 0x09, 0x47, 0xbf, 0x90, 0x59, 0x42, - 0x3d, 0x9f, 0x7c, 0xc5, 0xae, 0x84, 0x93, 0x03, 0x5e, 0x7b, 0xfd, 0x8f, 0x2c, 0x38, 0xc3, 0x5b, - 0xe5, 0x48, 0x5e, 0x6d, 0xd5, 0x9d, 0x98, 0x44, 0xf9, 0x5c, 0xbd, 0x92, 0xd1, 0x3f, 0xed, 0xbc, - 0xce, 0x62, 0x8b, 0xb3, 0x7b, 0x83, 0x3e, 0x63, 0xc1, 0xf8, 0x56, 0xa2, 0xd4, 0x8d, 0x54, 0x1d, - 0x87, 0xad, 0x42, 0x91, 0x20, 0xaa, 0x97, 0x5a, 0xb2, 0x3d, 0xc2, 0x69, 0xee, 0xf6, 0xff, 0xb4, - 0xc0, 0x14, 0xa3, 0xc7, 0x5f, 0x21, 0xe7, 0xe0, 0xa6, 0xa0, 0xb4, 0x2e, 0x4b, 0x3d, 0xad, 0xcb, - 0x87, 0xa1, 0xd8, 0x76, 0xeb, 0x62, 0x7f, 0xa1, 0x8f, 0xb7, 0x17, 0xe7, 0x31, 0x6d, 0xb7, 0xff, - 0x75, 0x49, 0xbb, 0x41, 0x44, 0x3a, 0xe0, 0xf7, 0xc4, 0x6b, 0x6f, 0xa8, 0x1a, 0x92, 0xfc, 0xcd, - 0xaf, 0x74, 0xd5, 0x90, 0xfc, 0x91, 0x83, 0x67, 0x7b, 0xf2, 0x01, 0xea, 0x55, 0x42, 0x72, 0x68, - 0x9f, 0x54, 0xcf, 0x1b, 0x50, 0xa6, 0x5b, 0x30, 0xe6, 0xcf, 0x2c, 0x27, 0x3a, 0x55, 0xbe, 0x28, - 0xda, 0x6f, 0xef, 0x4e, 0xfe, 0xf0, 0xc1, 0xbb, 0x25, 0x9f, 0xc6, 0x8a, 0x3e, 0x8a, 0xa0, 0x42, - 0x7f, 0xb3, 0xac, 0x54, 0xb1, 0xb9, 0xbb, 0xaa, 0x64, 0xa6, 0x04, 0xe4, 0x92, 0xf2, 0xaa, 0xf9, - 0x20, 0x1f, 0x2a, 0x14, 0x91, 0x33, 0xe5, 0x7b, 0xc0, 0x55, 0x95, 0x1b, 0x2a, 0x01, 0xb7, 0x77, - 0x27, 0x5f, 0x38, 0x38, 0x53, 0xf5, 0x38, 0xd6, 0x2c, 0xec, 0xbf, 0x1e, 0xd0, 0x73, 0x57, 0x94, - 0x0e, 0xfd, 0x9e, 0x98, 0xbb, 0xcf, 0xa7, 0xe6, 0xee, 0xb9, 0xae, 0xb9, 0x3b, 0xa6, 0xaf, 0x8f, - 0x4f, 0xcc, 0xc6, 0xe3, 0x36, 0x04, 0xf6, 0xf7, 0x37, 0x30, 0x0b, 0xe8, 0xd5, 0xb6, 0x1b, 0x92, - 0x68, 0x35, 0x6c, 0xfb, 0xae, 0xdf, 0x60, 0xd3, 0xb1, 0x6c, 0x5a, 0x40, 0x09, 0x30, 0x4e, 0xe3, - 0xd3, 0x4d, 0x3d, 0xfd, 0xe6, 0xd7, 0x9d, 0x6d, 0x3e, 0xab, 0x8c, 0x6a, 0x73, 0x55, 0xd1, 0x8e, - 0x15, 0x06, 0xda, 0x84, 0x87, 0x24, 0x81, 0x79, 0xe2, 0x11, 0x71, 0xff, 0xfb, 0x86, 0x1b, 0x36, - 0x79, 0x70, 0x3b, 0x8f, 0xaa, 0x78, 0xab, 0xa0, 0xf0, 0x10, 0xde, 0x03, 0x17, 0xef, 0x49, 0xc9, - 0xfe, 0x2a, 0x8b, 0x06, 0x30, 0x12, 0xef, 0xe9, 0xec, 0xf3, 0xdc, 0xa6, 0x2b, 0x8b, 0xe2, 0xa9, - 0xd9, 0xb7, 0x44, 0x1b, 0x31, 0x87, 0xa1, 0x9b, 0x30, 0xb4, 0xce, 0xaf, 0xe9, 0xcd, 0xe7, 0x4a, - 0x10, 0x71, 0xe7, 0x2f, 0xab, 0x2c, 0x2b, 0x2f, 0x00, 0xbe, 0xad, 0x7f, 0x62, 0xc9, 0xcd, 0xfe, - 0x46, 0x09, 0xc6, 0x53, 0x77, 0xf2, 0x27, 0xca, 0x6d, 0x17, 0xf6, 0x2d, 0xb7, 0xfd, 0x3e, 0x80, - 0x3a, 0x69, 0x79, 0x41, 0x87, 0x19, 0x7e, 0x03, 0x07, 0x36, 0xfc, 0xd4, 0x5e, 0x61, 0x5e, 0x51, - 0xc1, 0x06, 0x45, 0x51, 0x09, 0x90, 0x57, 0xef, 0x4e, 0x55, 0x02, 0x34, 0x2e, 0x0e, 0x1a, 0x3c, - 0xde, 0x8b, 0x83, 0x5c, 0x18, 0xe7, 0x5d, 0x54, 0xe9, 0xed, 0x77, 0x90, 0xc5, 0xce, 0x12, 0x84, - 0xe6, 0x93, 0x64, 0x70, 0x9a, 0xae, 0x79, 0x2b, 0x50, 0xf9, 0xb8, 0x6f, 0x05, 0x7a, 0x3b, 0x54, - 0xe4, 0x77, 0x8e, 0x26, 0x2a, 0xba, 0x44, 0x88, 0x9c, 0x06, 0x11, 0xd6, 0xf0, 0xae, 0x4a, 0x1d, - 0x70, 0xb7, 0x2a, 0x75, 0xd8, 0xaf, 0x17, 0xe8, 0x8e, 0x81, 0xf7, 0x4b, 0x15, 0x9d, 0x7a, 0x0c, - 0x06, 0x9d, 0x76, 0xbc, 0x19, 0x74, 0x5d, 0xf4, 0x3b, 0xc3, 0x5a, 0xb1, 0x80, 0xa2, 0x25, 0x18, - 0xa8, 0xeb, 0x42, 0x42, 0x07, 0xf9, 0x9e, 0xda, 0xf9, 0xea, 0xc4, 0x04, 0x33, 0x2a, 0xe8, 0x21, - 0x18, 0x88, 0x9d, 0x86, 0xcc, 0x69, 0x64, 0x79, 0xec, 0x6b, 0x4e, 0x23, 0xc2, 0xac, 0xf5, 0x20, - 0xc5, 0x53, 0x5f, 0x80, 0xd1, 0xc8, 0x6d, 0xf8, 0x4e, 0xdc, 0x0e, 0x89, 0x71, 0x3e, 0xa9, 0x63, - 0x5f, 0x4c, 0x20, 0x4e, 0xe2, 0xda, 0xbf, 0x35, 0x02, 0xa7, 0xab, 0x73, 0xcb, 0xf2, 0xfa, 0x87, - 0x23, 0x4b, 0x4b, 0xcc, 0xe2, 0x71, 0x7c, 0x69, 0x89, 0x3d, 0xb8, 0x7b, 0x46, 0x5a, 0xa2, 0x67, - 0xa4, 0x25, 0x26, 0x73, 0xc4, 0x8a, 0x79, 0xe4, 0x88, 0x65, 0xf5, 0xa0, 0x9f, 0x1c, 0xb1, 0x23, - 0xcb, 0x53, 0xdc, 0xb3, 0x43, 0x07, 0xca, 0x53, 0x54, 0x49, 0x9c, 0xb9, 0x64, 0xef, 0xf4, 0xf8, - 0x54, 0x99, 0x49, 0x9c, 0x2a, 0x81, 0x8e, 0x67, 0xa6, 0x09, 0x51, 0xff, 0x72, 0xfe, 0x1d, 0xe8, - 0x23, 0x81, 0x4e, 0x24, 0xc7, 0x99, 0x49, 0x9b, 0x43, 0x79, 0x24, 0x6d, 0x66, 0x75, 0x67, 0xdf, - 0xa4, 0xcd, 0x17, 0x60, 0xb4, 0xe6, 0x05, 0x3e, 0x59, 0x0d, 0x83, 0x38, 0xa8, 0x05, 0xf2, 0xaa, - 0x51, 0x7d, 0x53, 0x96, 0x09, 0xc4, 0x49, 0xdc, 0x5e, 0x19, 0x9f, 0x95, 0xc3, 0x66, 0x7c, 0xc2, - 0x5d, 0xca, 0xf8, 0xfc, 0x69, 0x5d, 0x9b, 0x60, 0x98, 0x7d, 0x91, 0xf7, 0xe5, 0xff, 0x45, 0xfa, - 0xba, 0x4b, 0xf4, 0x0d, 0x7e, 0xd3, 0x2e, 0x35, 0xc1, 0xe7, 0x82, 0x26, 0x35, 0xfc, 0x46, 0xd8, - 0x90, 0xbc, 0x72, 0x04, 0x13, 0xf6, 0x7a, 0x55, 0xb3, 0x51, 0xb7, 0xef, 0xea, 0x26, 0x9c, 0xec, - 0xc8, 0x61, 0x6a, 0x27, 0x7c, 0xa1, 0x00, 0xdf, 0xb7, 0x6f, 0x17, 0xd0, 0x4d, 0x80, 0xd8, 0x69, - 0x88, 0x89, 0x2a, 0x8e, 0x66, 0x0e, 0x19, 0xa0, 0xba, 0x26, 0xe9, 0xf1, 0xa2, 0x3f, 0xea, 0x2f, - 0x3b, 0xf4, 0x90, 0xbf, 0x59, 0x5c, 0x6a, 0xe0, 0x75, 0xd5, 0x46, 0xc5, 0x81, 0x47, 0x30, 0x83, - 0x50, 0xf5, 0x1f, 0x92, 0x06, 0x35, 0x69, 0x8b, 0x49, 0xf5, 0x8f, 0x59, 0x2b, 0x16, 0x50, 0xf4, - 0x1c, 0x0c, 0x3b, 0x9e, 0xc7, 0x53, 0xab, 0x48, 0x24, 0xae, 0xb0, 0xd3, 0x45, 0x1a, 0x35, 0x08, - 0x9b, 0x78, 0xf6, 0x5f, 0x16, 0x60, 0x72, 0x1f, 0x99, 0xd2, 0x95, 0x52, 0x5b, 0xea, 0x3b, 0xa5, - 0x56, 0xa4, 0x9b, 0x0c, 0xf6, 0x48, 0x37, 0x79, 0x0e, 0x86, 0x63, 0xe2, 0x34, 0x45, 0x48, 0x9b, - 0xf0, 0x39, 0xe8, 0xb3, 0x66, 0x0d, 0xc2, 0x26, 0x1e, 0x95, 0x62, 0x63, 0x4e, 0xad, 0x46, 0xa2, - 0x48, 0xe6, 0x93, 0x08, 0xbf, 0x6d, 0x6e, 0xc9, 0x2a, 0xcc, 0x1d, 0x3e, 0x93, 0x60, 0x81, 0x53, - 0x2c, 0xd3, 0x03, 0x5e, 0xe9, 0x73, 0xc0, 0xbf, 0x5c, 0x80, 0x87, 0xf7, 0xd4, 0x6e, 0x7d, 0xa7, - 0xfa, 0xb4, 0x23, 0x12, 0xa6, 0x27, 0xce, 0xd5, 0x88, 0x84, 0x98, 0x41, 0xf8, 0x28, 0xb5, 0x5a, - 0x2a, 0x1c, 0x39, 0xff, 0xbc, 0x37, 0x3e, 0x4a, 0x09, 0x16, 0x38, 0xc5, 0xf2, 0x4e, 0xa7, 0xe5, - 0x37, 0x06, 0xe0, 0xd1, 0x3e, 0x6c, 0x80, 0x1c, 0xf3, 0x03, 0x93, 0xb9, 0xac, 0xc5, 0xbb, 0x94, - 0xcb, 0x7a, 0x67, 0xc3, 0xf5, 0x66, 0x0a, 0x6c, 0x5f, 0x79, 0x88, 0x5f, 0x2d, 0xc0, 0xd9, 0xde, - 0x06, 0x0b, 0xfa, 0x51, 0x18, 0x0f, 0x55, 0x90, 0x9d, 0x99, 0x06, 0x7b, 0x8a, 0x7b, 0x76, 0x12, - 0x20, 0x9c, 0xc6, 0x45, 0x53, 0x00, 0x2d, 0x27, 0xde, 0x8c, 0xce, 0xef, 0xb8, 0x51, 0x2c, 0x8a, - 0x61, 0x8d, 0xf1, 0xb3, 0x44, 0xd9, 0x8a, 0x0d, 0x0c, 0xca, 0x8e, 0xfd, 0x9b, 0x0f, 0xae, 0x04, - 0x31, 0x7f, 0x88, 0x6f, 0xb6, 0x4e, 0xc9, 0xab, 0xb1, 0x0c, 0x10, 0x4e, 0xe3, 0x52, 0x76, 0xec, - 0xb4, 0x9a, 0x77, 0x94, 0xef, 0xc2, 0x18, 0xbb, 0x25, 0xd5, 0x8a, 0x0d, 0x8c, 0x74, 0x82, 0x6f, - 0x69, 0xff, 0x04, 0x5f, 0xfb, 0x5f, 0x15, 0xe0, 0x81, 0x9e, 0x06, 0x6f, 0x7f, 0x62, 0xea, 0xde, - 0x4b, 0xca, 0xbd, 0xc3, 0x15, 0x76, 0xb0, 0x64, 0xce, 0x3f, 0xe9, 0x31, 0xd3, 0x44, 0x32, 0xe7, - 0x9d, 0xd7, 0xa8, 0xb8, 0xf7, 0xc6, 0xb3, 0x2b, 0x7f, 0x73, 0xe0, 0x00, 0xf9, 0x9b, 0xa9, 0x8f, - 0x51, 0xea, 0x53, 0x3b, 0xfc, 0xd9, 0x40, 0xcf, 0xe1, 0xa5, 0x1b, 0xe4, 0xbe, 0xfc, 0xe6, 0xf3, - 0x70, 0xc2, 0xf5, 0xd9, 0x35, 0x89, 0xd5, 0xf6, 0xba, 0xa8, 0x8f, 0xc4, 0x8b, 0x80, 0xaa, 0x34, - 0x8e, 0xc5, 0x14, 0x1c, 0x77, 0x3d, 0x71, 0x0f, 0xe6, 0xd3, 0xde, 0xd9, 0x90, 0x1e, 0x50, 0x72, - 0xaf, 0xc0, 0x19, 0x39, 0x14, 0x9b, 0x4e, 0x48, 0xea, 0x42, 0xd9, 0x46, 0x22, 0x71, 0xe7, 0x01, - 0x9e, 0xfc, 0x93, 0x81, 0x80, 0xb3, 0x9f, 0x63, 0x37, 0xd3, 0x05, 0x2d, 0xb7, 0x26, 0xb6, 0x82, - 0xfa, 0x66, 0x3a, 0xda, 0x88, 0x39, 0x4c, 0xeb, 0x8b, 0xca, 0xf1, 0xe8, 0x8b, 0xf7, 0x41, 0x45, - 0x8d, 0x37, 0xcf, 0x12, 0x50, 0x93, 0xbc, 0x2b, 0x4b, 0x40, 0xcd, 0x70, 0x03, 0x6b, 0xbf, 0x5b, - 0x9d, 0x9f, 0x81, 0x11, 0xe5, 0xfd, 0xea, 0xf7, 0x7e, 0x40, 0xfb, 0xff, 0x15, 0x20, 0x75, 0x83, - 0x0f, 0xda, 0x81, 0x4a, 0x5d, 0xde, 0xab, 0x9c, 0x4f, 0x11, 0x5a, 0x75, 0x4d, 0xb3, 0x3e, 0xfe, - 0x51, 0x4d, 0x58, 0x33, 0x43, 0x1f, 0xe0, 0xf5, 0x5e, 0x05, 0xeb, 0x42, 0x1e, 0x39, 0xd5, 0x55, - 0x45, 0xcf, 0xbc, 0x00, 0x4c, 0xb6, 0x61, 0x83, 0x1f, 0x8a, 0xa1, 0xb2, 0x29, 0x6f, 0x2a, 0xca, - 0x47, 0xdc, 0xa9, 0x8b, 0x8f, 0xb8, 0x89, 0xa6, 0xfe, 0x62, 0xcd, 0xc8, 0xfe, 0xe3, 0x02, 0x9c, - 0x4e, 0x7e, 0x00, 0x71, 0x5c, 0xf7, 0x2b, 0x16, 0xdc, 0xef, 0x39, 0x51, 0x5c, 0x6d, 0xb3, 0x8d, - 0xc2, 0x46, 0xdb, 0x5b, 0x49, 0x95, 0x06, 0x3e, 0xac, 0xb3, 0x45, 0x11, 0x4e, 0xdf, 0x6c, 0x35, - 0xfb, 0xe0, 0xad, 0xdd, 0xc9, 0xfb, 0x97, 0xb2, 0x99, 0xe3, 0x5e, 0xbd, 0x42, 0x9f, 0xb5, 0xe0, - 0x44, 0xad, 0x1d, 0x86, 0xc4, 0x8f, 0x75, 0x57, 0xf9, 0x57, 0xbc, 0x92, 0xcb, 0x40, 0xea, 0x0e, - 0x9e, 0xa6, 0x02, 0x75, 0x2e, 0xc5, 0x0b, 0x77, 0x71, 0xb7, 0x7f, 0x8e, 0x6a, 0xce, 0x9e, 0xef, - 0xf9, 0x37, 0xec, 0x2a, 0xae, 0x3f, 0x1f, 0x84, 0xd1, 0x44, 0xfd, 0xe3, 0xc4, 0x11, 0x97, 0xb5, - 0xef, 0x11, 0x17, 0x4b, 0x35, 0x6b, 0xfb, 0xf2, 0xa2, 0x60, 0x23, 0xd5, 0xac, 0xed, 0x13, 0xcc, - 0x61, 0x62, 0x48, 0x71, 0xdb, 0x17, 0xd1, 0xed, 0xe6, 0x90, 0xe2, 0xb6, 0x8f, 0x05, 0x14, 0x7d, - 0xd8, 0x82, 0x11, 0xb6, 0xf8, 0xc4, 0x01, 0xa1, 0x50, 0x68, 0x97, 0x72, 0x58, 0xee, 0xb2, 0xd6, - 0x37, 0x8b, 0x86, 0x34, 0x5b, 0x70, 0x82, 0x23, 0xfa, 0x98, 0x05, 0x15, 0x75, 0xb7, 0xa0, 0xb8, - 0xf5, 0xbb, 0x9a, 0x6f, 0x79, 0xe9, 0x94, 0xd4, 0x53, 0x75, 0x7e, 0xb1, 0x66, 0x8c, 0x22, 0x75, - 0x7a, 0x37, 0x74, 0x34, 0xa7, 0x77, 0x90, 0x71, 0x72, 0xf7, 0x76, 0xa8, 0x34, 0x1d, 0xdf, 0xdd, - 0x20, 0x51, 0xcc, 0x0f, 0xd4, 0x64, 0xd5, 0x7b, 0xd9, 0x88, 0x35, 0x9c, 0x1a, 0xfb, 0x11, 0x7b, - 0xb1, 0xd8, 0x38, 0x01, 0x63, 0xc6, 0x7e, 0x55, 0x37, 0x63, 0x13, 0xc7, 0x3c, 0xae, 0x83, 0xbb, - 0x7a, 0x5c, 0x37, 0xbc, 0xcf, 0x71, 0x5d, 0x15, 0xce, 0x38, 0xed, 0x38, 0xb8, 0x48, 0x1c, 0x6f, - 0x26, 0x8e, 0x49, 0xb3, 0x15, 0x47, 0xbc, 0x64, 0xf6, 0x08, 0x73, 0x01, 0xab, 0xf8, 0xad, 0x2a, - 0xf1, 0x36, 0xba, 0x90, 0x70, 0xf6, 0xb3, 0xf6, 0x3f, 0xb7, 0xe0, 0x4c, 0xe6, 0x54, 0xb8, 0x77, - 0x23, 0xe7, 0xed, 0xcf, 0x97, 0xe0, 0x54, 0x46, 0x75, 0x74, 0xd4, 0x31, 0x17, 0x89, 0x95, 0x47, - 0x10, 0x5a, 0x32, 0xa6, 0x4a, 0x7e, 0x9b, 0x8c, 0x95, 0x71, 0xb0, 0x13, 0x78, 0x7d, 0x0a, 0x5e, - 0x3c, 0xde, 0x53, 0x70, 0x63, 0xae, 0x0f, 0xdc, 0xd5, 0xb9, 0x5e, 0xda, 0x67, 0xae, 0x7f, 0xcd, - 0x82, 0x89, 0x66, 0x8f, 0x2b, 0x79, 0xc4, 0x79, 0xd2, 0xb5, 0xa3, 0xb9, 0xf0, 0x67, 0xf6, 0xa1, - 0x5b, 0xbb, 0x93, 0x3d, 0x6f, 0x42, 0xc2, 0x3d, 0x7b, 0x65, 0x7f, 0xbb, 0x08, 0xcc, 0x5e, 0x63, - 0x15, 0x70, 0x3b, 0xe8, 0x43, 0xe6, 0x25, 0x0b, 0x56, 0x5e, 0x17, 0x02, 0x70, 0xe2, 0xea, 0x92, - 0x06, 0x3e, 0x82, 0x59, 0x77, 0x36, 0xa4, 0x25, 0x61, 0xa1, 0x0f, 0x49, 0xe8, 0xc9, 0xdb, 0x2c, - 0x8a, 0xf9, 0xdf, 0x66, 0x51, 0x49, 0xdf, 0x64, 0xb1, 0xf7, 0x27, 0x1e, 0xb8, 0x27, 0x3f, 0xf1, - 0x2f, 0x5a, 0x5c, 0xf0, 0xa4, 0xbe, 0x82, 0x36, 0x37, 0xac, 0x3d, 0xcc, 0x8d, 0x27, 0xa0, 0x1c, - 0x09, 0xc9, 0x2c, 0xcc, 0x12, 0x1d, 0x00, 0x25, 0xda, 0xb1, 0xc2, 0xa0, 0xbb, 0x2e, 0xc7, 0xf3, - 0x82, 0x9b, 0xe7, 0x9b, 0xad, 0xb8, 0x23, 0x0c, 0x14, 0xb5, 0x2d, 0x98, 0x51, 0x10, 0x6c, 0x60, - 0xd9, 0x9b, 0x60, 0x6c, 0x18, 0xee, 0xfc, 0x06, 0xd3, 0x3e, 0xae, 0x9e, 0xfe, 0x87, 0x05, 0xc1, - 0x8a, 0x6f, 0x00, 0x9e, 0x4f, 0x5d, 0xf5, 0xdd, 0x7f, 0xa8, 0xdb, 0x07, 0x00, 0x6a, 0x41, 0xb3, - 0x45, 0xb7, 0xc4, 0x6b, 0x41, 0x3e, 0xfb, 0xa8, 0x39, 0x45, 0x4f, 0x0f, 0x98, 0x6e, 0xc3, 0x06, - 0xbf, 0x84, 0xd4, 0x2e, 0xee, 0x2b, 0xb5, 0x13, 0x02, 0x6c, 0x60, 0x6f, 0x01, 0x66, 0xff, 0xa5, - 0x05, 0x09, 0x83, 0x0e, 0xb5, 0xa0, 0x44, 0xbb, 0xdb, 0x11, 0xb2, 0x60, 0x25, 0x3f, 0xeb, 0x91, - 0x0a, 0x61, 0xb1, 0xc0, 0xd8, 0x4f, 0xcc, 0x19, 0x21, 0x4f, 0x84, 0xf5, 0xe5, 0xb2, 0xaf, 0x31, - 0x19, 0x5e, 0x0c, 0x82, 0x2d, 0x1e, 0x19, 0xa3, 0x43, 0x04, 0xed, 0xe7, 0xe1, 0x64, 0x57, 0xa7, - 0xd8, 0xad, 0xa7, 0x81, 0xdc, 0x9c, 0x1b, 0x0b, 0x83, 0xd5, 0x50, 0xc0, 0x1c, 0x66, 0x7f, 0xd5, - 0x82, 0x13, 0x69, 0xf2, 0xe8, 0x0d, 0x0b, 0x4e, 0x46, 0x69, 0x7a, 0x47, 0x35, 0x76, 0x2a, 0x34, - 0xbf, 0x0b, 0x84, 0xbb, 0x3b, 0x61, 0xff, 0xb5, 0x98, 0xfc, 0xd7, 0x5d, 0xbf, 0x1e, 0xdc, 0x54, - 0x26, 0x90, 0xd5, 0xd3, 0x04, 0xa2, 0x2b, 0xbf, 0xb6, 0x49, 0xea, 0x6d, 0xaf, 0xab, 0x66, 0x42, - 0x55, 0xb4, 0x63, 0x85, 0xc1, 0x52, 0xc4, 0xdb, 0x62, 0x4b, 0x9a, 0x9a, 0x94, 0xf3, 0xa2, 0x1d, - 0x2b, 0x0c, 0xf4, 0x2c, 0x8c, 0x18, 0x2f, 0x29, 0xe7, 0x25, 0xdb, 0x4f, 0x18, 0xca, 0x39, 0xc2, - 0x09, 0x2c, 0x34, 0x05, 0xa0, 0xcc, 0x29, 0xa9, 0x8c, 0x99, 0x0f, 0x5d, 0xc9, 0xbc, 0x08, 0x1b, - 0x18, 0xac, 0x20, 0x83, 0xd7, 0x8e, 0xd8, 0x21, 0xf1, 0xa0, 0x2e, 0xf6, 0x3e, 0x27, 0xda, 0xb0, - 0x82, 0x52, 0xb9, 0xd5, 0x74, 0xfc, 0xb6, 0xe3, 0xd1, 0x11, 0x12, 0x5e, 0x31, 0xb5, 0x0c, 0x97, - 0x15, 0x04, 0x1b, 0x58, 0xf4, 0x8d, 0x63, 0xb7, 0x49, 0x5e, 0x0a, 0x7c, 0x19, 0x52, 0xad, 0xe3, - 0x06, 0x44, 0x3b, 0x56, 0x18, 0xf6, 0x5f, 0x58, 0x30, 0xae, 0xeb, 0xcc, 0x30, 0x5f, 0x56, 0xc2, - 0x89, 0x67, 0xed, 0xeb, 0xc4, 0x4b, 0xd6, 0xbd, 0x28, 0xf4, 0x55, 0xf7, 0xc2, 0x2c, 0x49, 0x51, - 0xdc, 0xb3, 0x24, 0xc5, 0xf7, 0xc3, 0xd0, 0x16, 0xe9, 0x18, 0xb5, 0x2b, 0x86, 0xa9, 0x39, 0x74, - 0x99, 0x37, 0x61, 0x09, 0x43, 0x36, 0x0c, 0xd6, 0x1c, 0x55, 0xed, 0x6d, 0x84, 0x6f, 0x7d, 0xe6, - 0x66, 0x18, 0x92, 0x80, 0xd8, 0x2b, 0x50, 0x51, 0xc7, 0xe7, 0xd2, 0xa7, 0x66, 0x65, 0xfb, 0xd4, - 0xfa, 0x4a, 0x8d, 0x9f, 0x5d, 0xff, 0xfa, 0x77, 0x1e, 0x79, 0xcb, 0x1f, 0x7c, 0xe7, 0x91, 0xb7, - 0xfc, 0xd1, 0x77, 0x1e, 0x79, 0xcb, 0x87, 0x6f, 0x3d, 0x62, 0x7d, 0xfd, 0xd6, 0x23, 0xd6, 0x1f, - 0xdc, 0x7a, 0xc4, 0xfa, 0xa3, 0x5b, 0x8f, 0x58, 0xdf, 0xbe, 0xf5, 0x88, 0xf5, 0xd9, 0xff, 0xf6, - 0xc8, 0x5b, 0x5e, 0xca, 0x8c, 0xa9, 0xa7, 0x3f, 0x9e, 0xac, 0xd5, 0xa7, 0xb7, 0x9f, 0x61, 0x61, - 0xdd, 0x74, 0x79, 0x4d, 0x1b, 0x73, 0x6a, 0x5a, 0x2e, 0xaf, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, - 0x33, 0x62, 0xed, 0xfb, 0x7c, 0xf6, 0x00, 0x00, + // 11937 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6b, 0x70, 0x24, 0xc9, + 0x71, 0x18, 0xcc, 0x9e, 0xc1, 0x00, 0x33, 0x89, 0xd7, 0x6e, 0xed, 0xee, 0x1d, 0x6e, 0xef, 0x81, + 0x55, 0x1f, 0x75, 0x3c, 0x7d, 0xbc, 0x03, 0x74, 0x2f, 0x6a, 0x3f, 0x1e, 0x1f, 0xc2, 0x63, 0x1f, + 0xd8, 0x05, 0x16, 0xb8, 0x1a, 0xec, 0x2e, 0x79, 0xe4, 0xf1, 0xd8, 0x98, 0x29, 0x0c, 0x7a, 0xd1, + 0xd3, 0x3d, 0xd7, 0xdd, 0x83, 0xc5, 0x9c, 0x48, 0x8a, 0x14, 0x49, 0x89, 0x12, 0xc9, 0x23, 0x4d, + 0x3a, 0xac, 0x93, 0x2d, 0xd2, 0x94, 0x48, 0x3b, 0xec, 0x70, 0x30, 0x44, 0x5b, 0x11, 0xb2, 0x1c, + 0x92, 0x82, 0x61, 0xc9, 0xa1, 0xa0, 0x2d, 0x3b, 0x24, 0x33, 0x18, 0xa2, 0x6c, 0x49, 0x30, 0xb9, + 0xb6, 0x43, 0x0a, 0xff, 0x50, 0x84, 0x65, 0xff, 0x70, 0xac, 0x1d, 0x0e, 0x47, 0xbd, 0xab, 0x7b, + 0x7a, 0x80, 0xc1, 0xa2, 0x81, 0x5d, 0x52, 0xf7, 0x6f, 0xa6, 0x32, 0x3b, 0xb3, 0xba, 0xba, 0x2a, + 0x33, 0x2b, 0x2b, 0x33, 0x0b, 0x16, 0x1b, 0x6e, 0xbc, 0xd1, 0x5e, 0x9b, 0xaa, 0x05, 0xcd, 0x69, + 0x27, 0x6c, 0x04, 0xad, 0x30, 0xb8, 0xc1, 0x7e, 0x3c, 0x59, 0xab, 0x4f, 0x6f, 0x3d, 0x33, 0xdd, + 0xda, 0x6c, 0x4c, 0x3b, 0x2d, 0x37, 0x9a, 0x76, 0x5a, 0x2d, 0xcf, 0xad, 0x39, 0xb1, 0x1b, 0xf8, + 0xd3, 0x5b, 0x4f, 0x39, 0x5e, 0x6b, 0xc3, 0x79, 0x6a, 0xba, 0x41, 0x7c, 0x12, 0x3a, 0x31, 0xa9, + 0x4f, 0xb5, 0xc2, 0x20, 0x0e, 0xd0, 0x3b, 0x34, 0xb5, 0x29, 0x49, 0x8d, 0xfd, 0x78, 0xb9, 0x56, + 0x9f, 0xda, 0x7a, 0x66, 0xaa, 0xb5, 0xd9, 0x98, 0xa2, 0xd4, 0xa6, 0x0c, 0x6a, 0x53, 0x92, 0xda, + 0xe9, 0x27, 0x8d, 0xbe, 0x34, 0x82, 0x46, 0x30, 0xcd, 0x88, 0xae, 0xb5, 0xd7, 0xd9, 0x3f, 0xf6, + 0x87, 0xfd, 0xe2, 0xcc, 0x4e, 0xdb, 0x9b, 0x67, 0xa3, 0x29, 0x37, 0xa0, 0xdd, 0x9b, 0xae, 0x05, + 0x21, 0x99, 0xde, 0xea, 0xea, 0xd0, 0xe9, 0x8b, 0x1a, 0x87, 0x6c, 0xc7, 0xc4, 0x8f, 0xdc, 0xc0, + 0x8f, 0x9e, 0xa4, 0x5d, 0x20, 0xe1, 0x16, 0x09, 0xcd, 0xd7, 0x33, 0x10, 0xb2, 0x28, 0x3d, 0xab, + 0x29, 0x35, 0x9d, 0xda, 0x86, 0xeb, 0x93, 0xb0, 0xa3, 0x1f, 0x6f, 0x92, 0xd8, 0xc9, 0x7a, 0x6a, + 0xba, 0xd7, 0x53, 0x61, 0xdb, 0x8f, 0xdd, 0x26, 0xe9, 0x7a, 0xe0, 0x6d, 0x7b, 0x3d, 0x10, 0xd5, + 0x36, 0x48, 0xd3, 0xe9, 0x7a, 0xee, 0x99, 0x5e, 0xcf, 0xb5, 0x63, 0xd7, 0x9b, 0x76, 0xfd, 0x38, + 0x8a, 0xc3, 0xf4, 0x43, 0xf6, 0x2f, 0x5b, 0x30, 0x3a, 0x73, 0xbd, 0x3a, 0xd3, 0x8e, 0x37, 0xe6, + 0x02, 0x7f, 0xdd, 0x6d, 0xa0, 0xe7, 0x60, 0xb8, 0xe6, 0xb5, 0xa3, 0x98, 0x84, 0x57, 0x9c, 0x26, + 0x99, 0xb0, 0xce, 0x58, 0x8f, 0x57, 0x66, 0x4f, 0x7c, 0x6b, 0x67, 0xf2, 0x4d, 0xb7, 0x76, 0x26, + 0x87, 0xe7, 0x34, 0x08, 0x9b, 0x78, 0xe8, 0xc7, 0x60, 0x28, 0x0c, 0x3c, 0x32, 0x83, 0xaf, 0x4c, + 0x14, 0xd8, 0x23, 0xe3, 0xe2, 0x91, 0x21, 0xcc, 0x9b, 0xb1, 0x84, 0x53, 0xd4, 0x56, 0x18, 0xac, + 0xbb, 0x1e, 0x99, 0x28, 0x26, 0x51, 0x57, 0x78, 0x33, 0x96, 0x70, 0xfb, 0x8f, 0x0b, 0x00, 0x33, + 0xad, 0xd6, 0x4a, 0x18, 0xdc, 0x20, 0xb5, 0x18, 0x7d, 0x10, 0xca, 0x74, 0x98, 0xeb, 0x4e, 0xec, + 0xb0, 0x8e, 0x0d, 0x3f, 0xfd, 0xe3, 0x53, 0xfc, 0xad, 0xa7, 0xcc, 0xb7, 0xd6, 0x93, 0x8c, 0x62, + 0x4f, 0x6d, 0x3d, 0x35, 0xb5, 0xbc, 0x46, 0x9f, 0x5f, 0x22, 0xb1, 0x33, 0x8b, 0x04, 0x33, 0xd0, + 0x6d, 0x58, 0x51, 0x45, 0x3e, 0x0c, 0x44, 0x2d, 0x52, 0x63, 0xef, 0x30, 0xfc, 0xf4, 0xe2, 0xd4, + 0x41, 0x66, 0xf3, 0x94, 0xee, 0x79, 0xb5, 0x45, 0x6a, 0xb3, 0x23, 0x82, 0xf3, 0x00, 0xfd, 0x87, + 0x19, 0x1f, 0xb4, 0x05, 0x83, 0x51, 0xec, 0xc4, 0xed, 0x88, 0x0d, 0xc5, 0xf0, 0xd3, 0x57, 0x72, + 0xe3, 0xc8, 0xa8, 0xce, 0x8e, 0x09, 0x9e, 0x83, 0xfc, 0x3f, 0x16, 0xdc, 0xec, 0x3f, 0xb7, 0x60, + 0x4c, 0x23, 0x2f, 0xba, 0x51, 0x8c, 0xde, 0xdf, 0x35, 0xb8, 0x53, 0xfd, 0x0d, 0x2e, 0x7d, 0x9a, + 0x0d, 0xed, 0x31, 0xc1, 0xac, 0x2c, 0x5b, 0x8c, 0x81, 0x6d, 0x42, 0xc9, 0x8d, 0x49, 0x33, 0x9a, + 0x28, 0x9c, 0x29, 0x3e, 0x3e, 0xfc, 0xf4, 0xc5, 0xbc, 0xde, 0x73, 0x76, 0x54, 0x30, 0x2d, 0x2d, + 0x50, 0xf2, 0x98, 0x73, 0xb1, 0xff, 0x7a, 0xd4, 0x7c, 0x3f, 0x3a, 0xe0, 0xe8, 0x29, 0x18, 0x8e, + 0x82, 0x76, 0x58, 0x23, 0x98, 0xb4, 0x82, 0x68, 0xc2, 0x3a, 0x53, 0xa4, 0x53, 0x8f, 0x4e, 0xea, + 0xaa, 0x6e, 0xc6, 0x26, 0x0e, 0x7a, 0xcd, 0x82, 0x91, 0x3a, 0x89, 0x62, 0xd7, 0x67, 0xfc, 0x65, + 0xe7, 0x57, 0x0f, 0xdc, 0x79, 0xd9, 0x38, 0xaf, 0x89, 0xcf, 0x9e, 0x14, 0x2f, 0x32, 0x62, 0x34, + 0x46, 0x38, 0xc1, 0x9f, 0x2e, 0xce, 0x3a, 0x89, 0x6a, 0xa1, 0xdb, 0xa2, 0xff, 0xc5, 0xf2, 0x51, + 0x8b, 0x73, 0x5e, 0x83, 0xb0, 0x89, 0x87, 0x7c, 0x28, 0xd1, 0xc5, 0x17, 0x4d, 0x0c, 0xb0, 0xfe, + 0x2f, 0x1c, 0xac, 0xff, 0x62, 0x50, 0xe9, 0xba, 0xd6, 0xa3, 0x4f, 0xff, 0x45, 0x98, 0xb3, 0x41, + 0x9f, 0xb5, 0x60, 0x42, 0x08, 0x07, 0x4c, 0xf8, 0x80, 0x5e, 0xdf, 0x70, 0x63, 0xe2, 0xb9, 0x51, + 0x3c, 0x51, 0x62, 0x7d, 0x98, 0xee, 0x6f, 0x6e, 0x5d, 0x08, 0x83, 0x76, 0xeb, 0xb2, 0xeb, 0xd7, + 0x67, 0xcf, 0x08, 0x4e, 0x13, 0x73, 0x3d, 0x08, 0xe3, 0x9e, 0x2c, 0xd1, 0x17, 0x2d, 0x38, 0xed, + 0x3b, 0x4d, 0x12, 0xb5, 0x1c, 0xfa, 0x69, 0x39, 0x78, 0xd6, 0x73, 0x6a, 0x9b, 0xac, 0x47, 0x83, + 0x77, 0xd6, 0x23, 0x5b, 0xf4, 0xe8, 0xf4, 0x95, 0x9e, 0xa4, 0xf1, 0x2e, 0x6c, 0xd1, 0x57, 0x2d, + 0x38, 0x1e, 0x84, 0xad, 0x0d, 0xc7, 0x27, 0x75, 0x09, 0x8d, 0x26, 0x86, 0xd8, 0xd2, 0xfb, 0xc0, + 0xc1, 0x3e, 0xd1, 0x72, 0x9a, 0xec, 0x52, 0xe0, 0xbb, 0x71, 0x10, 0x56, 0x49, 0x1c, 0xbb, 0x7e, + 0x23, 0x9a, 0x3d, 0x75, 0x6b, 0x67, 0xf2, 0x78, 0x17, 0x16, 0xee, 0xee, 0x0f, 0xfa, 0x29, 0x18, + 0x8e, 0x3a, 0x7e, 0xed, 0xba, 0xeb, 0xd7, 0x83, 0x9b, 0xd1, 0x44, 0x39, 0x8f, 0xe5, 0x5b, 0x55, + 0x04, 0xc5, 0x02, 0xd4, 0x0c, 0xb0, 0xc9, 0x2d, 0xfb, 0xc3, 0xe9, 0xa9, 0x54, 0xc9, 0xfb, 0xc3, + 0xe9, 0xc9, 0xb4, 0x0b, 0x5b, 0xf4, 0x73, 0x16, 0x8c, 0x46, 0x6e, 0xc3, 0x77, 0xe2, 0x76, 0x48, + 0x2e, 0x93, 0x4e, 0x34, 0x01, 0xac, 0x23, 0x97, 0x0e, 0x38, 0x2a, 0x06, 0xc9, 0xd9, 0x53, 0xa2, + 0x8f, 0xa3, 0x66, 0x6b, 0x84, 0x93, 0x7c, 0xb3, 0x16, 0x9a, 0x9e, 0xd6, 0xc3, 0xf9, 0x2e, 0x34, + 0x3d, 0xa9, 0x7b, 0xb2, 0x44, 0x3f, 0x09, 0xc7, 0x78, 0x93, 0x1a, 0xd9, 0x68, 0x62, 0x84, 0x09, + 0xda, 0x93, 0xb7, 0x76, 0x26, 0x8f, 0x55, 0x53, 0x30, 0xdc, 0x85, 0x8d, 0x5e, 0x81, 0xc9, 0x16, + 0x09, 0x9b, 0x6e, 0xbc, 0xec, 0x7b, 0x1d, 0x29, 0xbe, 0x6b, 0x41, 0x8b, 0xd4, 0x45, 0x77, 0xa2, + 0x89, 0xd1, 0x33, 0xd6, 0xe3, 0xe5, 0xd9, 0xb7, 0x88, 0x6e, 0x4e, 0xae, 0xec, 0x8e, 0x8e, 0xf7, + 0xa2, 0x87, 0x7e, 0xdf, 0x82, 0xd3, 0x86, 0x94, 0xad, 0x92, 0x70, 0xcb, 0xad, 0x91, 0x99, 0x5a, + 0x2d, 0x68, 0xfb, 0x71, 0x34, 0x31, 0xc6, 0x86, 0x71, 0xed, 0x30, 0x64, 0x7e, 0x92, 0x95, 0x9e, + 0x97, 0x3d, 0x51, 0x22, 0xbc, 0x4b, 0x4f, 0xed, 0x7f, 0x5d, 0x80, 0x63, 0x69, 0x0b, 0x00, 0xfd, + 0x43, 0x0b, 0xc6, 0x6f, 0xdc, 0x8c, 0x57, 0x83, 0x4d, 0xe2, 0x47, 0xb3, 0x1d, 0x2a, 0xa7, 0x99, + 0xee, 0x1b, 0x7e, 0xba, 0x96, 0xaf, 0xad, 0x31, 0x75, 0x29, 0xc9, 0xe5, 0x9c, 0x1f, 0x87, 0x9d, + 0xd9, 0xfb, 0xc5, 0x3b, 0x8d, 0x5f, 0xba, 0xbe, 0x6a, 0x42, 0x71, 0xba, 0x53, 0xa7, 0x3f, 0x6d, + 0xc1, 0xc9, 0x2c, 0x12, 0xe8, 0x18, 0x14, 0x37, 0x49, 0x87, 0x5b, 0xa2, 0x98, 0xfe, 0x44, 0x2f, + 0x41, 0x69, 0xcb, 0xf1, 0xda, 0x44, 0x98, 0x69, 0x17, 0x0e, 0xf6, 0x22, 0xaa, 0x67, 0x98, 0x53, + 0x7d, 0x7b, 0xe1, 0xac, 0x65, 0xff, 0x61, 0x11, 0x86, 0x8d, 0x8f, 0x76, 0x04, 0xa6, 0x67, 0x90, + 0x30, 0x3d, 0x97, 0x72, 0x9b, 0x6f, 0x3d, 0x6d, 0xcf, 0x9b, 0x29, 0xdb, 0x73, 0x39, 0x3f, 0x96, + 0xbb, 0x1a, 0x9f, 0x28, 0x86, 0x4a, 0xd0, 0xa2, 0xdb, 0x10, 0x6a, 0xc3, 0x0c, 0xe4, 0xf1, 0x09, + 0x97, 0x25, 0xb9, 0xd9, 0xd1, 0x5b, 0x3b, 0x93, 0x15, 0xf5, 0x17, 0x6b, 0x46, 0xf6, 0x77, 0x2d, + 0x38, 0x69, 0xf4, 0x71, 0x2e, 0xf0, 0xeb, 0x2e, 0xfb, 0xb4, 0x67, 0x60, 0x20, 0xee, 0xb4, 0xe4, + 0x56, 0x47, 0x8d, 0xd4, 0x6a, 0xa7, 0x45, 0x30, 0x83, 0xd0, 0x1d, 0x4b, 0x93, 0x44, 0x91, 0xd3, + 0x20, 0xe9, 0xcd, 0xcd, 0x12, 0x6f, 0xc6, 0x12, 0x8e, 0x42, 0x40, 0x9e, 0x13, 0xc5, 0xab, 0xa1, + 0xe3, 0x47, 0x8c, 0xfc, 0xaa, 0xdb, 0x24, 0x62, 0x80, 0xff, 0xbf, 0xfe, 0x66, 0x0c, 0x7d, 0x62, + 0xf6, 0xbe, 0x5b, 0x3b, 0x93, 0x68, 0xb1, 0x8b, 0x12, 0xce, 0xa0, 0x6e, 0x7f, 0xd1, 0x82, 0xfb, + 0xb2, 0x05, 0x0c, 0x7a, 0x0c, 0x06, 0xf9, 0x3e, 0x57, 0xbc, 0x9d, 0xfe, 0x24, 0xac, 0x15, 0x0b, + 0x28, 0x9a, 0x86, 0x8a, 0x52, 0x78, 0xe2, 0x1d, 0x8f, 0x0b, 0xd4, 0x8a, 0xd6, 0x92, 0x1a, 0x87, + 0x0e, 0x1a, 0xfd, 0x23, 0x4c, 0x50, 0x35, 0x68, 0x6c, 0x63, 0xc8, 0x20, 0xf6, 0x77, 0x2c, 0x78, + 0x73, 0x3f, 0x62, 0xef, 0xf0, 0xfa, 0x58, 0x85, 0x53, 0x75, 0xb2, 0xee, 0xb4, 0xbd, 0x38, 0xc9, + 0x51, 0x74, 0xfa, 0x61, 0xf1, 0xf0, 0xa9, 0xf9, 0x2c, 0x24, 0x9c, 0xfd, 0xac, 0xfd, 0x9f, 0x2c, + 0x18, 0x37, 0x5e, 0xeb, 0x08, 0xb6, 0x4e, 0x7e, 0x72, 0xeb, 0xb4, 0x90, 0xdb, 0x32, 0xed, 0xb1, + 0x77, 0xfa, 0xac, 0x05, 0xa7, 0x0d, 0xac, 0x25, 0x27, 0xae, 0x6d, 0x9c, 0xdb, 0x6e, 0x85, 0x24, + 0x8a, 0xe8, 0x94, 0x7a, 0xd8, 0x10, 0xc7, 0xb3, 0xc3, 0x82, 0x42, 0xf1, 0x32, 0xe9, 0x70, 0xd9, + 0xfc, 0x04, 0x94, 0xf9, 0x9a, 0x0b, 0x42, 0xf1, 0x91, 0xd4, 0xbb, 0x2d, 0x8b, 0x76, 0xac, 0x30, + 0x90, 0x0d, 0x83, 0x4c, 0xe6, 0x52, 0x19, 0x44, 0xcd, 0x04, 0xa0, 0xdf, 0xfd, 0x1a, 0x6b, 0xc1, + 0x02, 0x62, 0x47, 0x89, 0xee, 0xac, 0x84, 0x84, 0xcd, 0x87, 0xfa, 0x79, 0x97, 0x78, 0xf5, 0x88, + 0x6e, 0xeb, 0x1c, 0xdf, 0x0f, 0x62, 0xb1, 0x43, 0x33, 0xb6, 0x75, 0x33, 0xba, 0x19, 0x9b, 0x38, + 0x94, 0xa9, 0xe7, 0xac, 0x11, 0x8f, 0x8f, 0xa8, 0x60, 0xba, 0xc8, 0x5a, 0xb0, 0x80, 0xd8, 0xb7, + 0x0a, 0x6c, 0x03, 0xa9, 0x24, 0x1a, 0x39, 0x0a, 0xef, 0x43, 0x98, 0x50, 0x01, 0x2b, 0xf9, 0xc9, + 0x63, 0xd2, 0xdb, 0x03, 0xf1, 0x6a, 0x4a, 0x0b, 0xe0, 0x5c, 0xb9, 0xee, 0xee, 0x85, 0xf8, 0x68, + 0x11, 0x26, 0x93, 0x0f, 0x74, 0x29, 0x11, 0xba, 0xe5, 0x35, 0x18, 0xa5, 0xfd, 0x51, 0x06, 0x3e, + 0x36, 0xf1, 0x7a, 0xc8, 0xe1, 0xc2, 0x61, 0xca, 0x61, 0x53, 0x4d, 0x14, 0xf7, 0x50, 0x13, 0x8f, + 0xa9, 0x51, 0x1f, 0x48, 0xc9, 0xbc, 0xa4, 0xaa, 0x3c, 0x03, 0x03, 0x51, 0x4c, 0x5a, 0x13, 0xa5, + 0xa4, 0x98, 0xad, 0xc6, 0xa4, 0x85, 0x19, 0x04, 0xbd, 0x13, 0xc6, 0x63, 0x27, 0x6c, 0x90, 0x38, + 0x24, 0x5b, 0x2e, 0xf3, 0x5d, 0xb2, 0xfd, 0x6c, 0x65, 0xf6, 0x04, 0xb5, 0xba, 0x56, 0x19, 0x08, + 0x4b, 0x10, 0x4e, 0xe3, 0xda, 0xff, 0xad, 0x00, 0xf7, 0x27, 0x3f, 0x81, 0x56, 0x8c, 0xef, 0x4e, + 0x28, 0xc6, 0xb7, 0x9a, 0x8a, 0xf1, 0xf6, 0xce, 0xe4, 0x83, 0x3d, 0x1e, 0xfb, 0x81, 0xd1, 0x9b, + 0xe8, 0x42, 0xea, 0x23, 0x4c, 0x27, 0x3f, 0xc2, 0xed, 0x9d, 0xc9, 0x87, 0x7b, 0xbc, 0x63, 0xea, + 0x2b, 0x3d, 0x06, 0x83, 0x21, 0x71, 0xa2, 0xc0, 0x17, 0xdf, 0x49, 0x7d, 0x4d, 0xcc, 0x5a, 0xb1, + 0x80, 0xda, 0xdf, 0xae, 0xa4, 0x07, 0xfb, 0x02, 0xf7, 0xc7, 0x06, 0x21, 0x72, 0x61, 0x80, 0xed, + 0xda, 0xb8, 0x64, 0xb9, 0x7c, 0xb0, 0x55, 0x48, 0xb5, 0x88, 0x22, 0x3d, 0x5b, 0xa6, 0x5f, 0x8d, + 0x36, 0x61, 0xc6, 0x02, 0x6d, 0x43, 0xb9, 0x26, 0x37, 0x53, 0x85, 0x3c, 0xdc, 0x8e, 0x62, 0x2b, + 0xa5, 0x39, 0x8e, 0x50, 0x71, 0xaf, 0x76, 0x60, 0x8a, 0x1b, 0x22, 0x50, 0x6c, 0xb8, 0xb1, 0xf8, + 0xac, 0x07, 0xdc, 0x2e, 0x5f, 0x70, 0x8d, 0x57, 0x1c, 0xa2, 0x3a, 0xe8, 0x82, 0x1b, 0x63, 0x4a, + 0x1f, 0x7d, 0xd2, 0x82, 0xe1, 0xa8, 0xd6, 0x5c, 0x09, 0x83, 0x2d, 0xb7, 0x4e, 0x42, 0x61, 0x63, + 0x1e, 0x50, 0xb2, 0x55, 0xe7, 0x96, 0x24, 0x41, 0xcd, 0x97, 0xbb, 0x2f, 0x34, 0x04, 0x9b, 0x7c, + 0xe9, 0xde, 0xeb, 0x7e, 0xf1, 0xee, 0xf3, 0xa4, 0xc6, 0x56, 0x9c, 0xdc, 0x33, 0xb3, 0x99, 0x72, + 0x60, 0x9b, 0x7b, 0xbe, 0x5d, 0xdb, 0xa4, 0xeb, 0x4d, 0x77, 0xe8, 0xc1, 0x5b, 0x3b, 0x93, 0xf7, + 0xcf, 0x65, 0xf3, 0xc4, 0xbd, 0x3a, 0xc3, 0x06, 0xac, 0xd5, 0xf6, 0x3c, 0x4c, 0x5e, 0x69, 0x13, + 0xe6, 0x11, 0xcb, 0x61, 0xc0, 0x56, 0x34, 0xc1, 0xd4, 0x80, 0x19, 0x10, 0x6c, 0xf2, 0x45, 0xaf, + 0xc0, 0x60, 0xd3, 0x89, 0x43, 0x77, 0x5b, 0xb8, 0xc1, 0x0e, 0xb8, 0x0b, 0x5a, 0x62, 0xb4, 0x34, + 0x73, 0xa6, 0xe8, 0x79, 0x23, 0x16, 0x8c, 0x50, 0x13, 0x4a, 0x4d, 0x12, 0x36, 0xc8, 0x44, 0x39, + 0x0f, 0x97, 0xff, 0x12, 0x25, 0xa5, 0x19, 0x56, 0xa8, 0x71, 0xc5, 0xda, 0x30, 0xe7, 0x82, 0x5e, + 0x82, 0x72, 0x44, 0x3c, 0x52, 0xa3, 0xe6, 0x51, 0x85, 0x71, 0x7c, 0xa6, 0x4f, 0x53, 0x91, 0xda, + 0x25, 0x55, 0xf1, 0x28, 0x5f, 0x60, 0xf2, 0x1f, 0x56, 0x24, 0xe9, 0x00, 0xb6, 0xbc, 0x76, 0xc3, + 0xf5, 0x27, 0x20, 0x8f, 0x01, 0x5c, 0x61, 0xb4, 0x52, 0x03, 0xc8, 0x1b, 0xb1, 0x60, 0x64, 0xff, + 0x57, 0x0b, 0x50, 0x52, 0xa8, 0x1d, 0x81, 0x4d, 0xfc, 0x4a, 0xd2, 0x26, 0x5e, 0xcc, 0xd3, 0x68, + 0xe9, 0x61, 0x16, 0xff, 0x56, 0x05, 0x52, 0xea, 0xe0, 0x0a, 0x89, 0x62, 0x52, 0x7f, 0x43, 0x84, + 0xbf, 0x21, 0xc2, 0xdf, 0x10, 0xe1, 0x4a, 0x84, 0xaf, 0xa5, 0x44, 0xf8, 0xbb, 0x8c, 0x55, 0xaf, + 0xcf, 0xd7, 0x5f, 0x56, 0x07, 0xf0, 0x66, 0x0f, 0x0c, 0x04, 0x2a, 0x09, 0x2e, 0x55, 0x97, 0xaf, + 0x64, 0xca, 0xec, 0x97, 0x93, 0x32, 0xfb, 0xa0, 0x2c, 0xfe, 0x26, 0x48, 0xe9, 0xdf, 0xb7, 0xe0, + 0x2d, 0x49, 0xe9, 0x25, 0x67, 0xce, 0x42, 0xc3, 0x0f, 0x42, 0x32, 0xef, 0xae, 0xaf, 0x93, 0x90, + 0xf8, 0x35, 0x12, 0x29, 0xdf, 0x8e, 0xd5, 0xcb, 0xb7, 0x83, 0x9e, 0x85, 0x91, 0x1b, 0x51, 0xe0, + 0xaf, 0x04, 0xae, 0x2f, 0x44, 0x10, 0xdd, 0x71, 0x1c, 0xbb, 0xb5, 0x33, 0x39, 0x42, 0x47, 0x54, + 0xb6, 0xe3, 0x04, 0x16, 0x9a, 0x83, 0xe3, 0x37, 0x5e, 0x59, 0x71, 0x62, 0xc3, 0x9b, 0x20, 0xf7, + 0xfd, 0xec, 0x3c, 0xea, 0xd2, 0x0b, 0x29, 0x20, 0xee, 0xc6, 0xb7, 0xff, 0x5e, 0x01, 0x1e, 0x48, + 0xbd, 0x48, 0xe0, 0x79, 0x41, 0x3b, 0xa6, 0x7b, 0x22, 0xf4, 0x65, 0x0b, 0x8e, 0x35, 0x93, 0x0e, + 0x8b, 0x48, 0xb8, 0xbb, 0xdf, 0x93, 0x9b, 0x8e, 0x48, 0x79, 0x44, 0x66, 0x27, 0xc4, 0x08, 0x1d, + 0x4b, 0x01, 0x22, 0xdc, 0xd5, 0x17, 0xf4, 0x12, 0x54, 0x9a, 0xce, 0xf6, 0xd5, 0x56, 0xdd, 0x89, + 0xe5, 0x76, 0xb4, 0xb7, 0x17, 0xa1, 0x1d, 0xbb, 0xde, 0x14, 0x8f, 0xdc, 0x98, 0x5a, 0xf0, 0xe3, + 0xe5, 0xb0, 0x1a, 0x87, 0xae, 0xdf, 0xe0, 0x4e, 0xce, 0x25, 0x49, 0x06, 0x6b, 0x8a, 0xf6, 0x97, + 0xac, 0xb4, 0x92, 0x52, 0xa3, 0x13, 0x3a, 0x31, 0x69, 0x74, 0xd0, 0x87, 0xa0, 0x44, 0xf7, 0x8d, + 0x72, 0x54, 0xae, 0xe7, 0xa9, 0x39, 0x8d, 0x2f, 0xa1, 0x95, 0x28, 0xfd, 0x17, 0x61, 0xce, 0xd4, + 0xfe, 0x72, 0x25, 0x6d, 0x2c, 0xb0, 0xb3, 0xf9, 0xa7, 0x01, 0x1a, 0xc1, 0x2a, 0x69, 0xb6, 0x3c, + 0x3a, 0x2c, 0x16, 0x3b, 0xe0, 0x51, 0xae, 0x92, 0x0b, 0x0a, 0x82, 0x0d, 0x2c, 0xf4, 0xf3, 0x16, + 0x40, 0x43, 0xce, 0x79, 0x69, 0x08, 0x5c, 0xcd, 0xf3, 0x75, 0xf4, 0x8a, 0xd2, 0x7d, 0x51, 0x0c, + 0xb1, 0xc1, 0x1c, 0xfd, 0x8c, 0x05, 0xe5, 0x58, 0x76, 0x9f, 0xab, 0xc6, 0xd5, 0x3c, 0x7b, 0x22, + 0x5f, 0x5a, 0xdb, 0x44, 0x6a, 0x48, 0x14, 0x5f, 0xf4, 0xb3, 0x16, 0x40, 0xd4, 0xf1, 0x6b, 0x2b, + 0x81, 0xe7, 0xd6, 0x3a, 0x42, 0x63, 0x5e, 0xcb, 0xd5, 0x9d, 0xa3, 0xa8, 0xcf, 0x8e, 0xd1, 0xd1, + 0xd0, 0xff, 0xb1, 0xc1, 0x19, 0x7d, 0x04, 0xca, 0x91, 0x98, 0x6e, 0x42, 0x47, 0xae, 0xe6, 0xeb, + 0x54, 0xe2, 0xb4, 0x85, 0x78, 0x15, 0xff, 0xb0, 0xe2, 0x89, 0x7e, 0xd1, 0x82, 0xf1, 0x56, 0xd2, + 0x4d, 0x28, 0xd4, 0x61, 0x7e, 0x32, 0x20, 0xe5, 0x86, 0xe4, 0xde, 0x96, 0x54, 0x23, 0x4e, 0xf7, + 0x82, 0x4a, 0x40, 0x3d, 0x83, 0x97, 0x5b, 0xdc, 0x65, 0x39, 0xa4, 0x25, 0xe0, 0x85, 0x34, 0x10, + 0x77, 0xe3, 0xa3, 0x15, 0x38, 0x49, 0x7b, 0xd7, 0xe1, 0xe6, 0xa7, 0x54, 0x2f, 0x11, 0x53, 0x86, + 0xe5, 0xd9, 0x87, 0xc4, 0x0c, 0x61, 0x67, 0x1d, 0x69, 0x1c, 0x9c, 0xf9, 0x24, 0xfa, 0x43, 0x0b, + 0x1e, 0x72, 0x99, 0x1a, 0x30, 0x1d, 0xf6, 0x5a, 0x23, 0x88, 0x83, 0x76, 0x92, 0xab, 0xac, 0xe8, + 0xa5, 0x7e, 0x66, 0xdf, 0x2c, 0xde, 0xe0, 0xa1, 0x85, 0x5d, 0xba, 0x84, 0x77, 0xed, 0x30, 0xfa, + 0x09, 0x18, 0x95, 0xeb, 0x62, 0x85, 0x8a, 0x60, 0xa6, 0x68, 0x2b, 0xb3, 0xc7, 0x6f, 0xed, 0x4c, + 0x8e, 0xae, 0x9a, 0x00, 0x9c, 0xc4, 0xb3, 0xff, 0x4d, 0x31, 0x71, 0x4a, 0xa4, 0x7c, 0x98, 0x4c, + 0xdc, 0xd4, 0xa4, 0xff, 0x47, 0x4a, 0xcf, 0x5c, 0xc5, 0x8d, 0xf2, 0x2e, 0x69, 0x71, 0xa3, 0x9a, + 0x22, 0x6c, 0x30, 0xa7, 0x46, 0xe9, 0x71, 0x27, 0xed, 0x29, 0x15, 0x12, 0xf0, 0xa5, 0x3c, 0xbb, + 0xd4, 0x7d, 0xa6, 0xf7, 0x80, 0xe8, 0xda, 0xf1, 0x2e, 0x10, 0xee, 0xee, 0x12, 0xfa, 0x30, 0x54, + 0x42, 0x15, 0xd9, 0x52, 0xcc, 0x63, 0xab, 0x26, 0xa7, 0x8d, 0xe8, 0x8e, 0x3a, 0x00, 0xd2, 0x31, + 0x2c, 0x9a, 0xa3, 0xfd, 0x07, 0xc9, 0x83, 0x31, 0x43, 0x76, 0xf4, 0x71, 0xe8, 0xf7, 0x9a, 0x05, + 0xc3, 0x61, 0xe0, 0x79, 0xae, 0xdf, 0xa0, 0x72, 0x4e, 0x28, 0xeb, 0xf7, 0x1d, 0x8a, 0xbe, 0x14, + 0x02, 0x8d, 0x59, 0xd6, 0x58, 0xf3, 0xc4, 0x66, 0x07, 0xec, 0x3f, 0xb7, 0x60, 0xa2, 0x97, 0x3c, + 0x46, 0x04, 0x1e, 0x94, 0xc2, 0x46, 0x0d, 0xc5, 0xb2, 0x3f, 0x4f, 0x3c, 0xa2, 0xdc, 0xe6, 0xe5, + 0xd9, 0x47, 0xc5, 0x6b, 0x3e, 0xb8, 0xd2, 0x1b, 0x15, 0xef, 0x46, 0x07, 0xbd, 0x08, 0xc7, 0x8c, + 0xf7, 0x8a, 0xd4, 0xc0, 0x54, 0x66, 0xa7, 0xa8, 0x01, 0x34, 0x93, 0x82, 0xdd, 0xde, 0x99, 0xbc, + 0x2f, 0xdd, 0x26, 0x14, 0x46, 0x17, 0x1d, 0xfb, 0x6b, 0x85, 0xf4, 0xd7, 0x52, 0xba, 0xfe, 0x75, + 0xab, 0xcb, 0x9b, 0xf0, 0x9e, 0xc3, 0xd0, 0xaf, 0xcc, 0xef, 0xa0, 0xc2, 0x30, 0x7a, 0xe3, 0xdc, + 0xc5, 0x63, 0x7b, 0xfb, 0xdf, 0x0e, 0xc0, 0x2e, 0x3d, 0xeb, 0xc3, 0x78, 0xdf, 0xf7, 0x39, 0xea, + 0x67, 0x2c, 0x75, 0x60, 0xc6, 0xd7, 0x70, 0xfd, 0xb0, 0xc6, 0x9e, 0xef, 0x9f, 0x22, 0x1e, 0x3a, + 0xa2, 0xbc, 0xe8, 0xc9, 0xa3, 0x39, 0xf4, 0x15, 0x2b, 0x79, 0xe4, 0xc7, 0x83, 0x1a, 0xdd, 0x43, + 0xeb, 0x93, 0x71, 0x8e, 0xc8, 0x3b, 0xa6, 0x4f, 0x9f, 0x7a, 0x9d, 0x30, 0x4e, 0x01, 0xac, 0xbb, + 0xbe, 0xe3, 0xb9, 0xaf, 0xd2, 0xdd, 0x51, 0x89, 0x29, 0x78, 0x66, 0x31, 0x9d, 0x57, 0xad, 0xd8, + 0xc0, 0x38, 0xfd, 0xff, 0xc3, 0xb0, 0xf1, 0xe6, 0x19, 0x11, 0x2f, 0x27, 0xcd, 0x88, 0x97, 0x8a, + 0x11, 0xa8, 0x72, 0xfa, 0x5d, 0x70, 0x2c, 0xdd, 0xc1, 0xfd, 0x3c, 0x6f, 0xff, 0xaf, 0xa1, 0xf4, + 0x19, 0xdc, 0x2a, 0x09, 0x9b, 0xb4, 0x6b, 0x6f, 0x38, 0xb6, 0xde, 0x70, 0x6c, 0xbd, 0xe1, 0xd8, + 0x32, 0xcf, 0x26, 0x84, 0xd3, 0x66, 0xe8, 0x88, 0x9c, 0x36, 0x09, 0x37, 0x54, 0x39, 0x77, 0x37, + 0x94, 0xfd, 0xc9, 0x2e, 0xcf, 0xfd, 0x6a, 0x48, 0x08, 0x0a, 0xa0, 0xe4, 0x07, 0x75, 0x22, 0x6d, + 0xdc, 0x4b, 0xf9, 0x18, 0x6c, 0x57, 0x82, 0xba, 0x11, 0x2e, 0x4e, 0xff, 0x45, 0x98, 0xf3, 0xb1, + 0x3f, 0x31, 0x08, 0x09, 0x73, 0x92, 0x7f, 0xf7, 0x1f, 0x83, 0xa1, 0x90, 0xb4, 0x82, 0xab, 0x78, + 0x51, 0xe8, 0x32, 0x9d, 0x51, 0xc2, 0x9b, 0xb1, 0x84, 0x53, 0x9d, 0xd7, 0x72, 0xe2, 0x0d, 0xa1, + 0xcc, 0x94, 0xce, 0x5b, 0x71, 0xe2, 0x0d, 0xcc, 0x20, 0xe8, 0x5d, 0x30, 0x16, 0x27, 0x8e, 0xc2, + 0xc5, 0x91, 0xef, 0x7d, 0x02, 0x77, 0x2c, 0x79, 0x50, 0x8e, 0x53, 0xd8, 0xe8, 0x15, 0x18, 0xd8, + 0x20, 0x5e, 0x53, 0x7c, 0xfa, 0x6a, 0x7e, 0xba, 0x86, 0xbd, 0xeb, 0x45, 0xe2, 0x35, 0xb9, 0x24, + 0xa4, 0xbf, 0x30, 0x63, 0x45, 0xe7, 0x7d, 0x65, 0xb3, 0x1d, 0xc5, 0x41, 0xd3, 0x7d, 0x55, 0x7a, + 0x3a, 0xdf, 0x93, 0x33, 0xe3, 0xcb, 0x92, 0x3e, 0x77, 0x29, 0xa9, 0xbf, 0x58, 0x73, 0x66, 0xfd, + 0xa8, 0xbb, 0x21, 0x9b, 0x32, 0x1d, 0xe1, 0xb0, 0xcc, 0xbb, 0x1f, 0xf3, 0x92, 0x3e, 0xef, 0x87, + 0xfa, 0x8b, 0x35, 0x67, 0xd4, 0x51, 0xeb, 0x6f, 0x98, 0xf5, 0xe1, 0x6a, 0xce, 0x7d, 0xe0, 0x6b, + 0x2f, 0x73, 0x1d, 0x3e, 0x0a, 0xa5, 0xda, 0x86, 0x13, 0xc6, 0x13, 0x23, 0x6c, 0xd2, 0xa8, 0x59, + 0x3c, 0x47, 0x1b, 0x31, 0x87, 0xa1, 0x87, 0xa1, 0x18, 0x92, 0x75, 0x16, 0x9d, 0x6c, 0xc4, 0x45, + 0x61, 0xb2, 0x8e, 0x69, 0xbb, 0xb2, 0xcb, 0xc6, 0x7a, 0x06, 0xcc, 0xfd, 0x4a, 0x21, 0x69, 0xd8, + 0x25, 0x47, 0x86, 0xaf, 0x87, 0x5a, 0x3b, 0x8c, 0xa4, 0x83, 0xcc, 0x58, 0x0f, 0xac, 0x19, 0x4b, + 0x38, 0xfa, 0x98, 0x05, 0x43, 0x37, 0xa2, 0xc0, 0xf7, 0x49, 0x2c, 0x94, 0xe8, 0xb5, 0x9c, 0x07, + 0xeb, 0x12, 0xa7, 0xae, 0xfb, 0x20, 0x1a, 0xb0, 0xe4, 0x4b, 0xbb, 0x4b, 0xb6, 0x6b, 0x5e, 0xbb, + 0xde, 0x15, 0x0c, 0x73, 0x8e, 0x37, 0x63, 0x09, 0xa7, 0xa8, 0xae, 0xcf, 0x51, 0x07, 0x92, 0xa8, + 0x0b, 0xbe, 0x40, 0x15, 0x70, 0xfb, 0xd7, 0xcb, 0x70, 0x2a, 0x73, 0xf9, 0x50, 0x93, 0x8b, 0x19, + 0x35, 0xe7, 0x5d, 0x8f, 0xc8, 0x30, 0x30, 0x66, 0x72, 0x5d, 0x53, 0xad, 0xd8, 0xc0, 0x40, 0x3f, + 0x0d, 0xd0, 0x72, 0x42, 0xa7, 0x49, 0x94, 0x03, 0xfb, 0xc0, 0x96, 0x0d, 0xed, 0xc7, 0x8a, 0xa4, + 0xa9, 0x37, 0xf1, 0xaa, 0x29, 0xc2, 0x06, 0x4b, 0xf4, 0x1c, 0x0c, 0x87, 0xc4, 0x23, 0x4e, 0xc4, + 0xc2, 0xdf, 0xd3, 0xb9, 0x3c, 0x58, 0x83, 0xb0, 0x89, 0x87, 0x1e, 0x53, 0x11, 0x73, 0xa9, 0xc8, + 0xa1, 0x64, 0xd4, 0x1c, 0xfa, 0x9c, 0x05, 0x63, 0xeb, 0xae, 0x47, 0x34, 0x77, 0x91, 0x79, 0xb3, + 0x7c, 0xf0, 0x97, 0x3c, 0x6f, 0xd2, 0xd5, 0x32, 0x34, 0xd1, 0x1c, 0xe1, 0x14, 0x7b, 0xfa, 0x99, + 0xb7, 0x48, 0xc8, 0x84, 0xef, 0x60, 0xf2, 0x33, 0x5f, 0xe3, 0xcd, 0x58, 0xc2, 0xd1, 0x0c, 0x8c, + 0xb7, 0x9c, 0x28, 0x9a, 0x0b, 0x49, 0x9d, 0xf8, 0xb1, 0xeb, 0x78, 0x3c, 0x2f, 0xa6, 0xac, 0xc3, + 0xc9, 0x57, 0x92, 0x60, 0x9c, 0xc6, 0x47, 0xef, 0x85, 0xfb, 0xb9, 0x87, 0x68, 0xc9, 0x8d, 0x22, + 0xd7, 0x6f, 0xe8, 0x69, 0x20, 0x1c, 0x65, 0x93, 0x82, 0xd4, 0xfd, 0x0b, 0xd9, 0x68, 0xb8, 0xd7, + 0xf3, 0xe8, 0x09, 0x28, 0x47, 0x9b, 0x6e, 0x6b, 0x2e, 0xac, 0x47, 0xec, 0x74, 0xa8, 0xac, 0xdd, + 0xb2, 0x55, 0xd1, 0x8e, 0x15, 0x06, 0xaa, 0xc1, 0x08, 0xff, 0x24, 0x3c, 0xe4, 0x4f, 0x48, 0xd0, + 0x27, 0x7b, 0x2a, 0x72, 0x91, 0xe6, 0x39, 0x85, 0x9d, 0x9b, 0xe7, 0xe4, 0x59, 0x15, 0x3f, 0x5a, + 0xb9, 0x66, 0x90, 0xc1, 0x09, 0xa2, 0xc9, 0x3d, 0xdd, 0x70, 0x1f, 0x7b, 0xba, 0xe7, 0x60, 0x78, + 0xb3, 0xbd, 0x46, 0xc4, 0xc8, 0x0b, 0xc1, 0xa6, 0x66, 0xdf, 0x65, 0x0d, 0xc2, 0x26, 0x1e, 0x8b, + 0xb6, 0x6c, 0xb9, 0xe2, 0x5f, 0x34, 0x31, 0x6a, 0x44, 0x5b, 0xae, 0x2c, 0xc8, 0x66, 0x6c, 0xe2, + 0xd0, 0xae, 0xd1, 0xb1, 0x58, 0x25, 0x11, 0x4b, 0xa6, 0xa0, 0xc3, 0xa5, 0xba, 0x56, 0x95, 0x00, + 0xac, 0x71, 0xd0, 0x0a, 0x9c, 0xa4, 0x7f, 0xaa, 0x2c, 0xcd, 0xf5, 0x9a, 0xe3, 0xb9, 0x75, 0x1e, + 0xfa, 0x37, 0x9e, 0xf4, 0x6f, 0x56, 0x33, 0x70, 0x70, 0xe6, 0x93, 0xf6, 0x2f, 0x15, 0x92, 0x9e, + 0x13, 0x53, 0x84, 0xa1, 0x88, 0x0a, 0xaa, 0xf8, 0x9a, 0x13, 0x4a, 0x83, 0xe7, 0x80, 0xc9, 0x4d, + 0x82, 0xee, 0x35, 0x27, 0x34, 0x45, 0x1e, 0x63, 0x80, 0x25, 0x27, 0x74, 0x03, 0x06, 0x62, 0xcf, + 0xc9, 0x29, 0x1b, 0xd2, 0xe0, 0xa8, 0x1d, 0x59, 0x8b, 0x33, 0x11, 0x66, 0x3c, 0xd0, 0x43, 0x74, + 0xf7, 0xb6, 0x26, 0x4f, 0xda, 0xc4, 0x86, 0x6b, 0x2d, 0xc2, 0xac, 0xd5, 0xfe, 0xe6, 0x48, 0x86, + 0xd6, 0x51, 0x86, 0x00, 0x7a, 0x1a, 0x80, 0x4e, 0x9a, 0x95, 0x90, 0xac, 0xbb, 0xdb, 0xc2, 0x10, + 0x53, 0x92, 0xed, 0x8a, 0x82, 0x60, 0x03, 0x4b, 0x3e, 0x53, 0x6d, 0xaf, 0xd3, 0x67, 0x0a, 0xdd, + 0xcf, 0x70, 0x08, 0x36, 0xb0, 0xd0, 0xb3, 0x30, 0xe8, 0x36, 0x9d, 0x86, 0x0a, 0x04, 0x7e, 0x88, + 0x8a, 0xb4, 0x05, 0xd6, 0x72, 0x7b, 0x67, 0x72, 0x4c, 0x75, 0x88, 0x35, 0x61, 0x81, 0x8b, 0xbe, + 0x66, 0xc1, 0x48, 0x2d, 0x68, 0x36, 0x03, 0x9f, 0x6f, 0x9f, 0x85, 0x2f, 0xe0, 0xc6, 0x61, 0x99, + 0x49, 0x53, 0x73, 0x06, 0x33, 0xee, 0x0c, 0x50, 0x69, 0x9b, 0x26, 0x08, 0x27, 0x7a, 0x65, 0x4a, + 0xbe, 0xd2, 0x1e, 0x92, 0xef, 0x37, 0x2d, 0x38, 0xce, 0x9f, 0x35, 0x76, 0xf5, 0x22, 0x43, 0x31, + 0x38, 0xe4, 0xd7, 0xea, 0x72, 0x74, 0x28, 0x67, 0x6f, 0x17, 0x1c, 0x77, 0x77, 0x12, 0x5d, 0x80, + 0xe3, 0xeb, 0x41, 0x58, 0x23, 0xe6, 0x40, 0x08, 0xb1, 0xad, 0x08, 0x9d, 0x4f, 0x23, 0xe0, 0xee, + 0x67, 0xd0, 0x35, 0xb8, 0xcf, 0x68, 0x34, 0xc7, 0x81, 0x4b, 0xee, 0x47, 0x04, 0xb5, 0xfb, 0xce, + 0x67, 0x62, 0xe1, 0x1e, 0x4f, 0x27, 0x85, 0x64, 0xa5, 0x0f, 0x21, 0xf9, 0x32, 0x3c, 0x50, 0xeb, + 0x1e, 0x99, 0xad, 0xa8, 0xbd, 0x16, 0x71, 0x39, 0x5e, 0x9e, 0xfd, 0x11, 0x41, 0xe0, 0x81, 0xb9, + 0x5e, 0x88, 0xb8, 0x37, 0x0d, 0xf4, 0x21, 0x28, 0x87, 0x84, 0x7d, 0x95, 0x48, 0xa4, 0xeb, 0x1d, + 0xd0, 0xdb, 0xa1, 0x2d, 0x78, 0x4e, 0x56, 0x6b, 0x26, 0xd1, 0x10, 0x61, 0xc5, 0x11, 0xdd, 0x84, + 0xa1, 0x96, 0x13, 0xd7, 0x36, 0x44, 0x92, 0xde, 0x81, 0x7d, 0xf3, 0x8a, 0x39, 0x3b, 0x4a, 0x31, + 0xd2, 0xfa, 0x39, 0x13, 0x2c, 0xb9, 0x51, 0x5b, 0xad, 0x16, 0x34, 0x5b, 0x81, 0x4f, 0xfc, 0x58, + 0x2a, 0x91, 0x31, 0x7e, 0xde, 0x21, 0x5b, 0xb1, 0x81, 0xd1, 0xa5, 0xcb, 0x35, 0xda, 0xc4, 0xf1, + 0x5d, 0x74, 0xb9, 0x41, 0xad, 0xd7, 0xf3, 0x54, 0xd9, 0x30, 0xb7, 0xe2, 0x75, 0x37, 0xde, 0x08, + 0xda, 0xb1, 0xdc, 0x25, 0x0b, 0x45, 0xa5, 0x94, 0xcd, 0x62, 0x06, 0x0e, 0xce, 0x7c, 0x32, 0xad, + 0x59, 0xc7, 0xef, 0x4c, 0xb3, 0x1e, 0xdb, 0x5b, 0xb3, 0x9e, 0x7e, 0x37, 0x1c, 0xef, 0x92, 0x47, + 0xfb, 0xf2, 0x1d, 0xce, 0xc3, 0x7d, 0xd9, 0x2b, 0x7f, 0x5f, 0x1e, 0xc4, 0x5f, 0x4f, 0x85, 0x90, + 0x1b, 0xbb, 0xa9, 0x3e, 0xbc, 0xd1, 0x0e, 0x14, 0x89, 0xbf, 0x25, 0x14, 0xe1, 0xf9, 0x83, 0x4d, + 0xc0, 0x73, 0xfe, 0x16, 0x17, 0x5c, 0xcc, 0xe5, 0x76, 0xce, 0xdf, 0xc2, 0x94, 0x36, 0xfa, 0x82, + 0x95, 0xb0, 0xf5, 0xb9, 0x0f, 0xfb, 0x03, 0x87, 0xb2, 0x7d, 0xec, 0xdb, 0xfc, 0xb7, 0xff, 0x5d, + 0x01, 0xce, 0xec, 0x45, 0xa4, 0x8f, 0xe1, 0x7b, 0x14, 0x06, 0x23, 0x16, 0x14, 0x22, 0x34, 0xcb, + 0x30, 0x5d, 0x70, 0x3c, 0x4c, 0xe4, 0x65, 0x2c, 0x40, 0xc8, 0x83, 0x62, 0xd3, 0x69, 0x09, 0xd7, + 0xe6, 0xc2, 0x41, 0x53, 0xed, 0xe8, 0x7f, 0xc7, 0x5b, 0x72, 0x5a, 0x7c, 0x7a, 0x1a, 0x0d, 0x98, + 0xb2, 0x41, 0x31, 0x94, 0x9c, 0x30, 0x74, 0x64, 0x04, 0xc2, 0xe5, 0x7c, 0xf8, 0xcd, 0x50, 0x92, + 0xfc, 0x00, 0x37, 0xd1, 0x84, 0x39, 0x33, 0xfb, 0x17, 0xcb, 0x89, 0xbc, 0x2c, 0x16, 0x56, 0x12, + 0xc1, 0xa0, 0xf0, 0x68, 0x5a, 0x79, 0x67, 0x38, 0xf2, 0xc4, 0x67, 0xe6, 0x2c, 0x10, 0xe5, 0x23, + 0x04, 0x2b, 0xf4, 0x69, 0x8b, 0x15, 0x69, 0x90, 0xc9, 0x6e, 0x62, 0x03, 0x7e, 0x38, 0x35, 0x23, + 0xcc, 0xd2, 0x0f, 0xb2, 0x11, 0x9b, 0xdc, 0x45, 0xb1, 0x15, 0xb6, 0xf1, 0xe8, 0x2e, 0xb6, 0xc2, + 0x36, 0x12, 0x12, 0x8e, 0xb6, 0x33, 0xc2, 0x47, 0x72, 0x48, 0xf4, 0xef, 0x23, 0x60, 0xe4, 0x2b, + 0x16, 0x1c, 0x77, 0xd3, 0x71, 0x00, 0x62, 0xbb, 0x7a, 0x3d, 0x1f, 0xf7, 0x63, 0x77, 0x98, 0x81, + 0xb2, 0x49, 0xba, 0x40, 0xb8, 0xbb, 0x33, 0xa8, 0x0e, 0x03, 0xae, 0xbf, 0x1e, 0x08, 0x4b, 0x6c, + 0xf6, 0x60, 0x9d, 0x5a, 0xf0, 0xd7, 0x03, 0xbd, 0x9a, 0xe9, 0x3f, 0xcc, 0xa8, 0xa3, 0x45, 0x38, + 0x29, 0x53, 0x73, 0x2e, 0xba, 0x51, 0x1c, 0x84, 0x9d, 0x45, 0xb7, 0xe9, 0xc6, 0xcc, 0x8a, 0x2a, + 0xce, 0x4e, 0x50, 0x4d, 0x84, 0x33, 0xe0, 0x38, 0xf3, 0x29, 0xf4, 0x2a, 0x0c, 0xc9, 0xb3, 0xf7, + 0x72, 0x1e, 0x5b, 0xff, 0xee, 0xf9, 0xaf, 0x26, 0x53, 0x55, 0x1c, 0xbe, 0x4b, 0x86, 0xe8, 0x53, + 0x16, 0x8c, 0xf1, 0xdf, 0x17, 0x3b, 0x75, 0x9e, 0x0d, 0x58, 0xc9, 0x23, 0xc0, 0xbe, 0x9a, 0xa0, + 0x39, 0x8b, 0x6e, 0xed, 0x4c, 0x8e, 0x25, 0xdb, 0x70, 0x8a, 0xaf, 0xfd, 0xb5, 0x11, 0xe8, 0x8e, + 0x56, 0x48, 0x86, 0x26, 0x58, 0x47, 0x1d, 0x9a, 0x40, 0x37, 0x80, 0x91, 0x8e, 0x2a, 0xc8, 0x61, + 0x99, 0x09, 0xae, 0xfa, 0xc4, 0xb8, 0xe3, 0xd7, 0x30, 0xe3, 0x81, 0x42, 0x18, 0xdc, 0x20, 0x8e, + 0x17, 0x6f, 0xe4, 0x73, 0xb8, 0x75, 0x91, 0xd1, 0x4a, 0xa7, 0xf6, 0xf1, 0x56, 0x2c, 0x38, 0xa1, + 0x6d, 0x18, 0xda, 0xe0, 0x73, 0x51, 0xec, 0xc9, 0x96, 0x0e, 0x3a, 0xb8, 0x89, 0x09, 0xae, 0x67, + 0x9e, 0x68, 0xc0, 0x92, 0x1d, 0x0b, 0x83, 0x33, 0x02, 0x75, 0xb8, 0x14, 0xc9, 0x2f, 0xab, 0xb1, + 0xff, 0x28, 0x9d, 0x0f, 0xc2, 0x48, 0x48, 0x6a, 0x81, 0x5f, 0x73, 0x3d, 0x52, 0x9f, 0x91, 0x07, + 0x57, 0xfb, 0x49, 0x66, 0x63, 0x5e, 0x1f, 0x6c, 0xd0, 0xc0, 0x09, 0x8a, 0x6c, 0x91, 0xa9, 0x04, + 0x77, 0xfa, 0x41, 0x88, 0x38, 0xa0, 0x58, 0xcc, 0x29, 0x9d, 0x9e, 0xd1, 0xe4, 0x8b, 0x2c, 0xd9, + 0x86, 0x53, 0x7c, 0xd1, 0x8b, 0x00, 0xc1, 0x1a, 0x8f, 0x75, 0x9b, 0x89, 0xc5, 0x69, 0xc5, 0x7e, + 0x5e, 0x75, 0x8c, 0x27, 0xc5, 0x4a, 0x0a, 0xd8, 0xa0, 0x86, 0x2e, 0x03, 0xf0, 0x65, 0xb3, 0xda, + 0x69, 0xc9, 0x8d, 0x9b, 0xcc, 0x46, 0x84, 0xaa, 0x82, 0xdc, 0xde, 0x99, 0xec, 0xf6, 0x0d, 0xb3, + 0x80, 0x1e, 0xe3, 0x71, 0xf4, 0x53, 0x30, 0x14, 0xb5, 0x9b, 0x4d, 0x47, 0x9d, 0x65, 0xe4, 0x98, + 0x66, 0xcb, 0xe9, 0x1a, 0x52, 0x91, 0x37, 0x60, 0xc9, 0x11, 0xdd, 0xa0, 0xf2, 0x5d, 0x88, 0x27, + 0xbe, 0x8a, 0xb8, 0x79, 0xc2, 0x3d, 0x76, 0x6f, 0x93, 0xbb, 0x0d, 0x9c, 0x81, 0x73, 0x7b, 0x67, + 0xf2, 0xbe, 0x64, 0xfb, 0x62, 0x20, 0x12, 0x5f, 0x33, 0x69, 0xa2, 0x4b, 0xb2, 0xde, 0x15, 0x7d, + 0x6d, 0x59, 0x86, 0xe5, 0x71, 0x5d, 0xef, 0x8a, 0x35, 0xf7, 0x1e, 0x33, 0xf3, 0x61, 0xb4, 0x04, + 0x27, 0x6a, 0x81, 0x1f, 0x87, 0x81, 0xe7, 0xf1, 0x7a, 0x6f, 0x7c, 0x0f, 0xcd, 0xcf, 0x3a, 0x1e, + 0x14, 0xdd, 0x3e, 0x31, 0xd7, 0x8d, 0x82, 0xb3, 0x9e, 0xa3, 0x06, 0x79, 0x5a, 0x39, 0x8c, 0xe5, + 0x72, 0x0c, 0x9e, 0xa0, 0x29, 0x24, 0x94, 0x72, 0x4f, 0xef, 0xa1, 0x26, 0xfc, 0xe4, 0x61, 0xa8, + 0xf8, 0x62, 0xcf, 0xc2, 0x08, 0xd9, 0x8e, 0x49, 0xe8, 0x3b, 0xde, 0x55, 0xbc, 0x28, 0x0f, 0x16, + 0xd8, 0xc2, 0x3c, 0x67, 0xb4, 0xe3, 0x04, 0x16, 0xb2, 0x95, 0x37, 0xcb, 0xc8, 0x30, 0xe7, 0xde, + 0x2c, 0xe9, 0xbb, 0xb2, 0xbf, 0x51, 0x4c, 0x18, 0xac, 0x77, 0xe5, 0xe8, 0x95, 0x95, 0x32, 0x92, + 0x35, 0x9f, 0x18, 0x40, 0x6c, 0xc4, 0xf2, 0xe4, 0xac, 0x4a, 0x19, 0x2d, 0x9b, 0x8c, 0x70, 0x92, + 0x2f, 0xda, 0x84, 0xd2, 0x46, 0x10, 0xc5, 0x72, 0x7b, 0x76, 0xc0, 0x9d, 0xe0, 0xc5, 0x20, 0x8a, + 0x99, 0x95, 0xa5, 0x5e, 0x9b, 0xb6, 0x44, 0x98, 0xf3, 0xa0, 0x7b, 0xf4, 0x68, 0xc3, 0x09, 0xeb, + 0xd1, 0x1c, 0xab, 0x07, 0x31, 0xc0, 0xcc, 0x2b, 0x65, 0x4c, 0x57, 0x35, 0x08, 0x9b, 0x78, 0xf6, + 0x5f, 0x58, 0x89, 0xd3, 0xa7, 0xeb, 0x2c, 0xb8, 0x7f, 0x8b, 0xf8, 0x54, 0x44, 0x99, 0xe1, 0x84, + 0x3f, 0x91, 0x4a, 0x95, 0x7e, 0x4b, 0xaf, 0xd2, 0x8c, 0x37, 0x29, 0x85, 0x29, 0x46, 0xc2, 0x88, + 0x3c, 0xfc, 0xa8, 0x95, 0xcc, 0x79, 0x2f, 0xe4, 0xb1, 0x6f, 0x33, 0xeb, 0x3e, 0xec, 0x99, 0x3e, + 0x6f, 0x7f, 0xc1, 0x82, 0xa1, 0x59, 0xa7, 0xb6, 0x19, 0xac, 0xaf, 0xa3, 0x27, 0xa0, 0x5c, 0x6f, + 0x87, 0x66, 0xfa, 0xbd, 0x72, 0x2a, 0xcd, 0x8b, 0x76, 0xac, 0x30, 0xe8, 0xd4, 0x5f, 0x77, 0x6a, + 0xb2, 0xfa, 0x43, 0x91, 0x4f, 0xfd, 0xf3, 0xac, 0x05, 0x0b, 0x08, 0x1d, 0xfe, 0xa6, 0xb3, 0x2d, + 0x1f, 0x4e, 0x1f, 0x7d, 0x2d, 0x69, 0x10, 0x36, 0xf1, 0xec, 0x7f, 0x65, 0xc1, 0xc4, 0xac, 0x13, + 0xb9, 0xb5, 0x99, 0x76, 0xbc, 0x31, 0xeb, 0xc6, 0x6b, 0xed, 0xda, 0x26, 0x89, 0x79, 0x95, 0x10, + 0xda, 0xcb, 0x76, 0x44, 0x57, 0xa0, 0xda, 0x2e, 0xab, 0x5e, 0x5e, 0x15, 0xed, 0x58, 0x61, 0xa0, + 0x57, 0x61, 0xb8, 0xe5, 0x44, 0xd1, 0xcd, 0x20, 0xac, 0x63, 0xb2, 0x9e, 0x4f, 0x1d, 0xa1, 0x2a, + 0xa9, 0x85, 0x24, 0xc6, 0x64, 0x5d, 0x04, 0x92, 0x68, 0xfa, 0xd8, 0x64, 0x66, 0xff, 0xbc, 0x05, + 0x27, 0x67, 0x89, 0x13, 0x92, 0x90, 0x95, 0x1d, 0x52, 0x2f, 0x82, 0x5e, 0x81, 0x72, 0x4c, 0x5b, + 0x68, 0x8f, 0xac, 0x7c, 0x7b, 0xc4, 0x42, 0x40, 0x56, 0x05, 0x71, 0xac, 0xd8, 0xd8, 0xaf, 0x59, + 0xf0, 0x40, 0x56, 0x5f, 0xe6, 0xbc, 0xa0, 0x5d, 0xbf, 0x1b, 0x1d, 0xfa, 0xbb, 0x16, 0x8c, 0xb0, + 0x63, 0xf5, 0x79, 0x12, 0x3b, 0xae, 0xd7, 0x55, 0xf2, 0xd0, 0xea, 0xb3, 0xe4, 0xe1, 0x19, 0x18, + 0xd8, 0x08, 0x9a, 0x24, 0x1d, 0x12, 0x72, 0x31, 0x68, 0x12, 0xcc, 0x20, 0xe8, 0x29, 0x3a, 0x09, + 0x5d, 0x3f, 0x76, 0xe8, 0x72, 0x94, 0xc7, 0x0e, 0xe3, 0x7c, 0x02, 0xaa, 0x66, 0x6c, 0xe2, 0xd8, + 0xff, 0xb2, 0x02, 0x43, 0x22, 0x7e, 0xa9, 0xef, 0xaa, 0x35, 0xd2, 0x85, 0x53, 0xe8, 0xe9, 0xc2, + 0x89, 0x60, 0xb0, 0xc6, 0x6a, 0xaf, 0x0a, 0xf3, 0xfc, 0x72, 0x2e, 0x01, 0x6f, 0xbc, 0x9c, 0xab, + 0xee, 0x16, 0xff, 0x8f, 0x05, 0x2b, 0xf4, 0x79, 0x0b, 0xc6, 0x6b, 0x81, 0xef, 0x93, 0x9a, 0xb6, + 0x1d, 0x07, 0xf2, 0x88, 0x6b, 0x9a, 0x4b, 0x12, 0xd5, 0x27, 0xb6, 0x29, 0x00, 0x4e, 0xb3, 0x47, + 0xcf, 0xc3, 0x28, 0x1f, 0xb3, 0x6b, 0x89, 0xb3, 0x12, 0x5d, 0x09, 0xcf, 0x04, 0xe2, 0x24, 0x2e, + 0x9a, 0xe2, 0x67, 0x4e, 0xa2, 0xe6, 0xdc, 0xa0, 0x76, 0x29, 0x1b, 0xd5, 0xe6, 0x0c, 0x0c, 0x14, + 0x02, 0x0a, 0xc9, 0x7a, 0x48, 0xa2, 0x0d, 0x11, 0xdf, 0xc5, 0xec, 0xd6, 0xa1, 0x3b, 0xab, 0x37, + 0x81, 0xbb, 0x28, 0xe1, 0x0c, 0xea, 0x68, 0x53, 0xf8, 0x10, 0xca, 0x79, 0xc8, 0x73, 0xf1, 0x99, + 0x7b, 0xba, 0x12, 0x26, 0xa1, 0xc4, 0x54, 0x17, 0xb3, 0x97, 0x8b, 0x3c, 0xc7, 0x91, 0x29, 0x36, + 0xcc, 0xdb, 0xd1, 0x3c, 0x1c, 0x4b, 0xd5, 0xf1, 0x8b, 0xc4, 0x99, 0x86, 0xca, 0x67, 0x4b, 0x55, + 0x00, 0x8c, 0x70, 0xd7, 0x13, 0xa6, 0x7f, 0x69, 0x78, 0x0f, 0xff, 0x52, 0x47, 0x45, 0x11, 0xf3, + 0xd3, 0x86, 0x17, 0x72, 0x19, 0x80, 0xbe, 0x42, 0x86, 0x3f, 0x9b, 0x0a, 0x19, 0x1e, 0x65, 0x1d, + 0xb8, 0x96, 0x4f, 0x07, 0xf6, 0x1f, 0x1f, 0x7c, 0x37, 0xe3, 0x7d, 0xff, 0xa7, 0x05, 0xf2, 0xbb, + 0xce, 0x39, 0xb5, 0x0d, 0x42, 0xa7, 0x0c, 0x7a, 0x17, 0x8c, 0x29, 0xd7, 0x04, 0x37, 0x89, 0x2c, + 0x36, 0x6b, 0x94, 0xed, 0x8c, 0x13, 0x50, 0x9c, 0xc2, 0x46, 0xd3, 0x50, 0xa1, 0xe3, 0xc4, 0x1f, + 0xe5, 0x7a, 0x5f, 0xb9, 0x3f, 0x66, 0x56, 0x16, 0xc4, 0x53, 0x1a, 0x07, 0x05, 0x70, 0xdc, 0x73, + 0xa2, 0x98, 0xf5, 0xa0, 0xda, 0xf1, 0x6b, 0x77, 0x58, 0xed, 0x85, 0x25, 0x4d, 0x2d, 0xa6, 0x09, + 0xe1, 0x6e, 0xda, 0xf6, 0xbf, 0x2f, 0xc1, 0x68, 0x42, 0x32, 0xee, 0xd3, 0x60, 0x78, 0x02, 0xca, + 0x52, 0x87, 0xa7, 0xcb, 0x5a, 0x29, 0x45, 0xaf, 0x30, 0xa8, 0xd2, 0x5a, 0xd3, 0x5a, 0x35, 0x6d, + 0xe0, 0x18, 0x0a, 0x17, 0x9b, 0x78, 0x4c, 0x28, 0xc7, 0x5e, 0x34, 0xe7, 0xb9, 0xc4, 0x8f, 0x79, + 0x37, 0xf3, 0x11, 0xca, 0xab, 0x8b, 0x55, 0x93, 0xa8, 0x16, 0xca, 0x29, 0x00, 0x4e, 0xb3, 0x47, + 0x9f, 0xb0, 0x60, 0xd4, 0xb9, 0x19, 0xe9, 0x02, 0xe1, 0x22, 0x38, 0xf8, 0x80, 0x4a, 0x2a, 0x51, + 0x73, 0x9c, 0x7b, 0xf5, 0x13, 0x4d, 0x38, 0xc9, 0x14, 0xbd, 0x6e, 0x01, 0x22, 0xdb, 0xa4, 0x26, + 0xc3, 0x97, 0x45, 0x5f, 0x06, 0xf3, 0xd8, 0xc1, 0x9f, 0xeb, 0xa2, 0xcb, 0xa5, 0x7a, 0x77, 0x3b, + 0xce, 0xe8, 0x03, 0xba, 0x04, 0xa8, 0xee, 0x46, 0xce, 0x9a, 0x47, 0xe6, 0x82, 0xa6, 0x4c, 0xf4, + 0x15, 0xe7, 0xde, 0xa7, 0xc5, 0x38, 0xa3, 0xf9, 0x2e, 0x0c, 0x9c, 0xf1, 0x14, 0x9b, 0x65, 0x61, + 0xb0, 0xdd, 0xb9, 0x1a, 0x7a, 0x4c, 0x4b, 0x98, 0xb3, 0x4c, 0xb4, 0x63, 0x85, 0x61, 0xff, 0x65, + 0x51, 0x2d, 0x65, 0x1d, 0xab, 0xef, 0x18, 0x31, 0xc3, 0xd6, 0x9d, 0xc7, 0x0c, 0xeb, 0x88, 0xa6, + 0xee, 0xf4, 0xf5, 0x44, 0xb6, 0x6b, 0xe1, 0x2e, 0x65, 0xbb, 0xfe, 0x8c, 0x95, 0x28, 0x1d, 0x37, + 0xfc, 0xf4, 0x8b, 0xf9, 0xe6, 0x09, 0x4c, 0xf1, 0x68, 0xab, 0x94, 0x5e, 0x49, 0x05, 0xd9, 0x3d, + 0x01, 0xe5, 0x75, 0xcf, 0x61, 0x05, 0x4f, 0xd8, 0x42, 0x35, 0x22, 0xc1, 0xce, 0x8b, 0x76, 0xac, + 0x30, 0xa8, 0xd4, 0x37, 0x88, 0xee, 0x4b, 0x6a, 0xff, 0xc7, 0x22, 0x0c, 0x1b, 0x1a, 0x3f, 0xd3, + 0x7c, 0xb3, 0xee, 0x31, 0xf3, 0xad, 0xb0, 0x0f, 0xf3, 0xed, 0xa7, 0xa1, 0x52, 0x93, 0xda, 0x28, + 0x9f, 0x52, 0xf8, 0x69, 0x1d, 0xa7, 0x15, 0x92, 0x6a, 0xc2, 0x9a, 0x27, 0xba, 0x90, 0xc8, 0xa8, + 0x4c, 0xf8, 0x05, 0xb2, 0x52, 0x1e, 0x85, 0x46, 0xeb, 0x7e, 0x26, 0x7d, 0x8e, 0x5f, 0xda, 0xfb, + 0x1c, 0xdf, 0xfe, 0xae, 0xa5, 0x3e, 0xee, 0x11, 0x94, 0xce, 0xb9, 0x91, 0x2c, 0x9d, 0x73, 0x2e, + 0x97, 0x61, 0xee, 0x51, 0x33, 0xe7, 0x0a, 0x0c, 0xcd, 0x05, 0xcd, 0xa6, 0xe3, 0xd7, 0xd1, 0x8f, + 0xc2, 0x50, 0x8d, 0xff, 0x14, 0x3e, 0x34, 0x76, 0x52, 0x2d, 0xa0, 0x58, 0xc2, 0xd0, 0x43, 0x30, + 0xe0, 0x84, 0x0d, 0xe9, 0x37, 0x63, 0xc1, 0x6a, 0x33, 0x61, 0x23, 0xc2, 0xac, 0xd5, 0xfe, 0x67, + 0x03, 0xc0, 0x62, 0x44, 0x9c, 0x90, 0xd4, 0x57, 0x03, 0x56, 0xc1, 0xf6, 0x50, 0xcf, 0x77, 0xf5, + 0xa6, 0xee, 0x5e, 0x3e, 0xe3, 0x35, 0xce, 0xf9, 0x8a, 0x47, 0x7d, 0xce, 0x97, 0x7d, 0x74, 0x3b, + 0x70, 0x0f, 0x1d, 0xdd, 0xda, 0x9f, 0xb1, 0x00, 0xa9, 0x88, 0x1f, 0x1d, 0x5b, 0x31, 0x0d, 0x15, + 0x15, 0x62, 0x24, 0x0c, 0x40, 0x2d, 0x22, 0x24, 0x00, 0x6b, 0x9c, 0x3e, 0x76, 0xf2, 0x8f, 0x4a, + 0xf9, 0x5d, 0x4c, 0xe6, 0x09, 0x30, 0xa9, 0x2f, 0xc4, 0xb9, 0xfd, 0xbb, 0x05, 0xb8, 0x8f, 0x9b, + 0x0e, 0x4b, 0x8e, 0xef, 0x34, 0x48, 0x93, 0xf6, 0xaa, 0xdf, 0x68, 0x99, 0x1a, 0xdd, 0x42, 0xba, + 0x32, 0xaa, 0xff, 0xa0, 0x6b, 0x97, 0xaf, 0x39, 0xbe, 0xca, 0x16, 0x7c, 0x37, 0xc6, 0x8c, 0x38, + 0x8a, 0xa0, 0x2c, 0xef, 0x89, 0x11, 0xb2, 0x38, 0x27, 0x46, 0x4a, 0x2c, 0x09, 0x2d, 0x4b, 0xb0, + 0x62, 0x44, 0x55, 0xa9, 0x17, 0xd4, 0x36, 0x31, 0x69, 0x05, 0x69, 0x55, 0xba, 0x28, 0xda, 0xb1, + 0xc2, 0xb0, 0x9b, 0x30, 0x2e, 0xc7, 0xb0, 0x75, 0x99, 0x74, 0x30, 0x59, 0xa7, 0xfa, 0xa7, 0x26, + 0x9b, 0x8c, 0xab, 0x6b, 0x94, 0xfe, 0x99, 0x33, 0x81, 0x38, 0x89, 0x2b, 0x8b, 0xda, 0x16, 0xb2, + 0x8b, 0xda, 0xda, 0xbf, 0x6b, 0x41, 0x5a, 0x01, 0x1a, 0x25, 0x3c, 0xad, 0x5d, 0x4b, 0x78, 0xee, + 0xa3, 0x08, 0xe6, 0xfb, 0x61, 0xd8, 0x89, 0xa9, 0x85, 0xc3, 0xbd, 0x11, 0xc5, 0x3b, 0x3b, 0x45, + 0x5b, 0x0a, 0xea, 0xee, 0xba, 0xcb, 0xbc, 0x10, 0x26, 0x39, 0xfb, 0x75, 0x0b, 0x2a, 0xf3, 0x61, + 0x67, 0xff, 0xe9, 0x55, 0xdd, 0xc9, 0x53, 0x85, 0x7d, 0x25, 0x4f, 0xc9, 0xf4, 0xac, 0x62, 0xaf, + 0xf4, 0x2c, 0xfb, 0xaf, 0x07, 0xe0, 0x78, 0x57, 0xbe, 0x20, 0x3a, 0x0b, 0x23, 0xea, 0x2b, 0x49, + 0x17, 0x64, 0xc5, 0x0c, 0xb8, 0xd5, 0x30, 0x9c, 0xc0, 0xec, 0x63, 0xa9, 0x2e, 0xc0, 0x89, 0x90, + 0xbc, 0xd2, 0x26, 0x6d, 0x32, 0xb3, 0x1e, 0x93, 0xb0, 0x4a, 0x6a, 0x81, 0x5f, 0xe7, 0x35, 0x70, + 0x8b, 0xb3, 0xf7, 0xdf, 0xda, 0x99, 0x3c, 0x81, 0xbb, 0xc1, 0x38, 0xeb, 0x19, 0xd4, 0x82, 0x51, + 0xcf, 0xb4, 0x9d, 0xc5, 0x96, 0xed, 0x8e, 0xcc, 0x6e, 0x35, 0x5b, 0x13, 0xcd, 0x38, 0xc9, 0x20, + 0x69, 0x80, 0x97, 0xee, 0x92, 0x01, 0xfe, 0x71, 0x6d, 0x80, 0xf3, 0xa0, 0x98, 0xf7, 0xe5, 0x9c, + 0x2f, 0xda, 0x8f, 0x05, 0x7e, 0x10, 0x9b, 0xfa, 0x05, 0x28, 0xcb, 0x80, 0xc1, 0xbe, 0x02, 0xed, + 0x4c, 0x3a, 0x3d, 0x64, 0xfb, 0x63, 0xf0, 0xe6, 0x73, 0x61, 0x68, 0x0c, 0xe6, 0x95, 0x20, 0x9e, + 0xf1, 0xbc, 0xe0, 0x26, 0x35, 0x57, 0xae, 0x46, 0x44, 0xf8, 0xc4, 0xec, 0xdb, 0x05, 0xc8, 0xd8, + 0x5e, 0xd2, 0x35, 0xa9, 0x6d, 0xa4, 0xc4, 0x9a, 0xdc, 0x9f, 0x9d, 0x84, 0xb6, 0x79, 0x50, 0x25, + 0xb7, 0x06, 0xde, 0x9b, 0xf7, 0xf6, 0x58, 0xc7, 0x59, 0x2a, 0x49, 0xa9, 0x62, 0x2d, 0x9f, 0x06, + 0xd0, 0xa6, 0xad, 0x48, 0x51, 0x52, 0x81, 0x12, 0xda, 0x02, 0xc6, 0x06, 0x16, 0x7a, 0x0e, 0x86, + 0x5d, 0x3f, 0x8a, 0x1d, 0xcf, 0xbb, 0xe8, 0xfa, 0xb1, 0x70, 0xfb, 0x2a, 0xb3, 0x67, 0x41, 0x83, + 0xb0, 0x89, 0x77, 0xfa, 0x6d, 0xc6, 0xf7, 0xdb, 0xcf, 0x77, 0xdf, 0x80, 0x07, 0x2e, 0xb8, 0xb1, + 0x4a, 0xac, 0x53, 0xf3, 0x8d, 0x5a, 0xae, 0x4a, 0x56, 0x59, 0x3d, 0x53, 0x49, 0x8d, 0xc4, 0xb6, + 0x42, 0x32, 0x0f, 0x2f, 0x9d, 0xd8, 0x66, 0x9f, 0x85, 0x93, 0x17, 0xdc, 0xf8, 0xbc, 0xeb, 0x91, + 0x7d, 0x32, 0xb1, 0xbf, 0x39, 0x08, 0x23, 0x66, 0x12, 0xf9, 0x7e, 0xc4, 0xf5, 0x6b, 0xd4, 0x38, + 0x15, 0x6f, 0xe7, 0xaa, 0x13, 0xdd, 0xeb, 0x07, 0xce, 0x68, 0xcf, 0x1e, 0x31, 0xc3, 0x3e, 0xd5, + 0x3c, 0xb1, 0xd9, 0x01, 0x74, 0x13, 0x4a, 0xeb, 0x2c, 0xf1, 0xaa, 0x98, 0x47, 0x2c, 0x4e, 0xd6, + 0x88, 0xea, 0xe5, 0xc8, 0x53, 0xb7, 0x38, 0x3f, 0x6a, 0x53, 0x84, 0xc9, 0x7c, 0x5f, 0x23, 0x1c, + 0x5e, 0x28, 0x2b, 0x85, 0xd1, 0x4b, 0x25, 0x94, 0xee, 0x40, 0x25, 0x24, 0x04, 0xf4, 0xe0, 0x5d, + 0x12, 0xd0, 0x2c, 0x89, 0x2e, 0xde, 0x60, 0x16, 0xaf, 0xc8, 0xdf, 0x19, 0x62, 0x83, 0x60, 0x24, + 0xd1, 0x25, 0xc0, 0x38, 0x8d, 0x8f, 0x3e, 0xa2, 0x44, 0x7c, 0x39, 0x0f, 0x8f, 0xb9, 0x39, 0xa3, + 0x0f, 0x5b, 0xba, 0x7f, 0xa6, 0x00, 0x63, 0x17, 0xfc, 0xf6, 0xca, 0x85, 0x95, 0xf6, 0x9a, 0xe7, + 0xd6, 0x2e, 0x93, 0x0e, 0x15, 0xe1, 0x9b, 0xa4, 0xb3, 0x30, 0x2f, 0x56, 0x90, 0x9a, 0x33, 0x97, + 0x69, 0x23, 0xe6, 0x30, 0x2a, 0x8c, 0xd6, 0x5d, 0xbf, 0x41, 0xc2, 0x56, 0xe8, 0x0a, 0x67, 0xb6, + 0x21, 0x8c, 0xce, 0x6b, 0x10, 0x36, 0xf1, 0x28, 0xed, 0xe0, 0xa6, 0x4f, 0xc2, 0xb4, 0xe9, 0xbf, + 0x4c, 0x1b, 0x31, 0x87, 0x51, 0xa4, 0x38, 0x6c, 0x0b, 0x5f, 0x91, 0x81, 0xb4, 0x4a, 0x1b, 0x31, + 0x87, 0xd1, 0x95, 0x1e, 0xb5, 0xd7, 0x58, 0xa8, 0x53, 0x2a, 0x59, 0xa8, 0xca, 0x9b, 0xb1, 0x84, + 0x53, 0xd4, 0x4d, 0xd2, 0x99, 0x77, 0x62, 0x27, 0x9d, 0x51, 0x79, 0x99, 0x37, 0x63, 0x09, 0x67, + 0x55, 0x7a, 0x93, 0xc3, 0xf1, 0x03, 0x57, 0xa5, 0x37, 0xd9, 0xfd, 0x1e, 0x1e, 0x87, 0xbf, 0x53, + 0x80, 0x11, 0x33, 0x40, 0x11, 0x35, 0x52, 0x66, 0xfa, 0x72, 0x57, 0x91, 0xf7, 0x77, 0x66, 0x5d, + 0x80, 0xda, 0x70, 0xe3, 0xa0, 0x15, 0x3d, 0x49, 0xfc, 0x86, 0xeb, 0x13, 0x16, 0xab, 0xc1, 0x03, + 0x1b, 0x13, 0xd1, 0x8f, 0x73, 0x41, 0x9d, 0xdc, 0x89, 0x9d, 0x7f, 0x37, 0x2e, 0x89, 0xb9, 0x0e, + 0xc7, 0xbb, 0x52, 0x77, 0xfb, 0x30, 0x7b, 0xf6, 0x2c, 0xad, 0x60, 0x63, 0x18, 0xa6, 0x84, 0x65, + 0x75, 0xba, 0x39, 0x38, 0xce, 0x17, 0x2f, 0xe5, 0xc4, 0x32, 0x31, 0x55, 0x3a, 0x36, 0x3b, 0xad, + 0xb9, 0x96, 0x06, 0xe2, 0x6e, 0x7c, 0xfb, 0xb3, 0x16, 0x8c, 0x26, 0xb2, 0xa9, 0x73, 0x32, 0xd0, + 0xd8, 0xea, 0x0e, 0x58, 0x8c, 0x2e, 0xcb, 0x99, 0x28, 0x32, 0x05, 0xae, 0x57, 0xb7, 0x06, 0x61, + 0x13, 0xcf, 0xfe, 0x42, 0x01, 0xca, 0x32, 0xa4, 0xa8, 0x8f, 0xae, 0x7c, 0xda, 0x82, 0x51, 0x75, + 0x42, 0xc6, 0x5c, 0x9a, 0x85, 0x3c, 0x92, 0xbb, 0x68, 0x0f, 0x94, 0x53, 0xc4, 0x5f, 0x0f, 0xf4, + 0x6e, 0x01, 0x9b, 0xcc, 0x70, 0x92, 0x37, 0xba, 0x06, 0x10, 0x75, 0xa2, 0x98, 0x34, 0x0d, 0xe7, + 0xaa, 0x6d, 0xcc, 0xb2, 0xa9, 0x5a, 0x10, 0x12, 0x3a, 0xa7, 0xae, 0x04, 0x75, 0x52, 0x55, 0x98, + 0xda, 0x6c, 0xd3, 0x6d, 0xd8, 0xa0, 0x64, 0xff, 0x5a, 0x01, 0x8e, 0xa5, 0xbb, 0x84, 0xde, 0x07, + 0x23, 0x92, 0xbb, 0xb1, 0x09, 0x97, 0x01, 0x51, 0x23, 0xd8, 0x80, 0xdd, 0xde, 0x99, 0x9c, 0xec, + 0xbe, 0xc0, 0x77, 0xca, 0x44, 0xc1, 0x09, 0x62, 0xfc, 0x98, 0x52, 0x9c, 0xa7, 0xcf, 0x76, 0x66, + 0x5a, 0x2d, 0x71, 0xd6, 0x68, 0x1c, 0x53, 0x9a, 0x50, 0x9c, 0xc2, 0x46, 0x2b, 0x70, 0xd2, 0x68, + 0xb9, 0x42, 0xdc, 0xc6, 0xc6, 0x5a, 0x10, 0xca, 0x5d, 0xdf, 0x43, 0x3a, 0xfc, 0xb2, 0x1b, 0x07, + 0x67, 0x3e, 0x49, 0x2d, 0x8c, 0x9a, 0xd3, 0x72, 0x6a, 0x6e, 0xdc, 0x11, 0xde, 0x62, 0x25, 0x0f, + 0xe7, 0x44, 0x3b, 0x56, 0x18, 0xf6, 0xaf, 0x0e, 0xc0, 0x31, 0x1e, 0x6f, 0x48, 0x54, 0x38, 0x2d, + 0x7a, 0x1f, 0x54, 0xa2, 0xd8, 0x09, 0xf9, 0x96, 0xdf, 0xda, 0xb7, 0x0c, 0xd0, 0xb9, 0xd4, 0x92, + 0x08, 0xd6, 0xf4, 0xd0, 0x8b, 0xac, 0x10, 0x95, 0x1b, 0x6d, 0x30, 0xea, 0x85, 0x3b, 0x73, 0x28, + 0x9c, 0x57, 0x14, 0xb0, 0x41, 0x0d, 0xbd, 0x03, 0x4a, 0xad, 0x0d, 0x27, 0x92, 0xde, 0xae, 0xc7, + 0xe4, 0x82, 0x5b, 0xa1, 0x8d, 0xb7, 0x77, 0x26, 0x4f, 0xa5, 0x5f, 0x95, 0x01, 0x30, 0x7f, 0xc8, + 0x14, 0x97, 0x03, 0x7b, 0x5f, 0x96, 0x52, 0x0f, 0x3b, 0xd5, 0x8b, 0x33, 0xe9, 0xeb, 0x35, 0xe6, + 0x59, 0x2b, 0x16, 0x50, 0xba, 0xb8, 0x37, 0x38, 0xcb, 0x3a, 0x45, 0x1e, 0x4c, 0xaa, 0xee, 0x8b, + 0x1a, 0x84, 0x4d, 0x3c, 0xf4, 0x99, 0xee, 0x68, 0xd4, 0xa1, 0x43, 0x48, 0x55, 0xe8, 0x37, 0x0e, + 0xf5, 0x1c, 0x54, 0x44, 0x57, 0x57, 0x03, 0x74, 0x16, 0x46, 0xb8, 0x33, 0x65, 0x36, 0x74, 0xfc, + 0xda, 0x46, 0xda, 0x05, 0xb2, 0x6a, 0xc0, 0x70, 0x02, 0xd3, 0x5e, 0x82, 0x81, 0x3e, 0xa5, 0x55, + 0x5f, 0x3b, 0xdb, 0x17, 0xa0, 0x4c, 0xc9, 0xc9, 0xed, 0x4b, 0x1e, 0x24, 0x03, 0x28, 0xcb, 0xab, + 0xf7, 0x90, 0x0d, 0x45, 0xd7, 0x91, 0x51, 0x07, 0x6a, 0x09, 0x2d, 0x44, 0x51, 0x9b, 0x4d, 0x3b, + 0x0a, 0x44, 0x8f, 0x42, 0x91, 0x6c, 0xb7, 0xd2, 0xe1, 0x05, 0xe7, 0xb6, 0x5b, 0x6e, 0x48, 0x22, + 0x8a, 0x44, 0xb6, 0x5b, 0xe8, 0x34, 0x14, 0xdc, 0xba, 0x98, 0x91, 0x20, 0x70, 0x0a, 0x0b, 0xf3, + 0xb8, 0xe0, 0xd6, 0xed, 0x6d, 0xa8, 0xa8, 0xbb, 0xfe, 0xd0, 0xa6, 0xb4, 0x4d, 0xac, 0x3c, 0xe2, + 0x4d, 0x25, 0xdd, 0x1e, 0x56, 0x49, 0x1b, 0x40, 0x27, 0xe9, 0xe7, 0xa5, 0xcb, 0xce, 0xc0, 0x40, + 0x2d, 0x10, 0xe5, 0x55, 0xca, 0x9a, 0x0c, 0x33, 0x4a, 0x18, 0xc4, 0xbe, 0x0e, 0x63, 0x97, 0xfd, + 0xe0, 0x26, 0xbb, 0x92, 0x87, 0x55, 0xa0, 0xa5, 0x84, 0xd7, 0xe9, 0x8f, 0xb4, 0x09, 0xcc, 0xa0, + 0x98, 0xc3, 0x54, 0x6d, 0xcc, 0x42, 0xaf, 0xda, 0x98, 0xf6, 0x47, 0x2d, 0x18, 0x51, 0xd9, 0xbe, + 0x17, 0xb6, 0x36, 0x29, 0xdd, 0x46, 0x18, 0xb4, 0x5b, 0x69, 0xba, 0xec, 0x5a, 0x51, 0xcc, 0x61, + 0x66, 0x1a, 0x7c, 0x61, 0x8f, 0x34, 0xf8, 0x33, 0x30, 0xb0, 0xe9, 0xfa, 0xf5, 0xb4, 0xcb, 0xf0, + 0xb2, 0xeb, 0xd7, 0x31, 0x83, 0xd0, 0x2e, 0x1c, 0x53, 0x5d, 0x90, 0xc6, 0xc7, 0x59, 0x18, 0x59, + 0x6b, 0xbb, 0x5e, 0x5d, 0x96, 0xd6, 0x4d, 0x2d, 0x97, 0x59, 0x03, 0x86, 0x13, 0x98, 0xe8, 0x69, + 0x80, 0x35, 0xd7, 0x77, 0xc2, 0xce, 0x8a, 0xb6, 0x76, 0x94, 0x02, 0x9c, 0x55, 0x10, 0x6c, 0x60, + 0xd9, 0x9f, 0x2b, 0xc2, 0x58, 0x32, 0xe7, 0xb9, 0x0f, 0xf7, 0xc1, 0xa3, 0x50, 0x62, 0x69, 0xd0, + 0xe9, 0x4f, 0xcb, 0xab, 0xd1, 0x72, 0x18, 0x8a, 0x60, 0x90, 0x2f, 0xe6, 0x7c, 0xae, 0x66, 0x54, + 0x9d, 0x54, 0x7e, 0x46, 0x16, 0x95, 0x2b, 0xdc, 0xb6, 0x82, 0x15, 0xfa, 0x84, 0x05, 0x43, 0x41, + 0xcb, 0xac, 0xa9, 0xf8, 0xde, 0x3c, 0xf3, 0xc1, 0x45, 0x26, 0xa7, 0xd8, 0xf1, 0xa9, 0x4f, 0x2f, + 0x3f, 0x87, 0x64, 0x7d, 0xfa, 0xed, 0x30, 0x62, 0x62, 0xee, 0xb5, 0xe9, 0x2b, 0x9b, 0x9b, 0xbe, + 0x4f, 0x9b, 0x93, 0x42, 0x64, 0xbc, 0xf7, 0xb1, 0xdc, 0xae, 0x42, 0xa9, 0xa6, 0x42, 0x97, 0xee, + 0xa8, 0x20, 0xbb, 0xaa, 0x08, 0xc5, 0x8e, 0x85, 0x39, 0x35, 0xfb, 0xbb, 0x96, 0x31, 0x3f, 0x30, + 0x89, 0x16, 0xea, 0x28, 0x84, 0x62, 0x63, 0x6b, 0x53, 0xa8, 0xf9, 0x4b, 0x39, 0x0d, 0xef, 0x85, + 0xad, 0x4d, 0x3d, 0xc7, 0xcd, 0x56, 0x4c, 0x99, 0xf5, 0xe1, 0x0c, 0x4f, 0x14, 0x46, 0x28, 0xee, + 0x5d, 0x18, 0xc1, 0x7e, 0xbd, 0x00, 0xc7, 0xbb, 0x26, 0x15, 0x7a, 0x15, 0x4a, 0x21, 0x7d, 0x4b, + 0xf1, 0x7a, 0x8b, 0xb9, 0x95, 0x32, 0x88, 0x16, 0xea, 0x5a, 0x7d, 0x26, 0xdb, 0x31, 0x67, 0x89, + 0x2e, 0x01, 0xd2, 0x01, 0x76, 0xca, 0x13, 0xcf, 0x5f, 0x59, 0x45, 0xe1, 0xcc, 0x74, 0x61, 0xe0, + 0x8c, 0xa7, 0xd0, 0xf3, 0x69, 0x87, 0x7e, 0x31, 0x79, 0x92, 0xb4, 0x9b, 0x6f, 0xde, 0xfe, 0xed, + 0x02, 0x8c, 0x26, 0x4a, 0x5c, 0x22, 0x0f, 0xca, 0xc4, 0x63, 0xc7, 0x7c, 0x52, 0xd9, 0x1c, 0xf4, + 0xc2, 0x0a, 0xa5, 0x20, 0xcf, 0x09, 0xba, 0x58, 0x71, 0xb8, 0x37, 0x82, 0x73, 0xce, 0xc2, 0x88, + 0xec, 0xd0, 0x7b, 0x9d, 0xa6, 0x27, 0x06, 0x50, 0xcd, 0xd1, 0x73, 0x06, 0x0c, 0x27, 0x30, 0xed, + 0xdf, 0x2b, 0xc2, 0x04, 0x3f, 0x17, 0xad, 0xab, 0x99, 0xb7, 0x24, 0xfd, 0x09, 0xbf, 0xa0, 0x0b, + 0xd1, 0x5a, 0x79, 0xdc, 0xca, 0xdc, 0x8b, 0x51, 0x5f, 0x31, 0xa5, 0x5f, 0x4e, 0xc5, 0x94, 0xf2, + 0x2d, 0x5e, 0xe3, 0x90, 0x7a, 0xf4, 0x83, 0x15, 0x64, 0xfa, 0x8f, 0x0a, 0x30, 0x9e, 0xba, 0x7c, + 0x0b, 0x7d, 0x2e, 0x79, 0x5f, 0x83, 0x95, 0xc7, 0x99, 0xd1, 0xae, 0xf7, 0x31, 0xed, 0xef, 0xd6, + 0x86, 0xbb, 0xb4, 0x54, 0xec, 0xef, 0x14, 0x60, 0x2c, 0x79, 0x6b, 0xd8, 0x3d, 0x38, 0x52, 0x6f, + 0x85, 0x0a, 0xbb, 0x18, 0x87, 0x5d, 0x76, 0xcf, 0x8f, 0x9c, 0xf8, 0x1d, 0x24, 0xb2, 0x11, 0x6b, + 0xf8, 0x3d, 0x71, 0x19, 0x86, 0xfd, 0x4f, 0x2c, 0x38, 0xc5, 0xdf, 0x32, 0x3d, 0x0f, 0xff, 0x56, + 0xd6, 0xe8, 0xbe, 0x94, 0x6f, 0x07, 0x53, 0x05, 0x94, 0xf7, 0x1a, 0x5f, 0x76, 0x37, 0xb5, 0xe8, + 0x6d, 0x72, 0x2a, 0xdc, 0x83, 0x9d, 0xdd, 0xd7, 0x64, 0xb0, 0xbf, 0x53, 0x04, 0x7d, 0x1d, 0x37, + 0x72, 0x45, 0xd6, 0x7b, 0x2e, 0x85, 0xa4, 0xab, 0x1d, 0xbf, 0xa6, 0x2f, 0xfe, 0x2e, 0xa7, 0x92, + 0xde, 0x7f, 0xce, 0x82, 0x61, 0xd7, 0x77, 0x63, 0xd7, 0x61, 0x2e, 0x9b, 0x7c, 0xee, 0xd4, 0x55, + 0xec, 0x16, 0x38, 0xe5, 0x20, 0x34, 0xcf, 0x29, 0x15, 0x33, 0x6c, 0x72, 0x46, 0x1f, 0x14, 0x69, + 0x1f, 0xc5, 0xdc, 0x4a, 0x47, 0x94, 0x53, 0xb9, 0x1e, 0x2d, 0x6a, 0x78, 0xc5, 0x61, 0x4e, 0x15, + 0x57, 0x30, 0x25, 0xa5, 0xee, 0x24, 0x50, 0xa6, 0x2d, 0x6b, 0xc6, 0x9c, 0x91, 0x1d, 0x01, 0xea, + 0x1e, 0x8b, 0x7d, 0x86, 0xd4, 0x4f, 0x43, 0xc5, 0x69, 0xc7, 0x41, 0x93, 0x0e, 0x93, 0x38, 0x4a, + 0xd5, 0x49, 0x03, 0x12, 0x80, 0x35, 0x8e, 0xfd, 0xb9, 0x12, 0xa4, 0xd2, 0xd0, 0xd1, 0xb6, 0x79, + 0x95, 0xbc, 0x95, 0xef, 0x55, 0xf2, 0xaa, 0x33, 0x59, 0xd7, 0xc9, 0xa3, 0x86, 0xf4, 0x7e, 0x71, + 0x1b, 0xf3, 0x85, 0xb4, 0xf7, 0xeb, 0x27, 0xfb, 0x3b, 0x55, 0xa0, 0x73, 0x75, 0x9a, 0x17, 0x08, + 0x9b, 0xda, 0xd3, 0x51, 0xb6, 0xd7, 0xad, 0xc2, 0x1f, 0x13, 0x37, 0x00, 0x61, 0x12, 0xb5, 0xbd, + 0x58, 0xcc, 0x86, 0x17, 0x72, 0x5c, 0x65, 0x9c, 0xb0, 0xae, 0xe5, 0xc2, 0xff, 0x63, 0x83, 0x69, + 0xd2, 0x9d, 0x39, 0x78, 0xa8, 0xee, 0xcc, 0xa1, 0x5c, 0xdd, 0x99, 0x4f, 0x03, 0xb0, 0xb9, 0xcd, + 0x43, 0x7f, 0xcb, 0xcc, 0xcb, 0xa4, 0x44, 0x21, 0x56, 0x10, 0x6c, 0x60, 0xd9, 0x3f, 0x0e, 0xc9, + 0x62, 0x44, 0x68, 0x52, 0xd6, 0x3e, 0xe2, 0x27, 0x1e, 0x2c, 0xeb, 0x2a, 0x51, 0xa6, 0xe8, 0x37, + 0x2d, 0x30, 0x2b, 0x26, 0xa1, 0x57, 0x78, 0x69, 0x26, 0x2b, 0x8f, 0x93, 0x71, 0x83, 0xee, 0xd4, + 0x92, 0xd3, 0x4a, 0x85, 0x68, 0xc8, 0xfa, 0x4c, 0xa7, 0xdf, 0x06, 0x65, 0x09, 0xdd, 0x97, 0x51, + 0xf7, 0x11, 0x38, 0x21, 0x33, 0xb8, 0xa5, 0x8f, 0x5e, 0x9c, 0xaa, 0xee, 0xed, 0xfa, 0x91, 0xfe, + 0x9c, 0x42, 0x2f, 0x7f, 0x8e, 0xda, 0xa5, 0x16, 0x7b, 0xd6, 0x47, 0xfe, 0x2d, 0x0b, 0xce, 0xa4, + 0x3b, 0x10, 0x2d, 0x05, 0xbe, 0x1b, 0x07, 0x61, 0x95, 0xc4, 0xb1, 0xeb, 0x37, 0x58, 0xb1, 0xcb, + 0x9b, 0x4e, 0x28, 0x2f, 0x3c, 0x61, 0x82, 0xf2, 0xba, 0x13, 0xfa, 0x98, 0xb5, 0xa2, 0x0e, 0x0c, + 0xf2, 0xf8, 0x50, 0x61, 0xad, 0x1f, 0x70, 0x6d, 0x64, 0x0c, 0x87, 0xde, 0x2e, 0xf0, 0xd8, 0x54, + 0x2c, 0x18, 0xda, 0xdf, 0xb3, 0x00, 0x2d, 0x6f, 0x91, 0x30, 0x74, 0xeb, 0x46, 0x44, 0x2b, 0xbb, + 0x49, 0xcf, 0xb8, 0x31, 0xcf, 0xac, 0x2f, 0x90, 0xba, 0x49, 0xcf, 0xf8, 0x97, 0x7d, 0x93, 0x5e, + 0x61, 0x7f, 0x37, 0xe9, 0xa1, 0x65, 0x38, 0xd5, 0xe4, 0xdb, 0x0d, 0x7e, 0x3b, 0x15, 0xdf, 0x7b, + 0xa8, 0x54, 0xd8, 0x07, 0x6e, 0xed, 0x4c, 0x9e, 0x5a, 0xca, 0x42, 0xc0, 0xd9, 0xcf, 0xd9, 0x6f, + 0x03, 0xc4, 0x03, 0x59, 0xe7, 0xb2, 0x62, 0xf1, 0x7a, 0xba, 0x5f, 0xec, 0x2f, 0x95, 0x60, 0x3c, + 0x55, 0x0e, 0x9f, 0x6e, 0xf5, 0xba, 0x83, 0xff, 0x0e, 0xac, 0xbf, 0xbb, 0xbb, 0xd7, 0x57, 0x38, + 0xa1, 0x0f, 0x25, 0xd7, 0x6f, 0xb5, 0xe3, 0x7c, 0x32, 0xf1, 0x79, 0x27, 0x16, 0x28, 0x41, 0xc3, + 0x5d, 0x4c, 0xff, 0x62, 0xce, 0x26, 0xcf, 0xe0, 0xc4, 0x84, 0x31, 0x3e, 0x70, 0x97, 0xdc, 0x01, + 0x1f, 0xd3, 0xa1, 0x82, 0xa5, 0x3c, 0x1c, 0x8b, 0xa9, 0xc9, 0x72, 0xd8, 0xa1, 0x24, 0xdf, 0x28, + 0xc0, 0xb0, 0xf1, 0xd1, 0xd0, 0xaf, 0x24, 0xeb, 0x09, 0x5a, 0xf9, 0xbd, 0x12, 0xa3, 0x3f, 0xa5, + 0x2b, 0x06, 0xf2, 0x57, 0x7a, 0xac, 0xbb, 0x94, 0xe0, 0xed, 0x9d, 0xc9, 0x63, 0xa9, 0x62, 0x81, + 0x89, 0xf2, 0x82, 0xa7, 0x3f, 0x0c, 0xe3, 0x29, 0x32, 0x19, 0xaf, 0xbc, 0x6a, 0xbe, 0xf2, 0x81, + 0xdd, 0x52, 0xe6, 0x90, 0x7d, 0x9d, 0x0e, 0x99, 0x48, 0x00, 0x0e, 0x3c, 0xd2, 0x87, 0x0f, 0x36, + 0x95, 0xe7, 0x5f, 0xe8, 0x33, 0xcf, 0xff, 0x71, 0x28, 0xb7, 0x02, 0xcf, 0xad, 0xb9, 0xaa, 0x72, + 0x30, 0xab, 0x2c, 0xb0, 0x22, 0xda, 0xb0, 0x82, 0xa2, 0x9b, 0x50, 0xb9, 0x71, 0x33, 0xe6, 0xa7, + 0x3f, 0xc2, 0xbf, 0x9d, 0xd7, 0xa1, 0x8f, 0x32, 0x5a, 0xd4, 0xf1, 0x12, 0xd6, 0xbc, 0x90, 0x0d, + 0x83, 0x4c, 0x09, 0xca, 0x64, 0x20, 0xe6, 0x7b, 0x67, 0xda, 0x31, 0xc2, 0x02, 0x62, 0x7f, 0xb5, + 0x02, 0x27, 0xb3, 0xee, 0x24, 0x41, 0x1f, 0x82, 0x41, 0xde, 0xc7, 0x7c, 0xae, 0xbd, 0xca, 0xe2, + 0x71, 0x81, 0x11, 0x14, 0xdd, 0x62, 0xbf, 0xb1, 0xe0, 0x29, 0xb8, 0x7b, 0xce, 0x9a, 0x98, 0x21, + 0x87, 0xc3, 0x7d, 0xd1, 0xd1, 0xdc, 0x17, 0x1d, 0xce, 0xdd, 0x73, 0xd6, 0xd0, 0x36, 0x94, 0x1a, + 0x6e, 0x4c, 0x1c, 0xe1, 0x44, 0xb8, 0x7e, 0x28, 0xcc, 0x89, 0xc3, 0xad, 0x34, 0xf6, 0x13, 0x73, + 0x86, 0xe8, 0x2b, 0x16, 0x8c, 0xaf, 0x25, 0x0b, 0x8c, 0x08, 0xe1, 0xe9, 0x1c, 0xc2, 0xbd, 0x33, + 0x49, 0x46, 0xfc, 0x2a, 0xc9, 0x54, 0x23, 0x4e, 0x77, 0x07, 0x7d, 0xdc, 0x82, 0xa1, 0x75, 0xd7, + 0x33, 0x0a, 0xfb, 0x1f, 0xc2, 0xc7, 0x39, 0xcf, 0x18, 0xe8, 0x1d, 0x07, 0xff, 0x1f, 0x61, 0xc9, + 0xb9, 0x97, 0xa6, 0x1a, 0x3c, 0xa8, 0xa6, 0x1a, 0xba, 0x4b, 0x9a, 0xea, 0x53, 0x16, 0x54, 0xd4, + 0x48, 0x8b, 0x42, 0x0d, 0xef, 0x3b, 0xc4, 0x4f, 0xce, 0x3d, 0x27, 0xea, 0x2f, 0xd6, 0xcc, 0xd1, + 0xe7, 0x2d, 0x18, 0x76, 0x5e, 0x6d, 0x87, 0xa4, 0x4e, 0xb6, 0x82, 0x56, 0x24, 0xca, 0x27, 0xbe, + 0x94, 0x7f, 0x67, 0x66, 0x28, 0x93, 0x79, 0xb2, 0xb5, 0xdc, 0x8a, 0x44, 0xa2, 0xa2, 0x6e, 0xc0, + 0x66, 0x17, 0xec, 0x9d, 0x02, 0x4c, 0xee, 0x41, 0x01, 0x9d, 0x85, 0x91, 0x20, 0x6c, 0x38, 0xbe, + 0xfb, 0xaa, 0x59, 0x31, 0x48, 0x59, 0x59, 0xcb, 0x06, 0x0c, 0x27, 0x30, 0xcd, 0x52, 0x12, 0x85, + 0x3d, 0x4a, 0x49, 0x9c, 0x81, 0x81, 0x90, 0xb4, 0x82, 0xf4, 0x66, 0x81, 0x25, 0x09, 0x31, 0x08, + 0x7a, 0x18, 0x8a, 0x4e, 0xcb, 0x15, 0xa1, 0x25, 0x6a, 0x0f, 0x34, 0xb3, 0xb2, 0x80, 0x69, 0x7b, + 0xa2, 0xb2, 0x4d, 0xe9, 0x48, 0x2a, 0xdb, 0x50, 0x35, 0x20, 0xce, 0x2e, 0x06, 0xb5, 0x1a, 0x48, + 0x9e, 0x29, 0xd8, 0xaf, 0x17, 0xe1, 0xe1, 0x5d, 0xe7, 0x8b, 0x8e, 0x33, 0xb5, 0x76, 0x89, 0x33, + 0x95, 0xc3, 0x53, 0xd8, 0x6b, 0x78, 0x8a, 0x3d, 0x86, 0xe7, 0xe3, 0x74, 0x19, 0xc8, 0x4a, 0x4b, + 0xf9, 0xdc, 0x24, 0xdc, 0xab, 0x70, 0x93, 0x58, 0x01, 0x12, 0x8a, 0x35, 0x5f, 0xba, 0x07, 0x48, + 0x94, 0x51, 0x28, 0xe5, 0xa1, 0x06, 0x7a, 0x56, 0x3b, 0xe2, 0x73, 0xbf, 0x57, 0x6d, 0x06, 0xfb, + 0x77, 0x06, 0xe0, 0xd1, 0x3e, 0xa4, 0xb7, 0x39, 0x8b, 0xad, 0x3e, 0x67, 0xf1, 0x0f, 0xf8, 0x67, + 0xfa, 0x64, 0xe6, 0x67, 0xc2, 0xf9, 0x7f, 0xa6, 0xdd, 0xbf, 0x10, 0x7a, 0x02, 0xca, 0xae, 0x1f, + 0x91, 0x5a, 0x3b, 0xe4, 0x31, 0xf7, 0x46, 0x06, 0xe1, 0x82, 0x68, 0xc7, 0x0a, 0x83, 0xee, 0xe9, + 0x6a, 0x0e, 0x5d, 0xfe, 0x43, 0x39, 0xa5, 0xcd, 0x9b, 0xc9, 0x88, 0xdc, 0xa4, 0x98, 0x9b, 0xa1, + 0x12, 0x80, 0xb3, 0xb1, 0xff, 0xb6, 0x05, 0xa7, 0x7b, 0xab, 0x58, 0xf4, 0x14, 0x0c, 0xaf, 0xb1, + 0xc0, 0x2d, 0x76, 0x87, 0xbc, 0x9c, 0x3a, 0xec, 0x7d, 0x75, 0x33, 0x36, 0x71, 0xd0, 0x1c, 0x1c, + 0x37, 0x23, 0xbe, 0x96, 0x8c, 0xa8, 0x12, 0xe6, 0x04, 0x58, 0x4d, 0x03, 0x71, 0x37, 0xbe, 0xfd, + 0xfd, 0x62, 0x76, 0xb7, 0xb8, 0x29, 0xb6, 0x9f, 0xd9, 0x2c, 0xe6, 0x6a, 0xa1, 0x0f, 0x89, 0x5b, + 0x3c, 0x6a, 0x89, 0x3b, 0xd0, 0x4b, 0xe2, 0xa2, 0x79, 0x38, 0x66, 0x5c, 0xf2, 0xc7, 0x0b, 0x29, + 0xf0, 0x28, 0x43, 0x55, 0x05, 0x69, 0x25, 0x05, 0xc7, 0x5d, 0x4f, 0xdc, 0xe3, 0x53, 0xef, 0x57, + 0x0b, 0xf0, 0x40, 0x4f, 0xeb, 0xf7, 0x88, 0x34, 0x8a, 0xf9, 0xf9, 0x07, 0x8e, 0xe6, 0xf3, 0x9b, + 0x1f, 0xa5, 0xb4, 0xd7, 0x47, 0xb1, 0xff, 0xb8, 0xd0, 0x73, 0x21, 0xd0, 0x9d, 0xd0, 0x0f, 0xed, + 0x28, 0x3d, 0x0f, 0xa3, 0x4e, 0xab, 0xc5, 0xf1, 0x58, 0xc4, 0x76, 0xaa, 0xea, 0xda, 0x8c, 0x09, + 0xc4, 0x49, 0xdc, 0xbe, 0x6c, 0x9a, 0x3f, 0xb3, 0xa0, 0x82, 0xc9, 0x3a, 0x97, 0x46, 0xe8, 0x86, + 0x18, 0x22, 0x2b, 0x8f, 0xba, 0xd7, 0x74, 0x60, 0x23, 0x97, 0xd5, 0x83, 0xce, 0x1a, 0xec, 0x83, + 0xe6, 0x2d, 0xab, 0x6b, 0xff, 0x8a, 0xbd, 0xaf, 0xfd, 0xb3, 0x7f, 0xa3, 0x4c, 0x5f, 0xaf, 0x15, + 0xcc, 0x85, 0xa4, 0x1e, 0xd1, 0xef, 0xdb, 0x0e, 0x3d, 0x31, 0x49, 0xd4, 0xf7, 0xbd, 0x8a, 0x17, + 0x31, 0x6d, 0x4f, 0x1c, 0x90, 0x15, 0xf6, 0x55, 0x73, 0xaa, 0xb8, 0x67, 0xcd, 0xa9, 0xe7, 0x61, + 0x34, 0x8a, 0x36, 0x56, 0x42, 0x77, 0xcb, 0x89, 0xc9, 0x65, 0xd2, 0x11, 0xb6, 0xaf, 0xae, 0xbf, + 0x52, 0xbd, 0xa8, 0x81, 0x38, 0x89, 0x8b, 0x2e, 0xc0, 0x71, 0x5d, 0xf9, 0x89, 0x84, 0x31, 0xcb, + 0x29, 0xe2, 0x33, 0x41, 0x15, 0x5b, 0xd0, 0xb5, 0xa2, 0x04, 0x02, 0xee, 0x7e, 0x86, 0xca, 0xd3, + 0x44, 0x23, 0xed, 0xc8, 0x60, 0x52, 0x9e, 0x26, 0xe8, 0xd0, 0xbe, 0x74, 0x3d, 0x81, 0x96, 0xe0, + 0x04, 0x9f, 0x18, 0x33, 0xad, 0x96, 0xf1, 0x46, 0x43, 0xc9, 0x7a, 0xc3, 0x17, 0xba, 0x51, 0x70, + 0xd6, 0x73, 0xe8, 0x39, 0x18, 0x56, 0xcd, 0x0b, 0xf3, 0xe2, 0x6c, 0x47, 0xf9, 0x96, 0x14, 0x99, + 0x85, 0x3a, 0x36, 0xf1, 0xd0, 0x7b, 0xe1, 0x7e, 0xfd, 0x97, 0x27, 0x9e, 0xf2, 0x03, 0xcf, 0x79, + 0x51, 0x54, 0x4f, 0x5d, 0x3b, 0x73, 0x21, 0x13, 0xad, 0x8e, 0x7b, 0x3d, 0x8f, 0xd6, 0xe0, 0xb4, + 0x02, 0x9d, 0xf3, 0x63, 0x96, 0x45, 0x16, 0x91, 0x59, 0x27, 0x22, 0x57, 0x43, 0x8f, 0x95, 0xe1, + 0xab, 0xe8, 0x7b, 0xc8, 0x2f, 0xb8, 0xf1, 0xc5, 0x2c, 0x4c, 0xbc, 0x88, 0x77, 0xa1, 0x82, 0xa6, + 0xa1, 0x42, 0x7c, 0x67, 0xcd, 0x23, 0xcb, 0x73, 0x0b, 0xac, 0x38, 0x9f, 0x71, 0xbe, 0x7a, 0x4e, + 0x02, 0xb0, 0xc6, 0x51, 0x71, 0xbf, 0x23, 0x3d, 0xef, 0xc4, 0x5f, 0x81, 0x93, 0x8d, 0x5a, 0x8b, + 0x5a, 0x84, 0x6e, 0x8d, 0xcc, 0xd4, 0x58, 0x98, 0x23, 0xfd, 0x30, 0xbc, 0x10, 0xb4, 0x4a, 0xa0, + 0xb8, 0x30, 0xb7, 0xd2, 0x85, 0x83, 0x33, 0x9f, 0x64, 0xe1, 0xb0, 0x61, 0xb0, 0xdd, 0x99, 0x38, + 0x91, 0x0a, 0x87, 0xa5, 0x8d, 0x98, 0xc3, 0xd0, 0x25, 0x40, 0x2c, 0x1b, 0xe7, 0x62, 0x1c, 0xb7, + 0x94, 0x09, 0x3a, 0x71, 0x32, 0x59, 0x62, 0xeb, 0x7c, 0x17, 0x06, 0xce, 0x78, 0x8a, 0x5a, 0x34, + 0x7e, 0xc0, 0xa8, 0x4f, 0xdc, 0x9f, 0xb4, 0x68, 0xae, 0xf0, 0x66, 0x2c, 0xe1, 0xe8, 0xfd, 0x30, + 0xd1, 0x8e, 0x08, 0xdb, 0xdc, 0x5e, 0x0f, 0xc2, 0x4d, 0x2f, 0x70, 0xea, 0x0b, 0xec, 0x7e, 0xc1, + 0xb8, 0x33, 0x31, 0xc1, 0x98, 0x9f, 0x11, 0xcf, 0x4e, 0x5c, 0xed, 0x81, 0x87, 0x7b, 0x52, 0xb0, + 0xff, 0xd4, 0x82, 0x51, 0x25, 0x38, 0x8e, 0x20, 0x19, 0xcf, 0x4b, 0x26, 0xe3, 0x5d, 0x38, 0xb8, + 0xe8, 0x65, 0x3d, 0xef, 0x11, 0xf1, 0xfe, 0xda, 0x08, 0x80, 0x16, 0xcf, 0x4a, 0x33, 0x5a, 0x3d, + 0x35, 0xe3, 0x3d, 0x2b, 0x1a, 0xb3, 0x4a, 0x6d, 0x95, 0xee, 0x6e, 0xa9, 0xad, 0x2a, 0x9c, 0x92, + 0x76, 0x0b, 0x3f, 0x4a, 0xbc, 0x18, 0x44, 0x4a, 0xd2, 0x96, 0x67, 0x1f, 0x16, 0x84, 0x4e, 0x2d, + 0x64, 0x21, 0xe1, 0xec, 0x67, 0x13, 0xe6, 0xd2, 0xd0, 0x9e, 0x36, 0xac, 0x12, 0x2e, 0x8b, 0xeb, + 0xf2, 0x5a, 0xb6, 0x94, 0x70, 0x59, 0x3c, 0x5f, 0xc5, 0x1a, 0x27, 0x5b, 0xc3, 0x54, 0x72, 0xd2, + 0x30, 0xb0, 0x6f, 0x0d, 0x23, 0x65, 0xdd, 0x70, 0x4f, 0x59, 0x27, 0x8f, 0x2c, 0x46, 0x7a, 0x1e, + 0x59, 0xbc, 0x0b, 0xc6, 0x5c, 0x7f, 0x83, 0x84, 0x6e, 0x4c, 0xea, 0x6c, 0x2d, 0x30, 0x39, 0x58, + 0xd6, 0xf6, 0xc5, 0x42, 0x02, 0x8a, 0x53, 0xd8, 0x49, 0x01, 0x3d, 0xd6, 0x87, 0x80, 0xee, 0xa1, + 0x16, 0xc7, 0xf3, 0x51, 0x8b, 0xc7, 0x0e, 0xae, 0x16, 0x8f, 0x1f, 0xaa, 0x5a, 0x44, 0xb9, 0xa8, + 0xc5, 0xbe, 0x34, 0x8e, 0xb1, 0xef, 0x3d, 0xb9, 0xc7, 0xbe, 0xb7, 0x97, 0x4e, 0x3c, 0x75, 0xc7, + 0x3a, 0x31, 0x5b, 0xdd, 0xdd, 0xf7, 0x83, 0xad, 0xee, 0x3e, 0x55, 0x80, 0x53, 0x5a, 0x21, 0xd0, + 0x65, 0xe8, 0xae, 0x53, 0x91, 0xc8, 0xae, 0x18, 0xe5, 0xe7, 0x8b, 0x46, 0xc2, 0xa8, 0xce, 0x3d, + 0x55, 0x10, 0x6c, 0x60, 0xb1, 0xbc, 0x4b, 0x12, 0xb2, 0xa2, 0xf9, 0x69, 0x6d, 0x31, 0x27, 0xda, + 0xb1, 0xc2, 0xa0, 0x13, 0x9d, 0xfe, 0x16, 0xf9, 0xf3, 0xe9, 0x72, 0xac, 0x73, 0x1a, 0x84, 0x4d, + 0x3c, 0xf4, 0x38, 0x67, 0xc2, 0x24, 0x15, 0xd5, 0x18, 0x23, 0x7c, 0x13, 0xa5, 0x84, 0x93, 0x82, + 0xca, 0xee, 0xb0, 0x04, 0xdb, 0x52, 0x77, 0x77, 0x58, 0xa8, 0x9e, 0xc2, 0xb0, 0xff, 0x87, 0x05, + 0x0f, 0x64, 0x0e, 0xc5, 0x11, 0x58, 0x01, 0xdb, 0x49, 0x2b, 0xa0, 0x9a, 0xd7, 0x06, 0xcc, 0x78, + 0x8b, 0x1e, 0x16, 0xc1, 0x7f, 0xb0, 0x60, 0x4c, 0xe3, 0x1f, 0xc1, 0xab, 0xba, 0xc9, 0x57, 0xcd, + 0x6f, 0xaf, 0x59, 0xe9, 0x7a, 0xb7, 0xdf, 0x2b, 0x80, 0x2a, 0x91, 0x3c, 0x53, 0x93, 0x05, 0xe8, + 0xf7, 0x38, 0xf1, 0xee, 0xc0, 0x20, 0x3b, 0xb0, 0x8f, 0xf2, 0x09, 0x46, 0x4a, 0xf2, 0x67, 0x87, + 0xff, 0x3a, 0x18, 0x82, 0xfd, 0x8d, 0xb0, 0x60, 0xc8, 0xae, 0x74, 0xe0, 0xd5, 0x67, 0xeb, 0x22, + 0x7d, 0x50, 0x5f, 0xe9, 0x20, 0xda, 0xb1, 0xc2, 0xa0, 0x7a, 0xca, 0xad, 0x05, 0xfe, 0x9c, 0xe7, + 0x44, 0xf2, 0xd6, 0x71, 0xa5, 0xa7, 0x16, 0x24, 0x00, 0x6b, 0x1c, 0x76, 0x96, 0xef, 0x46, 0x2d, + 0xcf, 0xe9, 0x18, 0x1e, 0x05, 0xa3, 0x4e, 0x8c, 0x02, 0x61, 0x13, 0xcf, 0x6e, 0xc2, 0x44, 0xf2, + 0x25, 0xe6, 0xc9, 0x3a, 0x0b, 0xa4, 0xed, 0x6b, 0x38, 0xa7, 0xa1, 0xe2, 0xb0, 0xa7, 0x16, 0xdb, + 0x8e, 0x90, 0x09, 0x3a, 0x9c, 0x54, 0x02, 0xb0, 0xc6, 0xb1, 0xff, 0xb1, 0x05, 0x27, 0x32, 0x06, + 0x2d, 0xc7, 0xf4, 0xcc, 0x58, 0x4b, 0x9b, 0x2c, 0x0b, 0xe3, 0xc7, 0x60, 0xa8, 0x4e, 0xd6, 0x1d, + 0x19, 0xaa, 0x69, 0xc8, 0xe6, 0x79, 0xde, 0x8c, 0x25, 0xdc, 0xfe, 0xed, 0x02, 0x8c, 0x27, 0xfb, + 0x1a, 0xb1, 0x94, 0x27, 0x3e, 0x4c, 0x6e, 0x54, 0x0b, 0xb6, 0x48, 0xd8, 0xa1, 0x6f, 0x6e, 0xa5, + 0x52, 0x9e, 0xba, 0x30, 0x70, 0xc6, 0x53, 0xac, 0x40, 0x7a, 0x5d, 0x8d, 0xb6, 0x9c, 0x91, 0xd7, + 0xf2, 0x9c, 0x91, 0xfa, 0x63, 0x9a, 0x61, 0x1d, 0x8a, 0x25, 0x36, 0xf9, 0x53, 0x4b, 0x87, 0xc5, + 0x90, 0xcf, 0xb6, 0x5d, 0x2f, 0x76, 0x7d, 0xf1, 0xca, 0x62, 0xae, 0x2a, 0x4b, 0x67, 0xa9, 0x1b, + 0x05, 0x67, 0x3d, 0x67, 0x7f, 0x6f, 0x00, 0x54, 0xe9, 0x01, 0x16, 0x76, 0x97, 0x53, 0xd0, 0xe2, + 0x7e, 0x13, 0xe7, 0xd4, 0xdc, 0x1a, 0xd8, 0x2d, 0x0e, 0x86, 0xbb, 0xa1, 0x4c, 0x5f, 0xb4, 0x1a, + 0xb0, 0x55, 0x0d, 0xc2, 0x26, 0x1e, 0xed, 0x89, 0xe7, 0x6e, 0x11, 0xfe, 0xd0, 0x60, 0xb2, 0x27, + 0x8b, 0x12, 0x80, 0x35, 0x0e, 0xed, 0x49, 0xdd, 0x5d, 0x5f, 0x17, 0x3e, 0x15, 0xd5, 0x13, 0x3a, + 0x3a, 0x98, 0x41, 0xf8, 0x15, 0x1a, 0xc1, 0xa6, 0xb0, 0xee, 0x8d, 0x2b, 0x34, 0x82, 0x4d, 0xcc, + 0x20, 0xf4, 0x2b, 0xf9, 0x41, 0xd8, 0x74, 0x3c, 0xf7, 0x55, 0x52, 0x57, 0x5c, 0x84, 0x55, 0xaf, + 0xbe, 0xd2, 0x95, 0x6e, 0x14, 0x9c, 0xf5, 0x1c, 0x9d, 0xd0, 0xad, 0x90, 0xd4, 0xdd, 0x5a, 0x6c, + 0x52, 0x83, 0xe4, 0x84, 0x5e, 0xe9, 0xc2, 0xc0, 0x19, 0x4f, 0xa1, 0x19, 0x18, 0x97, 0xa5, 0x23, + 0x64, 0x31, 0xb2, 0xe1, 0x64, 0xf1, 0x23, 0x9c, 0x04, 0xe3, 0x34, 0x3e, 0x15, 0x92, 0x4d, 0x51, + 0x4a, 0x91, 0x6d, 0x02, 0x0c, 0x21, 0x29, 0x4b, 0x2c, 0x62, 0x85, 0x61, 0x7f, 0xac, 0x48, 0x95, + 0x7a, 0x8f, 0x8a, 0xa5, 0x47, 0x16, 0x24, 0x9b, 0x9c, 0x91, 0x03, 0x7d, 0xcc, 0xc8, 0x67, 0x61, + 0xe4, 0x46, 0x14, 0xf8, 0x2a, 0x00, 0xb5, 0xd4, 0x33, 0x00, 0xd5, 0xc0, 0xca, 0x0e, 0x40, 0x1d, + 0xcc, 0x2b, 0x00, 0x75, 0xe8, 0x0e, 0x03, 0x50, 0xff, 0xa0, 0x04, 0xea, 0x8e, 0xb4, 0x2b, 0x24, + 0xbe, 0x19, 0x84, 0x9b, 0xae, 0xdf, 0x60, 0x65, 0x10, 0xbe, 0x62, 0xc9, 0x4a, 0x0a, 0x8b, 0x66, + 0x02, 0xe1, 0x7a, 0x4e, 0xf7, 0x5c, 0x25, 0x98, 0x4d, 0xad, 0x1a, 0x8c, 0x52, 0xb7, 0xc4, 0x9b, + 0x20, 0x9c, 0xe8, 0x11, 0xfa, 0x30, 0x80, 0x74, 0x40, 0xaf, 0x4b, 0x09, 0xbc, 0x90, 0x4f, 0xff, + 0x30, 0x59, 0xd7, 0x26, 0xf5, 0xaa, 0x62, 0x82, 0x0d, 0x86, 0xe8, 0x53, 0x3a, 0xb9, 0x92, 0x67, + 0xaa, 0x7c, 0xf0, 0x50, 0xc6, 0xa6, 0x9f, 0xd4, 0x4a, 0x0c, 0x43, 0xae, 0xdf, 0xa0, 0xf3, 0x44, + 0x04, 0xea, 0xbd, 0x25, 0xab, 0x5c, 0xcd, 0x62, 0xe0, 0xd4, 0x67, 0x1d, 0xcf, 0xf1, 0x6b, 0x24, + 0x5c, 0xe0, 0xe8, 0x5a, 0x83, 0x8a, 0x06, 0x2c, 0x09, 0x75, 0x5d, 0xe4, 0x56, 0xea, 0xe7, 0x22, + 0xb7, 0xd3, 0xef, 0x86, 0xe3, 0x5d, 0x1f, 0x73, 0x5f, 0x99, 0x94, 0x77, 0x9e, 0x84, 0x69, 0xff, + 0xce, 0xa0, 0x56, 0x5a, 0x57, 0x82, 0x3a, 0xbf, 0x17, 0x2c, 0xd4, 0x5f, 0x54, 0x98, 0xcc, 0x39, + 0x4e, 0x11, 0xa5, 0x66, 0x8c, 0x46, 0x6c, 0xb2, 0xa4, 0x73, 0xb4, 0xe5, 0x84, 0xc4, 0x3f, 0xec, + 0x39, 0xba, 0xa2, 0x98, 0x60, 0x83, 0x21, 0xda, 0x48, 0xa4, 0x52, 0x9d, 0x3f, 0x78, 0x2a, 0x15, + 0x2b, 0x1e, 0x98, 0x75, 0x7d, 0xce, 0xe7, 0x2d, 0x18, 0xf3, 0x13, 0x33, 0x37, 0x9f, 0xe8, 0xe9, + 0xec, 0x55, 0xc1, 0xaf, 0xd8, 0x4c, 0xb6, 0xe1, 0x14, 0xff, 0x2c, 0x95, 0x56, 0xda, 0xa7, 0x4a, + 0xd3, 0xf7, 0x12, 0x0e, 0xf6, 0xba, 0x97, 0x10, 0xf9, 0xea, 0xb6, 0xd8, 0xa1, 0xdc, 0x6f, 0x8b, + 0x85, 0x8c, 0x9b, 0x62, 0xaf, 0x43, 0xa5, 0x16, 0x12, 0x27, 0xbe, 0xc3, 0x8b, 0x43, 0x59, 0x5c, + 0xca, 0x9c, 0x24, 0x80, 0x35, 0x2d, 0xfb, 0x7f, 0x0f, 0xc0, 0x31, 0x39, 0x22, 0x32, 0xf3, 0x82, + 0xea, 0x47, 0xce, 0x57, 0xdb, 0xca, 0x4a, 0x3f, 0x5e, 0x94, 0x00, 0xac, 0x71, 0xa8, 0x3d, 0xd6, + 0x8e, 0xc8, 0x72, 0x8b, 0xf8, 0x8b, 0xee, 0x5a, 0x24, 0x0e, 0x92, 0xd5, 0x42, 0xb9, 0xaa, 0x41, + 0xd8, 0xc4, 0xa3, 0xb6, 0xbd, 0x63, 0x18, 0xad, 0x86, 0x6d, 0x2f, 0x0d, 0x55, 0x09, 0x47, 0xbf, + 0x94, 0x59, 0x42, 0x3d, 0x9f, 0x7c, 0xc5, 0xae, 0x84, 0x93, 0x7d, 0x5e, 0x7b, 0xfd, 0x0f, 0x2c, + 0x38, 0xc5, 0x5b, 0xe5, 0x48, 0x5e, 0x6d, 0xd5, 0x9d, 0x98, 0x44, 0xf9, 0x5c, 0xbd, 0x92, 0xd1, + 0x3f, 0xed, 0xbc, 0xce, 0x62, 0x8b, 0xb3, 0x7b, 0x83, 0x3e, 0x67, 0xc1, 0xf8, 0x66, 0xa2, 0xd4, + 0x8d, 0x54, 0x1d, 0x07, 0xad, 0x42, 0x91, 0x20, 0xaa, 0x97, 0x5a, 0xb2, 0x3d, 0xc2, 0x69, 0xee, + 0xf6, 0x7f, 0xb7, 0xc0, 0x14, 0xa3, 0x47, 0x5f, 0x21, 0x67, 0xff, 0xa6, 0xa0, 0xb4, 0x2e, 0x4b, + 0x3d, 0xad, 0xcb, 0x87, 0xa1, 0xd8, 0x76, 0xeb, 0x62, 0x7f, 0xa1, 0x8f, 0xb7, 0x17, 0xe6, 0x31, + 0x6d, 0xb7, 0xff, 0x45, 0x49, 0xbb, 0x41, 0x44, 0x3a, 0xe0, 0x0f, 0xc5, 0x6b, 0xaf, 0xab, 0x1a, + 0x92, 0xfc, 0xcd, 0xaf, 0x74, 0xd5, 0x90, 0x7c, 0xc7, 0xfe, 0xb3, 0x3d, 0xf9, 0x00, 0xf5, 0x2a, + 0x21, 0x39, 0xb4, 0x47, 0xaa, 0xe7, 0x0d, 0x28, 0xd3, 0x2d, 0x18, 0xf3, 0x67, 0x96, 0x13, 0x9d, + 0x2a, 0x5f, 0x14, 0xed, 0xb7, 0x77, 0x26, 0xdf, 0xbe, 0xff, 0x6e, 0xc9, 0xa7, 0xb1, 0xa2, 0x8f, + 0x22, 0xa8, 0xd0, 0xdf, 0x2c, 0x2b, 0x55, 0x6c, 0xee, 0xae, 0x2a, 0x99, 0x29, 0x01, 0xb9, 0xa4, + 0xbc, 0x6a, 0x3e, 0xc8, 0x87, 0x0a, 0x45, 0xe4, 0x4c, 0xf9, 0x1e, 0x70, 0x45, 0xe5, 0x86, 0x4a, + 0xc0, 0xed, 0x9d, 0xc9, 0xe7, 0xf7, 0xcf, 0x54, 0x3d, 0x8e, 0x35, 0x0b, 0xfb, 0xff, 0x0c, 0xe8, + 0xb9, 0x2b, 0x4a, 0x87, 0xfe, 0x50, 0xcc, 0xdd, 0xb3, 0xa9, 0xb9, 0x7b, 0xa6, 0x6b, 0xee, 0x8e, + 0xe9, 0xeb, 0xe3, 0x13, 0xb3, 0xf1, 0xa8, 0x0d, 0x81, 0xbd, 0xfd, 0x0d, 0xcc, 0x02, 0x7a, 0xa5, + 0xed, 0x86, 0x24, 0x5a, 0x09, 0xdb, 0xbe, 0xeb, 0x37, 0xd8, 0x74, 0x2c, 0x9b, 0x16, 0x50, 0x02, + 0x8c, 0xd3, 0xf8, 0x74, 0x53, 0x4f, 0xbf, 0xf9, 0x75, 0x67, 0x8b, 0xcf, 0x2a, 0xa3, 0xda, 0x5c, + 0x55, 0xb4, 0x63, 0x85, 0x81, 0x36, 0xe0, 0x21, 0x49, 0x60, 0x9e, 0x78, 0x44, 0xdc, 0xff, 0xbe, + 0xee, 0x86, 0x4d, 0x1e, 0xdc, 0xce, 0xa3, 0x2a, 0xde, 0x2c, 0x28, 0x3c, 0x84, 0x77, 0xc1, 0xc5, + 0xbb, 0x52, 0xb2, 0xbf, 0xce, 0xa2, 0x01, 0x8c, 0xc4, 0x7b, 0x3a, 0xfb, 0x3c, 0xb7, 0xe9, 0xca, + 0xa2, 0x78, 0x6a, 0xf6, 0x2d, 0xd2, 0x46, 0xcc, 0x61, 0xe8, 0x26, 0x0c, 0xad, 0xf1, 0x6b, 0x7a, + 0xf3, 0xb9, 0x12, 0x44, 0xdc, 0xf9, 0xcb, 0x2a, 0xcb, 0xca, 0x0b, 0x80, 0x6f, 0xeb, 0x9f, 0x58, + 0x72, 0xb3, 0xbf, 0x5d, 0x82, 0xf1, 0xd4, 0x9d, 0xfc, 0x89, 0x72, 0xdb, 0x85, 0x3d, 0xcb, 0x6d, + 0x7f, 0x00, 0xa0, 0x4e, 0x5a, 0x5e, 0xd0, 0x61, 0x86, 0xdf, 0xc0, 0xbe, 0x0d, 0x3f, 0xb5, 0x57, + 0x98, 0x57, 0x54, 0xb0, 0x41, 0x51, 0x54, 0x02, 0xe4, 0xd5, 0xbb, 0x53, 0x95, 0x00, 0x8d, 0x8b, + 0x83, 0x06, 0x8f, 0xf6, 0xe2, 0x20, 0x17, 0xc6, 0x79, 0x17, 0x55, 0x7a, 0xfb, 0x1d, 0x64, 0xb1, + 0xb3, 0x04, 0xa1, 0xf9, 0x24, 0x19, 0x9c, 0xa6, 0x6b, 0xde, 0x0a, 0x54, 0x3e, 0xea, 0x5b, 0x81, + 0xde, 0x0a, 0x15, 0xf9, 0x9d, 0xa3, 0x89, 0x8a, 0x2e, 0x11, 0x22, 0xa7, 0x41, 0x84, 0x35, 0xbc, + 0xab, 0x52, 0x07, 0xdc, 0xad, 0x4a, 0x1d, 0xf6, 0x6b, 0x05, 0xba, 0x63, 0xe0, 0xfd, 0x52, 0x45, + 0xa7, 0x1e, 0x83, 0x41, 0xa7, 0x1d, 0x6f, 0x04, 0x5d, 0x17, 0xfd, 0xce, 0xb0, 0x56, 0x2c, 0xa0, + 0x68, 0x11, 0x06, 0xea, 0xba, 0x90, 0xd0, 0x7e, 0xbe, 0xa7, 0x76, 0xbe, 0x3a, 0x31, 0xc1, 0x8c, + 0x0a, 0x7a, 0x08, 0x06, 0x62, 0xa7, 0x21, 0x73, 0x1a, 0x59, 0x1e, 0xfb, 0xaa, 0xd3, 0x88, 0x30, + 0x6b, 0xdd, 0x4f, 0xf1, 0xd4, 0xe7, 0x61, 0x34, 0x72, 0x1b, 0xbe, 0x13, 0xb7, 0x43, 0x62, 0x9c, + 0x4f, 0xea, 0xd8, 0x17, 0x13, 0x88, 0x93, 0xb8, 0xf6, 0x37, 0x47, 0xe0, 0x64, 0x75, 0x6e, 0x49, + 0x5e, 0xff, 0x70, 0x68, 0x69, 0x89, 0x59, 0x3c, 0x8e, 0x2e, 0x2d, 0xb1, 0x07, 0x77, 0xcf, 0x48, + 0x4b, 0xf4, 0x8c, 0xb4, 0xc4, 0x64, 0x8e, 0x58, 0x31, 0x8f, 0x1c, 0xb1, 0xac, 0x1e, 0xf4, 0x93, + 0x23, 0x76, 0x68, 0x79, 0x8a, 0xbb, 0x76, 0x68, 0x5f, 0x79, 0x8a, 0x2a, 0x89, 0x33, 0x97, 0xec, + 0x9d, 0x1e, 0x9f, 0x2a, 0x33, 0x89, 0x53, 0x25, 0xd0, 0xf1, 0xcc, 0x34, 0x21, 0xea, 0x5f, 0xca, + 0xbf, 0x03, 0x7d, 0x24, 0xd0, 0x89, 0xe4, 0x38, 0x33, 0x69, 0x73, 0x28, 0x8f, 0xa4, 0xcd, 0xac, + 0xee, 0xec, 0x99, 0xb4, 0xf9, 0x3c, 0x8c, 0xd6, 0xbc, 0xc0, 0x27, 0x2b, 0x61, 0x10, 0x07, 0xb5, + 0x40, 0x5e, 0x35, 0xaa, 0x6f, 0xca, 0x32, 0x81, 0x38, 0x89, 0xdb, 0x2b, 0xe3, 0xb3, 0x72, 0xd0, + 0x8c, 0x4f, 0xb8, 0x4b, 0x19, 0x9f, 0x3f, 0xab, 0x6b, 0x13, 0x0c, 0xb3, 0x2f, 0xf2, 0x81, 0xfc, + 0xbf, 0x48, 0x5f, 0x77, 0x89, 0xbe, 0xce, 0x6f, 0xda, 0xa5, 0x26, 0xf8, 0x5c, 0xd0, 0xa4, 0x86, + 0xdf, 0x08, 0x1b, 0x92, 0x97, 0x0f, 0x61, 0xc2, 0x5e, 0xaf, 0x6a, 0x36, 0xea, 0xf6, 0x5d, 0xdd, + 0x84, 0x93, 0x1d, 0x39, 0x48, 0xed, 0x84, 0x2f, 0x15, 0xe0, 0x47, 0xf6, 0xec, 0x02, 0xba, 0x09, + 0x10, 0x3b, 0x0d, 0x31, 0x51, 0xc5, 0xd1, 0xcc, 0x01, 0x03, 0x54, 0x57, 0x25, 0x3d, 0x5e, 0xf4, + 0x47, 0xfd, 0x65, 0x87, 0x1e, 0xf2, 0x37, 0x8b, 0x4b, 0x0d, 0xbc, 0xae, 0xda, 0xa8, 0x38, 0xf0, + 0x08, 0x66, 0x10, 0xaa, 0xfe, 0x43, 0xd2, 0xa0, 0x26, 0x6d, 0x31, 0xa9, 0xfe, 0x31, 0x6b, 0xc5, + 0x02, 0x8a, 0x9e, 0x83, 0x61, 0xc7, 0xf3, 0x78, 0x6a, 0x15, 0x89, 0xc4, 0x15, 0x76, 0xba, 0x48, + 0xa3, 0x06, 0x61, 0x13, 0xcf, 0xfe, 0xab, 0x02, 0x4c, 0xee, 0x21, 0x53, 0xba, 0x52, 0x6a, 0x4b, + 0x7d, 0xa7, 0xd4, 0x8a, 0x74, 0x93, 0xc1, 0x1e, 0xe9, 0x26, 0xcf, 0xc1, 0x70, 0x4c, 0x9c, 0xa6, + 0x08, 0x69, 0x13, 0x3e, 0x07, 0x7d, 0xd6, 0xac, 0x41, 0xd8, 0xc4, 0xa3, 0x52, 0x6c, 0xcc, 0xa9, + 0xd5, 0x48, 0x14, 0xc9, 0x7c, 0x12, 0xe1, 0xb7, 0xcd, 0x2d, 0x59, 0x85, 0xb9, 0xc3, 0x67, 0x12, + 0x2c, 0x70, 0x8a, 0x65, 0x7a, 0xc0, 0x2b, 0x7d, 0x0e, 0xf8, 0x57, 0x0b, 0xf0, 0xf0, 0xae, 0xda, + 0xad, 0xef, 0x54, 0x9f, 0x76, 0x44, 0xc2, 0xf4, 0xc4, 0xb9, 0x1a, 0x91, 0x10, 0x33, 0x08, 0x1f, + 0xa5, 0x56, 0x4b, 0x85, 0x23, 0xe7, 0x9f, 0xf7, 0xc6, 0x47, 0x29, 0xc1, 0x02, 0xa7, 0x58, 0xde, + 0xe9, 0xb4, 0xfc, 0xf6, 0x00, 0x3c, 0xda, 0x87, 0x0d, 0x90, 0x63, 0x7e, 0x60, 0x32, 0x97, 0xb5, + 0x78, 0x97, 0x72, 0x59, 0xef, 0x6c, 0xb8, 0xde, 0x48, 0x81, 0xed, 0x2b, 0x0f, 0xf1, 0xeb, 0x05, + 0x38, 0xdd, 0xdb, 0x60, 0x41, 0xef, 0x84, 0xf1, 0x50, 0x05, 0xd9, 0x99, 0x69, 0xb0, 0x27, 0xb8, + 0x67, 0x27, 0x01, 0xc2, 0x69, 0x5c, 0x34, 0x05, 0xd0, 0x72, 0xe2, 0x8d, 0xe8, 0xdc, 0xb6, 0x1b, + 0xc5, 0xa2, 0x18, 0xd6, 0x18, 0x3f, 0x4b, 0x94, 0xad, 0xd8, 0xc0, 0xa0, 0xec, 0xd8, 0xbf, 0xf9, + 0xe0, 0x4a, 0x10, 0xf3, 0x87, 0xf8, 0x66, 0xeb, 0x84, 0xbc, 0x1a, 0xcb, 0x00, 0xe1, 0x34, 0x2e, + 0x65, 0xc7, 0x4e, 0xab, 0x79, 0x47, 0xf9, 0x2e, 0x8c, 0xb1, 0x5b, 0x54, 0xad, 0xd8, 0xc0, 0x48, + 0x27, 0xf8, 0x96, 0xf6, 0x4e, 0xf0, 0xb5, 0xff, 0x79, 0x01, 0x1e, 0xe8, 0x69, 0xf0, 0xf6, 0x27, + 0xa6, 0xee, 0xbd, 0xa4, 0xdc, 0x3b, 0x5c, 0x61, 0xfb, 0x4b, 0xe6, 0xfc, 0xb3, 0x1e, 0x33, 0x4d, + 0x24, 0x73, 0xde, 0x79, 0x8d, 0x8a, 0x7b, 0x6f, 0x3c, 0xbb, 0xf2, 0x37, 0x07, 0xf6, 0x91, 0xbf, + 0x99, 0xfa, 0x18, 0xa5, 0x3e, 0xb5, 0xc3, 0x7f, 0x19, 0xe8, 0x39, 0xbc, 0x74, 0x83, 0xdc, 0x97, + 0xdf, 0x7c, 0x1e, 0x8e, 0xb9, 0x3e, 0xbb, 0x26, 0xb1, 0xda, 0x5e, 0x13, 0xf5, 0x91, 0x78, 0x11, + 0x50, 0x95, 0xc6, 0xb1, 0x90, 0x82, 0xe3, 0xae, 0x27, 0xee, 0xc1, 0x7c, 0xda, 0x3b, 0x1b, 0xd2, + 0x7d, 0x4a, 0xee, 0x65, 0x38, 0x25, 0x87, 0x62, 0xc3, 0x09, 0x49, 0x5d, 0x28, 0xdb, 0x48, 0x24, + 0xee, 0x3c, 0xc0, 0x93, 0x7f, 0x32, 0x10, 0x70, 0xf6, 0x73, 0xec, 0x66, 0xba, 0xa0, 0xe5, 0xd6, + 0xc4, 0x56, 0x50, 0xdf, 0x4c, 0x47, 0x1b, 0x31, 0x87, 0x69, 0x7d, 0x51, 0x39, 0x1a, 0x7d, 0xf1, + 0x01, 0xa8, 0xa8, 0xf1, 0xe6, 0x59, 0x02, 0x6a, 0x92, 0x77, 0x65, 0x09, 0xa8, 0x19, 0x6e, 0x60, + 0xed, 0x75, 0xab, 0xf3, 0x33, 0x30, 0xa2, 0xbc, 0x5f, 0xfd, 0xde, 0x0f, 0x68, 0xff, 0xdf, 0x02, + 0xa4, 0x6e, 0xf0, 0x41, 0xdb, 0x50, 0xa9, 0xcb, 0x7b, 0x95, 0xf3, 0x29, 0x42, 0xab, 0xae, 0x69, + 0xd6, 0xc7, 0x3f, 0xaa, 0x09, 0x6b, 0x66, 0xe8, 0x43, 0xbc, 0xde, 0xab, 0x60, 0x5d, 0xc8, 0x23, + 0xa7, 0xba, 0xaa, 0xe8, 0x99, 0x17, 0x80, 0xc9, 0x36, 0x6c, 0xf0, 0x43, 0x31, 0x54, 0x36, 0xe4, + 0x4d, 0x45, 0xf9, 0x88, 0x3b, 0x75, 0xf1, 0x11, 0x37, 0xd1, 0xd4, 0x5f, 0xac, 0x19, 0xd9, 0x7f, + 0x5a, 0x80, 0x93, 0xc9, 0x0f, 0x20, 0x8e, 0xeb, 0x7e, 0xcd, 0x82, 0xfb, 0x3d, 0x27, 0x8a, 0xab, + 0x6d, 0xb6, 0x51, 0x58, 0x6f, 0x7b, 0xcb, 0xa9, 0xd2, 0xc0, 0x07, 0x75, 0xb6, 0x28, 0xc2, 0xe9, + 0x9b, 0xad, 0x66, 0x1f, 0xbc, 0xb5, 0x33, 0x79, 0xff, 0x62, 0x36, 0x73, 0xdc, 0xab, 0x57, 0xe8, + 0xf3, 0x16, 0x1c, 0xab, 0xb5, 0xc3, 0x90, 0xf8, 0xb1, 0xee, 0x2a, 0xff, 0x8a, 0x57, 0x72, 0x19, + 0x48, 0xdd, 0xc1, 0x93, 0x54, 0xa0, 0xce, 0xa5, 0x78, 0xe1, 0x2e, 0xee, 0xf6, 0x2f, 0x50, 0xcd, + 0xd9, 0xf3, 0x3d, 0xff, 0x86, 0x5d, 0xc5, 0xf5, 0x17, 0x83, 0x30, 0x9a, 0xa8, 0x7f, 0x9c, 0x38, + 0xe2, 0xb2, 0xf6, 0x3c, 0xe2, 0x62, 0xa9, 0x66, 0x6d, 0x5f, 0x5e, 0x14, 0x6c, 0xa4, 0x9a, 0xb5, + 0x7d, 0x82, 0x39, 0x4c, 0x0c, 0x29, 0x6e, 0xfb, 0x22, 0xba, 0xdd, 0x1c, 0x52, 0xdc, 0xf6, 0xb1, + 0x80, 0xa2, 0x8f, 0x5a, 0x30, 0xc2, 0x16, 0x9f, 0x38, 0x20, 0x14, 0x0a, 0xed, 0x52, 0x0e, 0xcb, + 0x5d, 0xd6, 0xfa, 0x66, 0xd1, 0x90, 0x66, 0x0b, 0x4e, 0x70, 0x44, 0x9f, 0xb0, 0xa0, 0xa2, 0xee, + 0x16, 0x14, 0xb7, 0x7e, 0x57, 0xf3, 0x2d, 0x2f, 0x9d, 0x92, 0x7a, 0xaa, 0xce, 0x2f, 0xd6, 0x8c, + 0x51, 0xa4, 0x4e, 0xef, 0x86, 0x0e, 0xe7, 0xf4, 0x0e, 0x32, 0x4e, 0xee, 0xde, 0x0a, 0x95, 0xa6, + 0xe3, 0xbb, 0xeb, 0x24, 0x8a, 0xf9, 0x81, 0x9a, 0xac, 0x7a, 0x2f, 0x1b, 0xb1, 0x86, 0x53, 0x63, + 0x3f, 0x62, 0x2f, 0x16, 0x1b, 0x27, 0x60, 0xcc, 0xd8, 0xaf, 0xea, 0x66, 0x6c, 0xe2, 0x98, 0xc7, + 0x75, 0x70, 0x57, 0x8f, 0xeb, 0x86, 0xf7, 0x38, 0xae, 0xab, 0xc2, 0x29, 0xa7, 0x1d, 0x07, 0x17, + 0x89, 0xe3, 0xcd, 0xc4, 0x31, 0x69, 0xb6, 0xe2, 0x88, 0x97, 0xcc, 0x1e, 0x61, 0x2e, 0x60, 0x15, + 0xbf, 0x55, 0x25, 0xde, 0x7a, 0x17, 0x12, 0xce, 0x7e, 0xd6, 0xfe, 0xa7, 0x16, 0x9c, 0xca, 0x9c, + 0x0a, 0xf7, 0x6e, 0xe4, 0xbc, 0xfd, 0xc5, 0x12, 0x9c, 0xc8, 0xa8, 0x8e, 0x8e, 0x3a, 0xe6, 0x22, + 0xb1, 0xf2, 0x08, 0x42, 0x4b, 0xc6, 0x54, 0xc9, 0x6f, 0x93, 0xb1, 0x32, 0xf6, 0x77, 0x02, 0xaf, + 0x4f, 0xc1, 0x8b, 0x47, 0x7b, 0x0a, 0x6e, 0xcc, 0xf5, 0x81, 0xbb, 0x3a, 0xd7, 0x4b, 0x7b, 0xcc, + 0xf5, 0x6f, 0x58, 0x30, 0xd1, 0xec, 0x71, 0x25, 0x8f, 0x38, 0x4f, 0xba, 0x76, 0x38, 0x17, 0xfe, + 0xcc, 0x3e, 0x74, 0x6b, 0x67, 0xb2, 0xe7, 0x4d, 0x48, 0xb8, 0x67, 0xaf, 0xec, 0xef, 0x15, 0x81, + 0xd9, 0x6b, 0xac, 0x02, 0x6e, 0x07, 0x7d, 0xc4, 0xbc, 0x64, 0xc1, 0xca, 0xeb, 0x42, 0x00, 0x4e, + 0x5c, 0x5d, 0xd2, 0xc0, 0x47, 0x30, 0xeb, 0xce, 0x86, 0xb4, 0x24, 0x2c, 0xf4, 0x21, 0x09, 0x3d, + 0x79, 0x9b, 0x45, 0x31, 0xff, 0xdb, 0x2c, 0x2a, 0xe9, 0x9b, 0x2c, 0x76, 0xff, 0xc4, 0x03, 0xf7, + 0xe4, 0x27, 0xfe, 0x65, 0x8b, 0x0b, 0x9e, 0xd4, 0x57, 0xd0, 0xe6, 0x86, 0xb5, 0x8b, 0xb9, 0xf1, + 0x04, 0x94, 0x23, 0x21, 0x99, 0x85, 0x59, 0xa2, 0x03, 0xa0, 0x44, 0x3b, 0x56, 0x18, 0x74, 0xd7, + 0xe5, 0x78, 0x5e, 0x70, 0xf3, 0x5c, 0xb3, 0x15, 0x77, 0x84, 0x81, 0xa2, 0xb6, 0x05, 0x33, 0x0a, + 0x82, 0x0d, 0x2c, 0x7b, 0x03, 0x8c, 0x0d, 0xc3, 0x9d, 0xdf, 0x60, 0xda, 0xc7, 0xd5, 0xd3, 0x7f, + 0xbf, 0x20, 0x58, 0xf1, 0x0d, 0xc0, 0xd9, 0xd4, 0x55, 0xdf, 0xfd, 0x87, 0xba, 0x7d, 0x08, 0xa0, + 0x16, 0x34, 0x5b, 0x74, 0x4b, 0xbc, 0x1a, 0xe4, 0xb3, 0x8f, 0x9a, 0x53, 0xf4, 0xf4, 0x80, 0xe9, + 0x36, 0x6c, 0xf0, 0x4b, 0x48, 0xed, 0xe2, 0x9e, 0x52, 0x3b, 0x21, 0xc0, 0x06, 0x76, 0x17, 0x60, + 0xf6, 0x5f, 0x59, 0x90, 0x30, 0xe8, 0x50, 0x0b, 0x4a, 0xb4, 0xbb, 0x1d, 0x21, 0x0b, 0x96, 0xf3, + 0xb3, 0x1e, 0xa9, 0x10, 0x16, 0x0b, 0x8c, 0xfd, 0xc4, 0x9c, 0x11, 0xf2, 0x44, 0x58, 0x5f, 0x2e, + 0xfb, 0x1a, 0x93, 0xe1, 0xc5, 0x20, 0xd8, 0xe4, 0x91, 0x31, 0x3a, 0x44, 0xd0, 0x3e, 0x0b, 0xc7, + 0xbb, 0x3a, 0xc5, 0x6e, 0x3d, 0x0d, 0xe4, 0xe6, 0xdc, 0x58, 0x18, 0xac, 0x86, 0x02, 0xe6, 0x30, + 0xfb, 0xeb, 0x16, 0x1c, 0x4b, 0x93, 0x47, 0xaf, 0x5b, 0x70, 0x3c, 0x4a, 0xd3, 0x3b, 0xac, 0xb1, + 0x53, 0xa1, 0xf9, 0x5d, 0x20, 0xdc, 0xdd, 0x09, 0xfb, 0x37, 0x84, 0xa0, 0xbf, 0xee, 0xfa, 0xf5, + 0xe0, 0xa6, 0x32, 0x81, 0xac, 0x9e, 0x26, 0x10, 0x5d, 0xf9, 0xb5, 0x0d, 0x52, 0x6f, 0x7b, 0x5d, + 0x35, 0x13, 0xaa, 0xa2, 0x1d, 0x2b, 0x0c, 0x96, 0x22, 0xde, 0x16, 0x5b, 0xd2, 0xd4, 0xa4, 0x9c, + 0x17, 0xed, 0x58, 0x61, 0xa0, 0x67, 0x61, 0xc4, 0x78, 0x49, 0x39, 0x2f, 0xd9, 0x7e, 0xc2, 0x50, + 0xce, 0x11, 0x4e, 0x60, 0xa1, 0x29, 0x00, 0x65, 0x4e, 0x49, 0x65, 0xcc, 0x7c, 0xe8, 0x4a, 0xe6, + 0x45, 0xd8, 0xc0, 0x60, 0x05, 0x19, 0xbc, 0x76, 0xc4, 0x0e, 0x89, 0x07, 0x75, 0xb1, 0xf7, 0x39, + 0xd1, 0x86, 0x15, 0x94, 0xca, 0xad, 0xa6, 0xe3, 0xb7, 0x1d, 0x8f, 0x8e, 0x90, 0xf0, 0x8a, 0xa9, + 0x65, 0xb8, 0xa4, 0x20, 0xd8, 0xc0, 0xa2, 0x6f, 0x1c, 0xbb, 0x4d, 0xf2, 0x62, 0xe0, 0xcb, 0x90, + 0x6a, 0x1d, 0x37, 0x20, 0xda, 0xb1, 0xc2, 0x40, 0x67, 0x61, 0xd8, 0xf1, 0xeb, 0xdc, 0xf6, 0x0b, + 0x42, 0x71, 0xfc, 0xa8, 0x36, 0x96, 0x57, 0x23, 0x32, 0xa3, 0xa1, 0xd8, 0x44, 0xb5, 0xff, 0xd2, + 0x82, 0x71, 0x5d, 0xa1, 0x86, 0x79, 0xc1, 0x12, 0xee, 0x3f, 0x6b, 0x4f, 0xf7, 0x5f, 0xb2, 0x62, + 0x46, 0xa1, 0xaf, 0x8a, 0x19, 0x66, 0x31, 0x8b, 0xe2, 0xae, 0xc5, 0x2c, 0x7e, 0x14, 0x86, 0x36, + 0x49, 0xc7, 0xa8, 0x7a, 0x31, 0x4c, 0x0d, 0xa9, 0xcb, 0xbc, 0x09, 0x4b, 0x18, 0xb2, 0x61, 0xb0, + 0xe6, 0xa8, 0x3a, 0x71, 0x23, 0x7c, 0xd3, 0x34, 0x37, 0xc3, 0x90, 0x04, 0xc4, 0x5e, 0x86, 0x8a, + 0x3a, 0x78, 0x97, 0xde, 0x38, 0x2b, 0xdb, 0x1b, 0xd7, 0x57, 0x52, 0xfd, 0xec, 0xda, 0xb7, 0xbe, + 0xff, 0xc8, 0x9b, 0xfe, 0xe8, 0xfb, 0x8f, 0xbc, 0xe9, 0x4f, 0xbe, 0xff, 0xc8, 0x9b, 0x3e, 0x7a, + 0xeb, 0x11, 0xeb, 0x5b, 0xb7, 0x1e, 0xb1, 0xfe, 0xe8, 0xd6, 0x23, 0xd6, 0x9f, 0xdc, 0x7a, 0xc4, + 0xfa, 0xde, 0xad, 0x47, 0xac, 0xcf, 0xff, 0xe7, 0x47, 0xde, 0xf4, 0x62, 0x66, 0x34, 0x3e, 0xfd, + 0xf1, 0x64, 0xad, 0x3e, 0xbd, 0xf5, 0x0c, 0x0b, 0x08, 0xa7, 0x0b, 0x73, 0xda, 0x98, 0x8d, 0xd3, + 0x72, 0x61, 0xfe, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xae, 0xfe, 0xfb, 0xd5, 0x11, 0xf7, 0x00, + 0x00, } func (m *AWSAuthConfig) Marshal() (dAtA []byte, err error) { @@ -7817,6 +7820,16 @@ func (m *ApplicationSourceKustomize) MarshalToSizedBuffer(dAtA []byte) (int, err _ = i var l int _ = l + i-- + if m.IgnoreMissingComponents { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x88 if len(m.APIVersions) > 0 { for iNdEx := len(m.APIVersions) - 1; iNdEx >= 0; iNdEx-- { i -= len(m.APIVersions[iNdEx]) @@ -15383,6 +15396,14 @@ func (m *SyncWindow) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + i-- + if m.UseAndOperator { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 i -= len(m.TimeZone) copy(dAtA[i:], m.TimeZone) i = encodeVarintGenerated(dAtA, i, uint64(len(m.TimeZone))) @@ -16452,6 +16473,7 @@ func (m *ApplicationSourceKustomize) Size() (n int) { n += 2 + l + sovGenerated(uint64(l)) } } + n += 3 return n } @@ -19219,6 +19241,7 @@ func (m *SyncWindow) Size() (n int) { n += 2 l = len(m.TimeZone) n += 1 + l + sovGenerated(uint64(l)) + n += 2 return n } @@ -19913,6 +19936,7 @@ func (this *ApplicationSourceKustomize) String() string { `LabelWithoutSelector:` + fmt.Sprintf("%v", this.LabelWithoutSelector) + `,`, `KubeVersion:` + fmt.Sprintf("%v", this.KubeVersion) + `,`, `APIVersions:` + fmt.Sprintf("%v", this.APIVersions) + `,`, + `IgnoreMissingComponents:` + fmt.Sprintf("%v", this.IgnoreMissingComponents) + `,`, `}`, }, "") return s @@ -21978,6 +22002,7 @@ func (this *SyncWindow) String() string { `Clusters:` + fmt.Sprintf("%v", this.Clusters) + `,`, `ManualSync:` + fmt.Sprintf("%v", this.ManualSync) + `,`, `TimeZone:` + fmt.Sprintf("%v", this.TimeZone) + `,`, + `UseAndOperator:` + fmt.Sprintf("%v", this.UseAndOperator) + `,`, `}`, }, "") return s @@ -29557,6 +29582,26 @@ func (m *ApplicationSourceKustomize) Unmarshal(dAtA []byte) error { } m.APIVersions = append(m.APIVersions, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex + case 17: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IgnoreMissingComponents", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.IgnoreMissingComponents = bool(v != 0) default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) @@ -54354,6 +54399,26 @@ func (m *SyncWindow) Unmarshal(dAtA []byte) error { } m.TimeZone = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UseAndOperator", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.UseAndOperator = bool(v != 0) default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) diff --git a/pkg/apis/application/v1alpha1/generated.proto b/pkg/apis/application/v1alpha1/generated.proto index d65015581e07b..2a443e2c12fb4 100644 --- a/pkg/apis/application/v1alpha1/generated.proto +++ b/pkg/apis/application/v1alpha1/generated.proto @@ -335,6 +335,8 @@ message ApplicationSetSpec { repeated string goTemplateOptions = 7; // ApplyNestedSelectors enables selectors defined within the generators of two level-nested matrix or merge generators + // Deprecated: This field is ignored, and the behavior is always enabled. The field will be removed in a future + // version of the ApplicationSet CRD. optional bool applyNestedSelectors = 8; repeated ApplicationSetResourceIgnoreDifferences ignoreApplicationDifferences = 9; @@ -579,6 +581,9 @@ message ApplicationSourceKustomize { // Components specifies a list of kustomize components to add to the kustomization before building repeated string components = 13; + // IgnoreMissingComponents prevents kustomize from failing when components do not exist locally by not appending them to kustomization file + optional bool ignoreMissingComponents = 17; + // LabelWithoutSelector specifies whether to apply common labels to resource selectors or not optional bool labelWithoutSelector = 14; @@ -2511,6 +2516,9 @@ message SyncWindow { // TimeZone of the sync that will be applied to the schedule optional string timeZone = 8; + + // UseAndOperator use AND operator for matching applications, namespaces and clusters instead of the default OR operator + optional bool andOperator = 9; } // TLSClientConfig contains settings to enable transport layer security diff --git a/pkg/apis/application/v1alpha1/openapi_generated.go b/pkg/apis/application/v1alpha1/openapi_generated.go index 691546802a74a..ac8014f7b61fd 100644 --- a/pkg/apis/application/v1alpha1/openapi_generated.go +++ b/pkg/apis/application/v1alpha1/openapi_generated.go @@ -8454,6 +8454,13 @@ func schema_pkg_apis_application_v1alpha1_SyncWindow(ref common.ReferenceCallbac Format: "", }, }, + "andOperator": { + SchemaProps: spec.SchemaProps{ + Description: "UseAndOperator use AND operator for matching applications, namespaces and clusters instead of the default OR operator", + Type: []string{"boolean"}, + Format: "", + }, + }, }, }, }, diff --git a/pkg/apis/application/v1alpha1/repository_types_test.go b/pkg/apis/application/v1alpha1/repository_types_test.go index 3a53f2b09917f..8b19c6ecdeeb4 100644 --- a/pkg/apis/application/v1alpha1/repository_types_test.go +++ b/pkg/apis/application/v1alpha1/repository_types_test.go @@ -3,6 +3,8 @@ package v1alpha1 import ( "testing" + "github.com/stretchr/testify/require" + "github.com/argoproj/argo-cd/v3/util/git" "github.com/argoproj/argo-cd/v3/util/helm" ) @@ -13,9 +15,7 @@ func TestGetGitCredsShouldReturnAzureWorkloadIdentityCredsIfSpecified(t *testing creds := repository.GetGitCreds(git.NoopCredsStore{}) _, ok := creds.(git.AzureWorkloadIdentityCreds) - if !ok { - t.Fatalf("expected AzureWorkloadIdentityCreds but got %T", creds) - } + require.Truef(t, ok, "expected AzureWorkloadIdentityCreds but got %T", creds) } func TestGetHelmCredsShouldReturnAzureWorkloadIdentityCredsIfSpecified(t *testing.T) { @@ -24,9 +24,7 @@ func TestGetHelmCredsShouldReturnAzureWorkloadIdentityCredsIfSpecified(t *testin creds := repository.GetHelmCreds() _, ok := creds.(helm.AzureWorkloadIdentityCreds) - if !ok { - t.Fatalf("expected AzureWorkloadIdentityCreds but got %T", creds) - } + require.Truef(t, ok, "expected AzureWorkloadIdentityCreds but got %T", creds) } func TestGetHelmCredsShouldReturnHelmCredsIfAzureWorkloadIdentityNotSpecified(t *testing.T) { @@ -35,7 +33,5 @@ func TestGetHelmCredsShouldReturnHelmCredsIfAzureWorkloadIdentityNotSpecified(t creds := repository.GetHelmCreds() _, ok := creds.(helm.HelmCreds) - if !ok { - t.Fatalf("expected HelmCreds but got %T", creds) - } + require.Truef(t, ok, "expected HelmCreds but got %T", creds) } diff --git a/pkg/apis/application/v1alpha1/types.go b/pkg/apis/application/v1alpha1/types.go index a53500172d94d..0e91c842c5295 100644 --- a/pkg/apis/application/v1alpha1/types.go +++ b/pkg/apis/application/v1alpha1/types.go @@ -653,6 +653,8 @@ type ApplicationSourceKustomize struct { Patches KustomizePatches `json:"patches,omitempty" protobuf:"bytes,12,opt,name=patches"` // Components specifies a list of kustomize components to add to the kustomization before building Components []string `json:"components,omitempty" protobuf:"bytes,13,rep,name=components"` + // IgnoreMissingComponents prevents kustomize from failing when components do not exist locally by not appending them to kustomization file + IgnoreMissingComponents bool `json:"ignoreMissingComponents,omitempty" protobuf:"bytes,17,opt,name=ignoreMissingComponents"` // LabelWithoutSelector specifies whether to apply common labels to resource selectors or not LabelWithoutSelector bool `json:"labelWithoutSelector,omitempty" protobuf:"bytes,14,opt,name=labelWithoutSelector"` // KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD @@ -767,7 +769,8 @@ func (k *ApplicationSourceKustomize) IsZero() bool { len(k.Patches) == 0 && len(k.Components) == 0 && k.KubeVersion == "" && - len(k.APIVersions) == 0 + len(k.APIVersions) == 0 && + !k.IgnoreMissingComponents } // MergeImage merges a new Kustomize image identifier in to a list of images @@ -2546,6 +2549,8 @@ type SyncWindow struct { ManualSync bool `json:"manualSync,omitempty" protobuf:"bytes,7,opt,name=manualSync"` // TimeZone of the sync that will be applied to the schedule TimeZone string `json:"timeZone,omitempty" protobuf:"bytes,8,opt,name=timeZone"` + // UseAndOperator use AND operator for matching applications, namespaces and clusters instead of the default OR operator + UseAndOperator bool `json:"andOperator,omitempty" protobuf:"bytes,9,opt,name=andOperator"` } // HasWindows returns true if SyncWindows has one or more SyncWindow @@ -2642,17 +2647,18 @@ func (w *SyncWindow) scheduleOffsetByTimeZone() time.Duration { } // AddWindow adds a sync window with the given parameters to the AppProject -func (spec *AppProjectSpec) AddWindow(knd string, sch string, dur string, app []string, ns []string, cl []string, ms bool, timeZone string) error { +func (spec *AppProjectSpec) AddWindow(knd string, sch string, dur string, app []string, ns []string, cl []string, ms bool, timeZone string, andOperator bool) error { if len(knd) == 0 || len(sch) == 0 || len(dur) == 0 { return errors.New("cannot create window: require kind, schedule, duration and one or more of applications, namespaces and clusters") } window := &SyncWindow{ - Kind: knd, - Schedule: sch, - Duration: dur, - ManualSync: ms, - TimeZone: timeZone, + Kind: knd, + Schedule: sch, + Duration: dur, + ManualSync: ms, + TimeZone: timeZone, + UseAndOperator: andOperator, } if len(app) > 0 { @@ -2692,37 +2698,73 @@ func (spec *AppProjectSpec) DeleteWindow(id int) error { } // Matches returns a list of sync windows that are defined for a given application +// It will use the AND operator if the UseAndOperator is set to true otherwise will default to the OR operator func (w *SyncWindows) Matches(app *Application) *SyncWindows { if w.HasWindows() { var matchingWindows SyncWindows - for _, w := range *w { - if len(w.Applications) > 0 { - for _, a := range w.Applications { + var matched, isSet bool + + for _, window := range *w { + matched = false + isSet = false + + // First check if any applications are configured for the window + if len(window.Applications) > 0 { + isSet = true + for _, a := range window.Applications { if globMatch(a, app.Name, false) { - matchingWindows = append(matchingWindows, w) + matched = true break } } } - if len(w.Clusters) > 0 { - for _, c := range w.Clusters { + + // If using the AND operator and window applications were set but did not match, break out of the loop earlier + if window.UseAndOperator && !matched && isSet { + continue + } else if !window.UseAndOperator && matched { + matchingWindows = append(matchingWindows, window) + continue + } + + // Second check if any clusters are configured for the window + if len(window.Clusters) > 0 { + // check next for cluster matching + matched = false + isSet = true + for _, c := range window.Clusters { dst := app.Spec.Destination dstNameMatched := dst.Name != "" && globMatch(c, dst.Name, false) dstServerMatched := dst.Server != "" && globMatch(c, dst.Server, false) if dstNameMatched || dstServerMatched { - matchingWindows = append(matchingWindows, w) + matched = true break } } } - if len(w.Namespaces) > 0 { - for _, n := range w.Namespaces { + + // If using the AND operator and window clusters were set but did not match, break out of the loop earlier + if isSet && window.UseAndOperator && !matched { + continue + } else if !window.UseAndOperator && matched { + matchingWindows = append(matchingWindows, window) + continue + } + + // Last check if any namespaces are configured for the window + if len(window.Namespaces) > 0 { + matched = false + // If the window clusters matched or if the window clusters were not set check next for namespace matching + for _, n := range window.Namespaces { if globMatch(n, app.Spec.Destination.Namespace, false) { - matchingWindows = append(matchingWindows, w) + matched = true break } } } + if matched { + matchingWindows = append(matchingWindows, window) + } } if len(matchingWindows) > 0 { return &matchingWindows diff --git a/pkg/apis/application/v1alpha1/types_test.go b/pkg/apis/application/v1alpha1/types_test.go index 57a954327451e..2680be116f410 100644 --- a/pkg/apis/application/v1alpha1/types_test.go +++ b/pkg/apis/application/v1alpha1/types_test.go @@ -2188,23 +2188,24 @@ func TestAppProjectSpec_AddWindow(t *testing.T) { c []string m bool t string + o bool want string }{ - {"MissingKind", proj, "", "* * * * *", "11", []string{"app1"}, []string{}, []string{}, false, "error", ""}, - {"MissingSchedule", proj, "allow", "", "", []string{"app1"}, []string{}, []string{}, false, "error", ""}, - {"MissingDuration", proj, "allow", "* * * * *", "", []string{"app1"}, []string{}, []string{}, false, "error", ""}, - {"BadSchedule", proj, "allow", "* * *", "1h", []string{"app1"}, []string{}, []string{}, false, "error", ""}, - {"BadDuration", proj, "deny", "* * * * *", "33mm", []string{"app1"}, []string{}, []string{}, false, "error", ""}, - {"WorkingApplication", proj, "allow", "1 * * * *", "1h", []string{"app1"}, []string{}, []string{}, false, "noError", ""}, - {"WorkingNamespace", proj, "deny", "3 * * * *", "1h", []string{}, []string{}, []string{"cluster"}, false, "noError", ""}, + {"MissingKind", proj, "", "* * * * *", "11", []string{"app1"}, []string{}, []string{}, false, "error", false, ""}, + {"MissingSchedule", proj, "allow", "", "", []string{"app1"}, []string{}, []string{}, false, "error", false, ""}, + {"MissingDuration", proj, "allow", "* * * * *", "", []string{"app1"}, []string{}, []string{}, false, "error", false, ""}, + {"BadSchedule", proj, "allow", "* * *", "1h", []string{"app1"}, []string{}, []string{}, false, "error", false, ""}, + {"BadDuration", proj, "deny", "* * * * *", "33mm", []string{"app1"}, []string{}, []string{}, false, "error", false, ""}, + {"WorkingApplication", proj, "allow", "1 * * * *", "1h", []string{"app1"}, []string{}, []string{}, false, "noError", false, ""}, + {"WorkingNamespace", proj, "deny", "3 * * * *", "1h", []string{}, []string{}, []string{"cluster"}, false, "noError", false, ""}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { switch tt.want { case "error": - require.Error(t, tt.p.Spec.AddWindow(tt.k, tt.s, tt.d, tt.a, tt.n, tt.c, tt.m, tt.t)) + require.Error(t, tt.p.Spec.AddWindow(tt.k, tt.s, tt.d, tt.a, tt.n, tt.c, tt.m, tt.t, tt.o)) case "noError": - require.NoError(t, tt.p.Spec.AddWindow(tt.k, tt.s, tt.d, tt.a, tt.n, tt.c, tt.m, tt.t)) + require.NoError(t, tt.p.Spec.AddWindow(tt.k, tt.s, tt.d, tt.a, tt.n, tt.c, tt.m, tt.t, tt.o)) require.NoError(t, tt.p.Spec.DeleteWindow(0)) } }) @@ -2232,33 +2233,202 @@ func TestSyncWindows_Matches(t *testing.T) { app := newTestApp() t.Run("MatchNamespace", func(t *testing.T) { proj.Spec.SyncWindows[0].Namespaces = []string{"default"} + proj.Spec.SyncWindows[0].Clusters = nil + proj.Spec.SyncWindows[0].Applications = nil windows := proj.Spec.SyncWindows.Matches(app) assert.Len(t, *windows, 1) proj.Spec.SyncWindows[0].Namespaces = nil }) t.Run("MatchCluster", func(t *testing.T) { proj.Spec.SyncWindows[0].Clusters = []string{"cluster1"} + proj.Spec.SyncWindows[0].Namespaces = nil + proj.Spec.SyncWindows[0].Applications = nil windows := proj.Spec.SyncWindows.Matches(app) assert.Len(t, *windows, 1) proj.Spec.SyncWindows[0].Clusters = nil }) t.Run("MatchClusterName", func(t *testing.T) { proj.Spec.SyncWindows[0].Clusters = []string{"clusterName"} + proj.Spec.SyncWindows[0].Namespaces = nil + proj.Spec.SyncWindows[0].Applications = nil windows := proj.Spec.SyncWindows.Matches(app) assert.Len(t, *windows, 1) proj.Spec.SyncWindows[0].Clusters = nil }) t.Run("MatchAppName", func(t *testing.T) { proj.Spec.SyncWindows[0].Applications = []string{"test-app"} + proj.Spec.SyncWindows[0].Namespaces = nil + proj.Spec.SyncWindows[0].Clusters = nil + windows := proj.Spec.SyncWindows.Matches(app) + assert.Len(t, *windows, 1) + proj.Spec.SyncWindows[0].Applications = nil + }) + t.Run("MatchAppNameAndNamespace", func(t *testing.T) { + proj.Spec.SyncWindows[0].Applications = []string{"test-app"} + proj.Spec.SyncWindows[0].Namespaces = []string{"default"} + proj.Spec.SyncWindows[0].Clusters = nil + windows := proj.Spec.SyncWindows.Matches(app) + assert.Len(t, *windows, 1) + proj.Spec.SyncWindows[0].Applications = nil + proj.Spec.SyncWindows[0].Namespaces = nil + }) + t.Run("MatchAppNameAndClusterName", func(t *testing.T) { + proj.Spec.SyncWindows[0].Applications = []string{"test-app"} + proj.Spec.SyncWindows[0].Clusters = []string{"clusterName"} + proj.Spec.SyncWindows[0].Namespaces = nil + windows := proj.Spec.SyncWindows.Matches(app) + assert.Len(t, *windows, 1) + proj.Spec.SyncWindows[0].Applications = nil + proj.Spec.SyncWindows[0].Clusters = nil + }) + t.Run("MatchNamespaceAndClusterName", func(t *testing.T) { + proj.Spec.SyncWindows[0].Namespaces = []string{"default"} + proj.Spec.SyncWindows[0].Clusters = []string{"clusterName"} + proj.Spec.SyncWindows[0].Applications = nil + windows := proj.Spec.SyncWindows.Matches(app) + assert.Len(t, *windows, 1) + proj.Spec.SyncWindows[0].Namespaces = nil + proj.Spec.SyncWindows[0].Clusters = nil + }) + t.Run("MatchAppNameAndNamespaceAndClusterName", func(t *testing.T) { + proj.Spec.SyncWindows[0].Applications = []string{"test-app"} + proj.Spec.SyncWindows[0].Namespaces = []string{"default"} + proj.Spec.SyncWindows[0].Clusters = []string{"clusterName"} windows := proj.Spec.SyncWindows.Matches(app) assert.Len(t, *windows, 1) proj.Spec.SyncWindows[0].Applications = nil + proj.Spec.SyncWindows[0].Namespaces = nil + proj.Spec.SyncWindows[0].Clusters = nil }) t.Run("MatchWildcardAppName", func(t *testing.T) { proj.Spec.SyncWindows[0].Applications = []string{"test-*"} + proj.Spec.SyncWindows[0].Clusters = nil + proj.Spec.SyncWindows[0].Namespaces = nil + windows := proj.Spec.SyncWindows.Matches(app) + assert.Len(t, *windows, 1) + proj.Spec.SyncWindows[0].Applications = nil + }) + t.Run("MatchWildcardAppNameAndNamespace", func(t *testing.T) { + proj.Spec.SyncWindows[0].Applications = []string{"test-*"} + proj.Spec.SyncWindows[0].Namespaces = []string{"default"} + proj.Spec.SyncWindows[0].Clusters = nil + windows := proj.Spec.SyncWindows.Matches(app) + assert.Len(t, *windows, 1) + proj.Spec.SyncWindows[0].Applications = nil + proj.Spec.SyncWindows[0].Namespaces = nil + }) + t.Run("MatchWildcardAppNameAndWildcardClusterName", func(t *testing.T) { + proj.Spec.SyncWindows[0].Applications = []string{"test-*"} + proj.Spec.SyncWindows[0].Clusters = []string{"clusterN*"} + proj.Spec.SyncWindows[0].Namespaces = nil windows := proj.Spec.SyncWindows.Matches(app) assert.Len(t, *windows, 1) proj.Spec.SyncWindows[0].Applications = nil + proj.Spec.SyncWindows[0].Clusters = nil + }) + t.Run("NoMatch", func(t *testing.T) { + windows := proj.Spec.SyncWindows.Matches(app) + assert.Nil(t, windows) + }) +} + +func TestSyncWindows_Matches_AND_Operator(t *testing.T) { + proj := newTestProjectWithSyncWindowsAndOperator() + app := newTestApp() + t.Run("MatchNamespace", func(t *testing.T) { + proj.Spec.SyncWindows[0].Namespaces = []string{"default"} + proj.Spec.SyncWindows[0].Clusters = nil + proj.Spec.SyncWindows[0].Applications = nil + windows := proj.Spec.SyncWindows.Matches(app) + assert.Len(t, *windows, 1) + proj.Spec.SyncWindows[0].Namespaces = nil + }) + t.Run("MatchCluster", func(t *testing.T) { + proj.Spec.SyncWindows[0].Clusters = []string{"cluster1"} + proj.Spec.SyncWindows[0].Namespaces = nil + proj.Spec.SyncWindows[0].Applications = nil + windows := proj.Spec.SyncWindows.Matches(app) + assert.Len(t, *windows, 1) + proj.Spec.SyncWindows[0].Clusters = nil + }) + t.Run("MatchClusterName", func(t *testing.T) { + proj.Spec.SyncWindows[0].Clusters = []string{"clusterName"} + proj.Spec.SyncWindows[0].Namespaces = nil + proj.Spec.SyncWindows[0].Applications = nil + windows := proj.Spec.SyncWindows.Matches(app) + assert.Len(t, *windows, 1) + proj.Spec.SyncWindows[0].Clusters = nil + }) + t.Run("MatchAppName", func(t *testing.T) { + proj.Spec.SyncWindows[0].Applications = []string{"test-app"} + proj.Spec.SyncWindows[0].Namespaces = nil + proj.Spec.SyncWindows[0].Clusters = nil + windows := proj.Spec.SyncWindows.Matches(app) + assert.Len(t, *windows, 1) + proj.Spec.SyncWindows[0].Applications = nil + }) + t.Run("MatchAppNameAndNamespace", func(t *testing.T) { + proj.Spec.SyncWindows[0].Applications = []string{"test-app"} + proj.Spec.SyncWindows[0].Namespaces = []string{"default"} + proj.Spec.SyncWindows[0].Clusters = nil + windows := proj.Spec.SyncWindows.Matches(app) + assert.Len(t, *windows, 1) + proj.Spec.SyncWindows[0].Applications = nil + proj.Spec.SyncWindows[0].Namespaces = nil + }) + t.Run("MatchAppNameAndClusterName", func(t *testing.T) { + proj.Spec.SyncWindows[0].Applications = []string{"test-app"} + proj.Spec.SyncWindows[0].Clusters = []string{"clusterName"} + proj.Spec.SyncWindows[0].Namespaces = nil + windows := proj.Spec.SyncWindows.Matches(app) + assert.Len(t, *windows, 1) + proj.Spec.SyncWindows[0].Applications = nil + proj.Spec.SyncWindows[0].Clusters = nil + }) + t.Run("MatchNamespaceAndClusterName", func(t *testing.T) { + proj.Spec.SyncWindows[0].Namespaces = []string{"default"} + proj.Spec.SyncWindows[0].Clusters = []string{"clusterName"} + proj.Spec.SyncWindows[0].Applications = nil + windows := proj.Spec.SyncWindows.Matches(app) + assert.Len(t, *windows, 1) + proj.Spec.SyncWindows[0].Namespaces = nil + proj.Spec.SyncWindows[0].Clusters = nil + }) + t.Run("MatchAppNameAndNamespaceAndClusterName", func(t *testing.T) { + proj.Spec.SyncWindows[0].Applications = []string{"test-app"} + proj.Spec.SyncWindows[0].Namespaces = []string{"default"} + proj.Spec.SyncWindows[0].Clusters = []string{"clusterName"} + windows := proj.Spec.SyncWindows.Matches(app) + assert.Len(t, *windows, 1) + proj.Spec.SyncWindows[0].Applications = nil + proj.Spec.SyncWindows[0].Namespaces = nil + proj.Spec.SyncWindows[0].Clusters = nil + }) + t.Run("MatchWildcardAppName", func(t *testing.T) { + proj.Spec.SyncWindows[0].Applications = []string{"test-*"} + proj.Spec.SyncWindows[0].Clusters = nil + proj.Spec.SyncWindows[0].Namespaces = nil + windows := proj.Spec.SyncWindows.Matches(app) + assert.Len(t, *windows, 1) + proj.Spec.SyncWindows[0].Applications = nil + }) + t.Run("MatchWildcardAppNameAndNamespace", func(t *testing.T) { + proj.Spec.SyncWindows[0].Applications = []string{"test-*"} + proj.Spec.SyncWindows[0].Namespaces = []string{"default"} + proj.Spec.SyncWindows[0].Clusters = nil + windows := proj.Spec.SyncWindows.Matches(app) + assert.Len(t, *windows, 1) + proj.Spec.SyncWindows[0].Applications = nil + proj.Spec.SyncWindows[0].Namespaces = nil + }) + t.Run("MatchWildcardAppNameAndWildcardClusterName", func(t *testing.T) { + proj.Spec.SyncWindows[0].Applications = []string{"test-*"} + proj.Spec.SyncWindows[0].Clusters = []string{"clusterN*"} + proj.Spec.SyncWindows[0].Namespaces = nil + windows := proj.Spec.SyncWindows.Matches(app) + assert.Len(t, *windows, 1) + proj.Spec.SyncWindows[0].Applications = nil + proj.Spec.SyncWindows[0].Clusters = nil }) t.Run("NoMatch", func(t *testing.T) { windows := proj.Spec.SyncWindows.Matches(app) @@ -2878,35 +3048,41 @@ func (b *projectBuilder) build() *AppProject { } func (b *projectBuilder) withActiveAllowWindow(allowManual bool) *projectBuilder { - window := newSyncWindow("allow", "* * * * *", allowManual) + window := newSyncWindow("allow", "* * * * *", allowManual, false) + b.proj.Spec.SyncWindows = append(b.proj.Spec.SyncWindows, window) + return b +} + +func (b *projectBuilder) withActiveAllowWindowAndOperator(allowManual bool, andOperator bool) *projectBuilder { + window := newSyncWindow("allow", "* * * * *", allowManual, andOperator) b.proj.Spec.SyncWindows = append(b.proj.Spec.SyncWindows, window) return b } func (b *projectBuilder) withInactiveAllowWindow(allowManual bool) *projectBuilder { - window := newSyncWindow("allow", inactiveCronSchedule(), allowManual) + window := newSyncWindow("allow", inactiveCronSchedule(), allowManual, false) b.proj.Spec.SyncWindows = append(b.proj.Spec.SyncWindows, window) return b } func (b *projectBuilder) withActiveDenyWindow(allowManual bool) *projectBuilder { - window := newSyncWindow("deny", "* * * * *", allowManual) + window := newSyncWindow("deny", "* * * * *", allowManual, false) b.proj.Spec.SyncWindows = append(b.proj.Spec.SyncWindows, window) return b } func (b *projectBuilder) withInactiveDenyWindow(allowManual bool) *projectBuilder { - window := newSyncWindow("deny", inactiveCronSchedule(), allowManual) + window := newSyncWindow("deny", inactiveCronSchedule(), allowManual, false) b.proj.Spec.SyncWindows = append(b.proj.Spec.SyncWindows, window) return b } func (b *projectBuilder) withInvalidWindows() *projectBuilder { b.proj.Spec.SyncWindows = append(b.proj.Spec.SyncWindows, - newSyncWindow("allow", "* 10 * * 7", false), - newSyncWindow("deny", "* 10 * * 7", false), - newSyncWindow("allow", "* 10 * * 7", true), - newSyncWindow("deny", "* 10 * * 7", true), + newSyncWindow("allow", "* 10 * * 7", false, false), + newSyncWindow("deny", "* 10 * * 7", false, false), + newSyncWindow("allow", "* 10 * * 7", true, false), + newSyncWindow("deny", "* 10 * * 7", true, false), ) return b } @@ -2916,14 +3092,15 @@ func inactiveCronSchedule() string { return fmt.Sprintf("0 %d * * *", hourPlus10) } -func newSyncWindow(kind, schedule string, allowManual bool) *SyncWindow { +func newSyncWindow(kind, schedule string, allowManual bool, andOperator bool) *SyncWindow { return &SyncWindow{ - Kind: kind, - Schedule: schedule, - Duration: "1h", - Applications: []string{"app1"}, - Namespaces: []string{"public"}, - ManualSync: allowManual, + Kind: kind, + Schedule: schedule, + Duration: "1h", + Applications: []string{"app1"}, + Namespaces: []string{"public"}, + ManualSync: allowManual, + UseAndOperator: andOperator, } } @@ -2931,6 +3108,10 @@ func newTestProjectWithSyncWindows() *AppProject { return newProjectBuilder().withActiveAllowWindow(false).build() } +func newTestProjectWithSyncWindowsAndOperator() *AppProject { + return newProjectBuilder().withActiveAllowWindowAndOperator(false, true).build() +} + func newTestApp() *Application { a := &Application{ ObjectMeta: metav1.ObjectMeta{Name: "test-app"}, @@ -3133,7 +3314,7 @@ func TestSetConditions(t *testing.T) { // to match positions. func assertConditions(t *testing.T, expected []ApplicationCondition, actual []ApplicationCondition) { t.Helper() - assert.Equal(t, len(expected), len(actual)) + assert.Len(t, actual, len(expected)) for i := range expected { assert.Equal(t, expected[i].Type, actual[i].Type) assert.Equal(t, expected[i].Message, actual[i].Message) diff --git a/reposerver/cache/cache_test.go b/reposerver/cache/cache_test.go index 2824b989d80b4..f55456911bb08 100644 --- a/reposerver/cache/cache_test.go +++ b/reposerver/cache/cache_test.go @@ -317,7 +317,7 @@ func TestCachedManifestResponse_ShallowCopyExpectedFields(t *testing.T) { "numberOfConsecutiveFailures", "numberOfCachedResponsesReturned", } - assert.Equal(t, len(jsonMap), len(expectedFields)) + assert.Len(t, jsonMap, len(expectedFields)) // If this test failed, you probably also forgot to update CachedManifestResponse.shallowCopy(), so // go do that first :) diff --git a/server/application/application.go b/server/application/application.go index c6568187edf1a..32008a2e7e33f 100644 --- a/server/application/application.go +++ b/server/application/application.go @@ -12,6 +12,8 @@ import ( "strings" "time" + cacheutil "github.com/argoproj/argo-cd/v3/util/cache" + kubecache "github.com/argoproj/gitops-engine/pkg/cache" "github.com/argoproj/gitops-engine/pkg/diff" "github.com/argoproj/gitops-engine/pkg/sync/common" @@ -68,7 +70,10 @@ const ( foregroundPropagationPolicy string = "foreground" ) -var watchAPIBufferSize = env.ParseNumFromEnv(argocommon.EnvWatchAPIBufferSize, 1000, 0, math.MaxInt32) +var ( + ErrCacheMiss = cacheutil.ErrCacheMiss + watchAPIBufferSize = env.ParseNumFromEnv(argocommon.EnvWatchAPIBufferSize, 1000, 0, math.MaxInt32) +) // Server provides an Application service type Server struct { @@ -1337,6 +1342,9 @@ func (s *Server) getAppResources(ctx context.Context, a *v1alpha1.Application) ( return s.cache.GetAppResourcesTree(a.InstanceName(s.ns), &tree) }) if err != nil { + if errors.Is(err, ErrCacheMiss) { + fmt.Println("Cache Key is missing.\nEnsure that the Redis compression setting on the Application controller and CLI is same. See --redis-compress.") + } return &tree, fmt.Errorf("error getting cached app resource tree: %w", err) } return &tree, nil diff --git a/server/applicationset/applicationset.go b/server/applicationset/applicationset.go index ac163282959fc..a1cb128369649 100644 --- a/server/applicationset/applicationset.go +++ b/server/applicationset/applicationset.go @@ -267,15 +267,7 @@ func (s *Server) generateApplicationSetApps(ctx context.Context, logEntry *log.E argoCDDB := s.db scmConfig := generators.NewSCMConfig(s.ScmRootCAPath, s.AllowedScmProviders, s.EnableScmProviders, github_app.NewAuthCredentials(argoCDDB.(db.RepoCredsDB)), true) - - getRepository := func(ctx context.Context, url, project string) (*v1alpha1.Repository, error) { - return s.db.GetRepository(ctx, url, project) - } - argoCDService, err := services.NewArgoCDService(getRepository, s.GitSubmoduleEnabled, s.repoClientSet, s.EnableNewGitFileGlobbing) - if err != nil { - return nil, fmt.Errorf("error creating ArgoCDService: %w", err) - } - + argoCDService := services.NewArgoCDService(s.db, s.GitSubmoduleEnabled, s.repoClientSet, s.EnableNewGitFileGlobbing) appSetGenerators := generators.GetGenerators(ctx, s.client, s.k8sClient, namespace, argoCDService, s.dynamicClient, scmConfig) apps, _, err := appsettemplate.GenerateApplications(logEntry, appset, appSetGenerators, &appsetutils.Render{}, s.client) diff --git a/server/cache/cache_test.go b/server/cache/cache_test.go index 22ec5210ccc8d..f22d760177b67 100644 --- a/server/cache/cache_test.go +++ b/server/cache/cache_test.go @@ -43,9 +43,6 @@ func TestCache_GetRepoConnectionState(t *testing.T) { // populate cache err = cache.SetRepoConnectionState("my-repo", "some-project", &ConnectionState{Status: "my-project-state"}) require.NoError(t, err) - // cache miss - _, err = cache.GetRepoConnectionState("other-repo", "") - assert.Equal(t, ErrCacheMiss, err) // cache hit value, err := cache.GetRepoConnectionState("my-repo", "") require.NoError(t, err) diff --git a/server/cluster/cluster_test.go b/server/cluster/cluster_test.go index 2640168d0b613..261b958bc2e9a 100644 --- a/server/cluster/cluster_test.go +++ b/server/cluster/cluster_test.go @@ -707,11 +707,12 @@ func TestListCluster(t *testing.T) { t.Parallel() got, err := s.List(context.Background(), tt.q) - if (err != nil) != tt.wantErr { - t.Errorf("Server.List() error = %v, wantErr %v", err, tt.wantErr) - return + if tt.wantErr { + assert.Error(t, err, "Server.List()") + } else { + require.NoError(t, err) + assert.Truef(t, reflect.DeepEqual(got, tt.want), "Server.List() = %v, want %v", got, tt.want) } - assert.Truef(t, reflect.DeepEqual(got, tt.want), "Server.List() = %v, want %v", got, tt.want) }) } } diff --git a/server/extension/extension.go b/server/extension/extension.go index 29b6449009bf2..53564f3a692a8 100644 --- a/server/extension/extension.go +++ b/server/extension/extension.go @@ -642,6 +642,14 @@ func appendProxy(registry ProxyRegistry, } registry[key] = proxy } + if service.Cluster.Name != "" && service.Cluster.Server != "" { + key := proxyKey(extName, service.Cluster.Name, service.Cluster.Server) + if _, exist := registry[key]; exist { + return fmt.Errorf("duplicated proxy configuration found for extension key %q", key) + } + registry[key] = proxy + } + return nil } @@ -773,7 +781,14 @@ func (m *Manager) CallExtension() func(http.ResponseWriter, *http.Request) { user := m.userGetter.GetUser(r.Context()) groups := m.userGetter.GetGroups(r.Context()) prepareRequest(r, m.namespace, extName, app, user, groups) - m.log.Debugf("proxing request for extension %q", extName) + m.log.WithFields(log.Fields{ + HeaderArgoCDUsername: user, + HeaderArgoCDGroups: strings.Join(groups, ","), + HeaderArgoCDNamespace: m.namespace, + HeaderArgoCDApplicationName: fmt.Sprintf("%s:%s", app.GetNamespace(), app.GetName()), + "extension": extName, + "path": r.URL.Path, + }).Info("sending proxy extension request") // httpsnoop package is used to properly wrap the responseWriter // and avoid optional intefaces issue: // https://github.com/felixge/httpsnoop#why-this-package-exists diff --git a/server/extension/extension_test.go b/server/extension/extension_test.go index 9f4418c970cd3..753672e6ff772 100644 --- a/server/extension/extension_test.go +++ b/server/extension/extension_test.go @@ -360,7 +360,8 @@ func TestCallExtension(t *testing.T) { settings := &settings.ArgoCDSettings{ ExtensionConfig: map[string]string{ - "": configYaml, + "ephemeral": "services:\n- url: http://some-server.com", + "": configYaml, }, Secrets: secrets, } @@ -485,11 +486,13 @@ func TestCallExtension(t *testing.T) { response1 := "response backend 1" cluster1Name := "cluster1" + cluster1URL := "url1" beSrv1 := startBackendTestSrv(response1) defer beSrv1.Close() response2 := "response backend 2" - cluster2URL := "cluster2" + cluster2Name := "cluster2" + cluster2URL := "url2" beSrv2 := startBackendTestSrv(response2) defer beSrv2.Close() @@ -497,7 +500,7 @@ func TestCallExtension(t *testing.T) { f.appGetterMock.On("Get", "ns2", "app2").Return(getApp("", cluster2URL, defaultProjectName), nil) withRbac(f, true, true) - withExtensionConfig(getExtensionConfigWith2Backends(extName, beSrv1.URL, cluster1Name, beSrv2.URL, cluster2URL), f) + withExtensionConfig(getExtensionConfigWith2Backends(extName, beSrv1.URL, cluster1Name, cluster1URL, beSrv2.URL, cluster2Name, cluster2URL), f) withProject(getProjectWithDestinations("project-name", []string{cluster1Name}, []string{cluster2URL}), f) withMetrics(f) withUser(f, "some-user", []string{"group1", "group2"}) @@ -677,7 +680,7 @@ func TestCallExtension(t *testing.T) { f.appGetterMock.On("Get", "ns1", "app1").Return(getApp(maliciousName, destinationServer, defaultProjectName), nil) withRbac(f, true, true) - withExtensionConfig(getExtensionConfigWith2Backends(extName, "url1", "clusterName", "url2", "clusterURL"), f) + withExtensionConfig(getExtensionConfigWith2Backends(extName, "url1", "cluster1Name", "cluster1URL", "url2", "cluster2Name", "cluster2URL"), f) withProject(getProjectWithDestinations("project-name", nil, []string{"srv1", destinationServer}), f) withMetrics(f) withUser(f, "some-user", []string{"group1", "group2"}) @@ -744,7 +747,7 @@ extensions: return fmt.Sprintf(cfg, name, url) } -func getExtensionConfigWith2Backends(name, url1, clusName, url2, clusURL string) string { +func getExtensionConfigWith2Backends(name, url1, clus1Name, clus1URL, url2, clus2Name, clus2URL string) string { cfg := ` extensions: - name: %s @@ -756,17 +759,22 @@ extensions: value: '$extension.auth.header' cluster: name: %s + server: %s - url: %s headers: - name: Authorization value: '$extension.auth.header2' cluster: + name: %s server: %s + - url: http://test.com + cluster: + name: cl1 + - url: http://test2.com + cluster: + name: cl2 ` - // second extension is configured with the cluster url rather - // than the cluster name so we can validate that both use-cases - // are working - return fmt.Sprintf(cfg, name, url1, clusName, url2, clusURL) + return fmt.Sprintf(cfg, name, url1, clus1Name, clus1URL, url2, clus2Name, clus2URL) } func getExtensionConfigString() string { diff --git a/test/container/Dockerfile b/test/container/Dockerfile index b99f448d8ffc2..0495d34935ce1 100644 --- a/test/container/Dockerfile +++ b/test/container/Dockerfile @@ -8,7 +8,7 @@ RUN ln -s /usr/lib/$(uname -m)-linux-gnu /usr/lib/linux-gnu # Please make sure to also check the contained yarn version and update the references below when upgrading this image's version FROM docker.io/library/node:22.9.0@sha256:69e667a79aa41ec0db50bc452a60e705ca16f35285eaf037ebe627a65a5cdf52 AS node -FROM docker.io/library/golang:1.23.5@sha256:51a6466e8dbf3e00e422eb0f7a97ac450b2d57b33617bbe8d2ee0bddcd9d0d37 AS golang +FROM docker.io/library/golang:1.23.6@sha256:b2a6f50140dcd176e41f0033fcd0fbe0a3ac300fcbde75eaaef76e832cb02496 AS golang FROM docker.io/library/registry:2.8@sha256:543dade69668e02e5768d7ea2b0aa4fae6aa7384c9a5a8dbecc2be5136079ddb AS registry @@ -104,13 +104,15 @@ RUN userdel -r ubuntu && \ HOME=/home/user git config --global user.name "ArgoCD Test User" && \ HOME=/home/user git config --global user.email "noreply@example.com" && \ HOME=/home/user git config --global --add safe.directory '*' && \ + mkdir -p /go/src && \ mkdir -p /go/pkg && \ + chown -R user:user /go && \ mkdir -p /var/run/sshd && \ mkdir -p /root/.ssh && \ - mkdir -p /go && \ chown root /etc/ssh/ssh_host_*_key* && \ chmod 0600 /etc/ssh/ssh_host_*_key && \ mkdir -p /tmp/go-build-cache && \ + chown -R user:user /tmp/go-build-cache && \ ln -s /usr/local/bin/node /usr/local/bin/nodejs && \ ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && \ ln -s /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx && \ diff --git a/test/e2e/app_management_ns_test.go b/test/e2e/app_management_ns_test.go index 07ab6416f1e69..e61b3891d52bd 100644 --- a/test/e2e/app_management_ns_test.go +++ b/test/e2e/app_management_ns_test.go @@ -971,7 +971,7 @@ func TestNamespacedSyncResourceByLabel(t *testing.T) { Expect(SyncStatusIs(SyncStatusCodeSynced)). And(func(_ *Application) { _, err := fixture.RunCli("app", "sync", ctx.AppQualifiedName(), "--label", "this-label=does-not-exist") - assert.ErrorContains(t, err, "level=fatal") + assert.ErrorContains(t, err, "\"level\":\"fatal\"") }) } diff --git a/test/e2e/app_management_test.go b/test/e2e/app_management_test.go index c6b753d916fad..b40b8b6a1005e 100644 --- a/test/e2e/app_management_test.go +++ b/test/e2e/app_management_test.go @@ -1375,7 +1375,7 @@ func TestSyncResourceByLabel(t *testing.T) { Expect(SyncStatusIs(SyncStatusCodeSynced)). And(func(app *Application) { _, err := fixture.RunCli("app", "sync", app.Name, "--label", "this-label=does-not-exist") - assert.ErrorContains(t, err, "level=fatal") + assert.ErrorContains(t, err, "\"level\":\"fatal\"") }) } @@ -1392,7 +1392,7 @@ func TestSyncResourceByProject(t *testing.T) { Expect(SyncStatusIs(SyncStatusCodeSynced)). And(func(app *Application) { _, err := fixture.RunCli("app", "sync", app.Name, "--project", "this-project-does-not-exist") - assert.ErrorContains(t, err, "level=fatal") + assert.ErrorContains(t, err, "\"level\":\"fatal\"") }) } diff --git a/test/e2e/app_multiple_sources_test.go b/test/e2e/app_multiple_sources_test.go index 8d1d866c62d50..30c8e6bdce1ef 100644 --- a/test/e2e/app_multiple_sources_test.go +++ b/test/e2e/app_multiple_sources_test.go @@ -286,12 +286,10 @@ func TestMultiSourceApptErrorWhenSourceNameAndSourcePosition(t *testing.T) { Expect(Event(EventReasonResourceCreated, "create")). And(func(_ *Application) { _, err := RunCli("app", "get", Name(), "--source-name", sources[1].Name, "--source-position", "1") - require.Error(t, err) - assert.Contains(t, err.Error(), "Only one of source-position and source-name can be specified.") + assert.ErrorContains(t, err, "Only one of source-position and source-name can be specified.") }). And(func(_ *Application) { _, err := RunCli("app", "manifests", Name(), "--revisions", "0.0.2", "--source-names", sources[0].Name, "--revisions", "0.0.2", "--source-positions", "1") - require.Error(t, err) - assert.Contains(t, err.Error(), "Only one of source-positions and source-names can be specified.") + assert.ErrorContains(t, err, "Only one of source-positions and source-names can be specified.") }) } diff --git a/test/e2e/applicationset_git_generator_test.go b/test/e2e/applicationset_git_generator_test.go new file mode 100644 index 0000000000000..0d3007661b6af --- /dev/null +++ b/test/e2e/applicationset_git_generator_test.go @@ -0,0 +1,1538 @@ +package e2e + +import ( + "context" + "strings" + "testing" + "time" + + "github.com/argoproj/pkg/rand" + "github.com/redis/go-redis/v9" + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1" + "github.com/argoproj/argo-cd/v3/test/e2e/fixture" + + "github.com/argoproj/argo-cd/v3/pkg/apis/application" + . "github.com/argoproj/argo-cd/v3/test/e2e/fixture/applicationsets" + "github.com/argoproj/argo-cd/v3/test/e2e/fixture/applicationsets/utils" +) + +func TestSimpleGitDirectoryGenerator(t *testing.T) { + generateExpectedApp := func(name string) v1alpha1.Application { + return v1alpha1.Application{ + TypeMeta: metav1.TypeMeta{ + Kind: application.ApplicationKind, + APIVersion: "argoproj.io/v1alpha1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: fixture.TestNamespace(), + Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, + }, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + TargetRevision: "HEAD", + Path: name, + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: name, + }, + }, + } + } + + expectedApps := []v1alpha1.Application{ + generateExpectedApp("kustomize-guestbook"), + generateExpectedApp("helm-guestbook"), + } + + var expectedAppsNewNamespace []v1alpha1.Application + var expectedAppsNewMetadata []v1alpha1.Application + + Given(t). + When(). + // Create a GitGenerator-based ApplicationSet + Create(v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "simple-git-generator", + }, + Spec: v1alpha1.ApplicationSetSpec{ + Template: v1alpha1.ApplicationSetTemplate{ + ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{path.basename}}"}, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + TargetRevision: "HEAD", + Path: "{{path}}", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "{{path.basename}}", + }, + }, + }, + Generators: []v1alpha1.ApplicationSetGenerator{ + { + Git: &v1alpha1.GitGenerator{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + Directories: []v1alpha1.GitDirectoryGeneratorItem{ + { + Path: "*guestbook*", + }, + }, + }, + }, + }, + }, + }).Then().Expect(ApplicationsExist(expectedApps)). + + // Update the ApplicationSet template namespace, and verify it updates the Applications + When(). + And(func() { + for _, expectedApp := range expectedApps { + newExpectedApp := expectedApp.DeepCopy() + newExpectedApp.Spec.Destination.Namespace = "guestbook2" + expectedAppsNewNamespace = append(expectedAppsNewNamespace, *newExpectedApp) + } + }). + Update(func(appset *v1alpha1.ApplicationSet) { + appset.Spec.Template.Spec.Destination.Namespace = "guestbook2" + }).Then().Expect(ApplicationsExist(expectedAppsNewNamespace)). + + // Update the metadata fields in the appset template, and make sure it propagates to the apps + When(). + And(func() { + for _, expectedApp := range expectedAppsNewNamespace { + expectedAppNewMetadata := expectedApp.DeepCopy() + expectedAppNewMetadata.ObjectMeta.Annotations = map[string]string{"annotation-key": "annotation-value"} + expectedAppNewMetadata.ObjectMeta.Labels = map[string]string{"label-key": "label-value"} + expectedAppsNewMetadata = append(expectedAppsNewMetadata, *expectedAppNewMetadata) + } + }). + Update(func(appset *v1alpha1.ApplicationSet) { + appset.Spec.Template.Annotations = map[string]string{"annotation-key": "annotation-value"} + appset.Spec.Template.Labels = map[string]string{"label-key": "label-value"} + }).Then().Expect(ApplicationsExist(expectedAppsNewMetadata)). + + // verify the ApplicationSet status conditions were set correctly + Expect(ApplicationSetHasConditions("simple-git-generator", ExpectedConditions)). + + // Delete the ApplicationSet, and verify it deletes the Applications + When(). + Delete().Then().Expect(ApplicationsDoNotExist(expectedAppsNewNamespace)) +} + +func TestSimpleGitDirectoryGeneratorGoTemplate(t *testing.T) { + generateExpectedApp := func(name string) v1alpha1.Application { + return v1alpha1.Application{ + TypeMeta: metav1.TypeMeta{ + Kind: application.ApplicationKind, + APIVersion: "argoproj.io/v1alpha1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: fixture.TestNamespace(), + Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, + }, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + TargetRevision: "HEAD", + Path: name, + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: name, + }, + }, + } + } + + expectedApps := []v1alpha1.Application{ + generateExpectedApp("kustomize-guestbook"), + generateExpectedApp("helm-guestbook"), + } + + var expectedAppsNewNamespace []v1alpha1.Application + var expectedAppsNewMetadata []v1alpha1.Application + + Given(t). + When(). + // Create a GitGenerator-based ApplicationSet + Create(v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "simple-git-generator", + }, + Spec: v1alpha1.ApplicationSetSpec{ + GoTemplate: true, + Template: v1alpha1.ApplicationSetTemplate{ + ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{.path.basename}}"}, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + TargetRevision: "HEAD", + Path: "{{.path.path}}", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "{{.path.basename}}", + }, + }, + }, + Generators: []v1alpha1.ApplicationSetGenerator{ + { + Git: &v1alpha1.GitGenerator{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + Directories: []v1alpha1.GitDirectoryGeneratorItem{ + { + Path: "*guestbook*", + }, + }, + }, + }, + }, + }, + }).Then().Expect(ApplicationsExist(expectedApps)). + + // Update the ApplicationSet template namespace, and verify it updates the Applications + When(). + And(func() { + for _, expectedApp := range expectedApps { + newExpectedApp := expectedApp.DeepCopy() + newExpectedApp.Spec.Destination.Namespace = "guestbook2" + expectedAppsNewNamespace = append(expectedAppsNewNamespace, *newExpectedApp) + } + }). + Update(func(appset *v1alpha1.ApplicationSet) { + appset.Spec.Template.Spec.Destination.Namespace = "guestbook2" + }).Then().Expect(ApplicationsExist(expectedAppsNewNamespace)). + + // Update the metadata fields in the appset template, and make sure it propagates to the apps + When(). + And(func() { + for _, expectedApp := range expectedAppsNewNamespace { + expectedAppNewMetadata := expectedApp.DeepCopy() + expectedAppNewMetadata.ObjectMeta.Annotations = map[string]string{"annotation-key": "annotation-value"} + expectedAppNewMetadata.ObjectMeta.Labels = map[string]string{"label-key": "label-value"} + expectedAppsNewMetadata = append(expectedAppsNewMetadata, *expectedAppNewMetadata) + } + }). + Update(func(appset *v1alpha1.ApplicationSet) { + appset.Spec.Template.Annotations = map[string]string{"annotation-key": "annotation-value"} + appset.Spec.Template.Labels = map[string]string{"label-key": "label-value"} + }).Then().Expect(ApplicationsExist(expectedAppsNewMetadata)). + + // verify the ApplicationSet status conditions were set correctly + Expect(ApplicationSetHasConditions("simple-git-generator", ExpectedConditions)). + + // Delete the ApplicationSet, and verify it deletes the Applications + When(). + Delete().Then().Expect(ApplicationsDoNotExist(expectedAppsNewNamespace)) +} + +func TestSimpleGitDirectoryGeneratorGPGEnabledUnsignedCommits(t *testing.T) { + fixture.SkipOnEnv(t, "GPG") + expectedErrorMessage := `error generating params from git: error getting directories from repo: error retrieving Git Directories: rpc error: code = Unknown desc = permission denied` + expectedConditionsParamsError := []v1alpha1.ApplicationSetCondition{ + { + Type: v1alpha1.ApplicationSetConditionErrorOccurred, + Status: v1alpha1.ApplicationSetConditionStatusTrue, + Message: expectedErrorMessage, + Reason: v1alpha1.ApplicationSetReasonApplicationParamsGenerationError, + }, + { + Type: v1alpha1.ApplicationSetConditionParametersGenerated, + Status: v1alpha1.ApplicationSetConditionStatusFalse, + Message: expectedErrorMessage, + Reason: v1alpha1.ApplicationSetReasonErrorOccurred, + }, + { + Type: v1alpha1.ApplicationSetConditionResourcesUpToDate, + Status: v1alpha1.ApplicationSetConditionStatusFalse, + Message: expectedErrorMessage, + Reason: v1alpha1.ApplicationSetReasonApplicationParamsGenerationError, + }, + } + generateExpectedApp := func(name string) v1alpha1.Application { + return v1alpha1.Application{ + TypeMeta: metav1.TypeMeta{ + Kind: application.ApplicationKind, + APIVersion: "argoproj.io/v1alpha1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: fixture.TestNamespace(), + Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, + }, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + TargetRevision: "HEAD", + Path: name, + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: name, + }, + }, + } + } + + expectedApps := []v1alpha1.Application{ + generateExpectedApp("guestbook"), + } + project := "gpg" + + Given(t). + Project(project). + When(). + // Create a GitGenerator-based ApplicationSet + Create(v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "simple-git-generator", + }, + Spec: v1alpha1.ApplicationSetSpec{ + Template: v1alpha1.ApplicationSetTemplate{ + ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{path.basename}}"}, + Spec: v1alpha1.ApplicationSpec{ + Project: project, + Source: &v1alpha1.ApplicationSource{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + TargetRevision: "HEAD", + Path: "{{path}}", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "{{path.basename}}", + }, + }, + }, + Generators: []v1alpha1.ApplicationSetGenerator{ + { + Git: &v1alpha1.GitGenerator{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + Directories: []v1alpha1.GitDirectoryGeneratorItem{ + { + Path: guestbookPath, + }, + }, + }, + }, + }, + }, + }). + Then().Expect(ApplicationsDoNotExist(expectedApps)). + // verify the ApplicationSet error status conditions were set correctly + Expect(ApplicationSetHasConditions("simple-git-generator", expectedConditionsParamsError)). + When(). + Delete().Then().Expect(ApplicationsDoNotExist(expectedApps)) +} + +func TestSimpleGitDirectoryGeneratorGPGEnabledWithoutKnownKeys(t *testing.T) { + fixture.SkipOnEnv(t, "GPG") + expectedErrorMessage := `error generating params from git: error getting directories from repo: error retrieving Git Directories: rpc error: code = Unknown desc = permission denied` + expectedConditionsParamsError := []v1alpha1.ApplicationSetCondition{ + { + Type: v1alpha1.ApplicationSetConditionErrorOccurred, + Status: v1alpha1.ApplicationSetConditionStatusTrue, + Message: expectedErrorMessage, + Reason: v1alpha1.ApplicationSetReasonApplicationParamsGenerationError, + }, + { + Type: v1alpha1.ApplicationSetConditionParametersGenerated, + Status: v1alpha1.ApplicationSetConditionStatusFalse, + Message: expectedErrorMessage, + Reason: v1alpha1.ApplicationSetReasonErrorOccurred, + }, + { + Type: v1alpha1.ApplicationSetConditionResourcesUpToDate, + Status: v1alpha1.ApplicationSetConditionStatusFalse, + Message: expectedErrorMessage, + Reason: v1alpha1.ApplicationSetReasonApplicationParamsGenerationError, + }, + } + generateExpectedApp := func(name string) v1alpha1.Application { + return v1alpha1.Application{ + TypeMeta: metav1.TypeMeta{ + Kind: application.ApplicationKind, + APIVersion: "argoproj.io/v1alpha1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: fixture.TestNamespace(), + Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, + }, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + TargetRevision: "HEAD", + Path: name, + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: name, + }, + }, + } + } + + expectedApps := []v1alpha1.Application{ + generateExpectedApp("guestbook"), + } + + project := "gpg" + + str, _ := rand.RandString(1) + + Given(t). + Project(project). + Path(guestbookPath). + When(). + AddSignedFile("test.yaml", str).IgnoreErrors(). + IgnoreErrors(). + // Create a GitGenerator-based ApplicationSet + Create(v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "simple-git-generator", + }, + Spec: v1alpha1.ApplicationSetSpec{ + Template: v1alpha1.ApplicationSetTemplate{ + ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{path.basename}}"}, + Spec: v1alpha1.ApplicationSpec{ + Project: project, + Source: &v1alpha1.ApplicationSource{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + TargetRevision: "HEAD", + Path: "{{path}}", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "{{path.basename}}", + }, + // Automatically create resources + SyncPolicy: &v1alpha1.SyncPolicy{ + Automated: &v1alpha1.SyncPolicyAutomated{}, + }, + }, + }, + Generators: []v1alpha1.ApplicationSetGenerator{ + { + Git: &v1alpha1.GitGenerator{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + Directories: []v1alpha1.GitDirectoryGeneratorItem{ + { + Path: guestbookPath, + }, + }, + }, + }, + }, + }, + }).Then(). + // verify the ApplicationSet error status conditions were set correctly + Expect(ApplicationSetHasConditions("simple-git-generator", expectedConditionsParamsError)). + Expect(ApplicationsDoNotExist(expectedApps)). + When(). + Delete().Then().Expect(ApplicationsDoNotExist(expectedApps)) +} + +func TestSimpleGitFilesGenerator(t *testing.T) { + generateExpectedApp := func(name string) v1alpha1.Application { + return v1alpha1.Application{ + TypeMeta: metav1.TypeMeta{ + Kind: application.ApplicationKind, + APIVersion: "argoproj.io/v1alpha1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: fixture.TestNamespace(), + Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, + }, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + TargetRevision: "HEAD", + Path: "guestbook", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "guestbook", + }, + }, + } + } + + expectedApps := []v1alpha1.Application{ + generateExpectedApp("engineering-dev-guestbook"), + generateExpectedApp("engineering-prod-guestbook"), + } + + var expectedAppsNewNamespace []v1alpha1.Application + var expectedAppsNewMetadata []v1alpha1.Application + + Given(t). + When(). + // Create a GitGenerator-based ApplicationSet + Create(v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "simple-git-generator", + }, + Spec: v1alpha1.ApplicationSetSpec{ + Template: v1alpha1.ApplicationSetTemplate{ + ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{cluster.name}}-guestbook"}, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + TargetRevision: "HEAD", + Path: "guestbook", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "guestbook", + }, + }, + }, + Generators: []v1alpha1.ApplicationSetGenerator{ + { + Git: &v1alpha1.GitGenerator{ + RepoURL: "https://github.com/argoproj/applicationset.git", + Files: []v1alpha1.GitFileGeneratorItem{ + { + Path: "examples/git-generator-files-discovery/cluster-config/**/config.json", + }, + }, + }, + }, + }, + }, + }).Then().Expect(ApplicationsExist(expectedApps)). + + // Update the ApplicationSet template namespace, and verify it updates the Applications + When(). + And(func() { + for _, expectedApp := range expectedApps { + newExpectedApp := expectedApp.DeepCopy() + newExpectedApp.Spec.Destination.Namespace = "guestbook2" + expectedAppsNewNamespace = append(expectedAppsNewNamespace, *newExpectedApp) + } + }). + Update(func(appset *v1alpha1.ApplicationSet) { + appset.Spec.Template.Spec.Destination.Namespace = "guestbook2" + }).Then().Expect(ApplicationsExist(expectedAppsNewNamespace)). + + // Update the metadata fields in the appset template, and make sure it propagates to the apps + When(). + And(func() { + for _, expectedApp := range expectedAppsNewNamespace { + expectedAppNewMetadata := expectedApp.DeepCopy() + expectedAppNewMetadata.ObjectMeta.Annotations = map[string]string{"annotation-key": "annotation-value"} + expectedAppNewMetadata.ObjectMeta.Labels = map[string]string{"label-key": "label-value"} + expectedAppsNewMetadata = append(expectedAppsNewMetadata, *expectedAppNewMetadata) + } + }). + Update(func(appset *v1alpha1.ApplicationSet) { + appset.Spec.Template.Annotations = map[string]string{"annotation-key": "annotation-value"} + appset.Spec.Template.Labels = map[string]string{"label-key": "label-value"} + }).Then().Expect(ApplicationsExist(expectedAppsNewMetadata)). + + // verify the ApplicationSet status conditions were set correctly + Expect(ApplicationSetHasConditions("simple-git-generator", ExpectedConditions)). + + // Delete the ApplicationSet, and verify it deletes the Applications + When(). + Delete().Then().Expect(ApplicationsDoNotExist(expectedAppsNewNamespace)) +} + +func TestSimpleGitFilesGeneratorGPGEnabledUnsignedCommits(t *testing.T) { + fixture.SkipOnEnv(t, "GPG") + expectedErrorMessage := `error generating params from git: error retrieving Git files: rpc error: code = Unknown desc = permission denied` + expectedConditionsParamsError := []v1alpha1.ApplicationSetCondition{ + { + Type: v1alpha1.ApplicationSetConditionErrorOccurred, + Status: v1alpha1.ApplicationSetConditionStatusTrue, + Message: expectedErrorMessage, + Reason: v1alpha1.ApplicationSetReasonApplicationParamsGenerationError, + }, + { + Type: v1alpha1.ApplicationSetConditionParametersGenerated, + Status: v1alpha1.ApplicationSetConditionStatusFalse, + Message: expectedErrorMessage, + Reason: v1alpha1.ApplicationSetReasonErrorOccurred, + }, + { + Type: v1alpha1.ApplicationSetConditionResourcesUpToDate, + Status: v1alpha1.ApplicationSetConditionStatusFalse, + Message: expectedErrorMessage, + Reason: v1alpha1.ApplicationSetReasonApplicationParamsGenerationError, + }, + } + project := "gpg" + generateExpectedApp := func(name string) v1alpha1.Application { + return v1alpha1.Application{ + TypeMeta: metav1.TypeMeta{ + Kind: application.ApplicationKind, + APIVersion: "argoproj.io/v1alpha1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: fixture.TestNamespace(), + Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, + }, + Spec: v1alpha1.ApplicationSpec{ + Project: project, + Source: &v1alpha1.ApplicationSource{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + TargetRevision: "HEAD", + Path: "guestbook", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "guestbook", + }, + }, + } + } + + expectedApps := []v1alpha1.Application{ + generateExpectedApp("engineering-dev-guestbook"), + generateExpectedApp("engineering-prod-guestbook"), + } + + Given(t). + Project(project). + When(). + // Create a GitGenerator-based ApplicationSet + Create(v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "simple-git-generator", + }, + Spec: v1alpha1.ApplicationSetSpec{ + Template: v1alpha1.ApplicationSetTemplate{ + ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{cluster.name}}-guestbook"}, + Spec: v1alpha1.ApplicationSpec{ + Project: project, + Source: &v1alpha1.ApplicationSource{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + TargetRevision: "HEAD", + Path: "guestbook", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "guestbook", + }, + }, + }, + Generators: []v1alpha1.ApplicationSetGenerator{ + { + Git: &v1alpha1.GitGenerator{ + RepoURL: "https://github.com/argoproj/applicationset.git", + Files: []v1alpha1.GitFileGeneratorItem{ + { + Path: "examples/git-generator-files-discovery/cluster-config/**/config.json", + }, + }, + }, + }, + }, + }, + }).Then().Expect(ApplicationsDoNotExist(expectedApps)). + // verify the ApplicationSet error status conditions were set correctly + Expect(ApplicationSetHasConditions("simple-git-generator", expectedConditionsParamsError)). + When(). + Delete().Then().Expect(ApplicationsDoNotExist(expectedApps)) +} + +func TestSimpleGitFilesGeneratorGPGEnabledWithoutKnownKeys(t *testing.T) { + fixture.SkipOnEnv(t, "GPG") + expectedErrorMessage := `error generating params from git: error retrieving Git files: rpc error: code = Unknown desc = permission denied` + expectedConditionsParamsError := []v1alpha1.ApplicationSetCondition{ + { + Type: v1alpha1.ApplicationSetConditionErrorOccurred, + Status: v1alpha1.ApplicationSetConditionStatusTrue, + Message: expectedErrorMessage, + Reason: v1alpha1.ApplicationSetReasonApplicationParamsGenerationError, + }, + { + Type: v1alpha1.ApplicationSetConditionParametersGenerated, + Status: v1alpha1.ApplicationSetConditionStatusFalse, + Message: expectedErrorMessage, + Reason: v1alpha1.ApplicationSetReasonErrorOccurred, + }, + { + Type: v1alpha1.ApplicationSetConditionResourcesUpToDate, + Status: v1alpha1.ApplicationSetConditionStatusFalse, + Message: expectedErrorMessage, + Reason: v1alpha1.ApplicationSetReasonApplicationParamsGenerationError, + }, + } + project := "gpg" + generateExpectedApp := func(name string) v1alpha1.Application { + return v1alpha1.Application{ + TypeMeta: metav1.TypeMeta{ + Kind: application.ApplicationKind, + APIVersion: "argoproj.io/v1alpha1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: fixture.TestNamespace(), + Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, + }, + Spec: v1alpha1.ApplicationSpec{ + Project: project, + Source: &v1alpha1.ApplicationSource{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + TargetRevision: "HEAD", + Path: "guestbook", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "guestbook", + }, + }, + } + } + + str, _ := rand.RandString(1) + + expectedApps := []v1alpha1.Application{ + generateExpectedApp("engineering-dev-guestbook"), + generateExpectedApp("engineering-prod-guestbook"), + } + + Given(t). + Project(project). + Path(guestbookPath). + When(). + AddSignedFile("test.yaml", str).IgnoreErrors(). + IgnoreErrors(). + // Create a GitGenerator-based ApplicationSet + Create(v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "simple-git-generator", + }, + Spec: v1alpha1.ApplicationSetSpec{ + Template: v1alpha1.ApplicationSetTemplate{ + ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{cluster.name}}-guestbook"}, + Spec: v1alpha1.ApplicationSpec{ + Project: project, + Source: &v1alpha1.ApplicationSource{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + TargetRevision: "HEAD", + Path: "guestbook", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "guestbook", + }, + }, + }, + Generators: []v1alpha1.ApplicationSetGenerator{ + { + Git: &v1alpha1.GitGenerator{ + RepoURL: "https://github.com/argoproj/applicationset.git", + Files: []v1alpha1.GitFileGeneratorItem{ + { + Path: "examples/git-generator-files-discovery/cluster-config/**/config.json", + }, + }, + }, + }, + }, + }, + }).Then(). + // verify the ApplicationSet error status conditions were set correctly + Expect(ApplicationSetHasConditions("simple-git-generator", expectedConditionsParamsError)). + Expect(ApplicationsDoNotExist(expectedApps)). + When(). + Delete().Then().Expect(ApplicationsDoNotExist(expectedApps)) +} + +func TestSimpleGitFilesGeneratorGoTemplate(t *testing.T) { + generateExpectedApp := func(name string) v1alpha1.Application { + return v1alpha1.Application{ + TypeMeta: metav1.TypeMeta{ + Kind: application.ApplicationKind, + APIVersion: "argoproj.io/v1alpha1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: fixture.TestNamespace(), + Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, + }, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + TargetRevision: "HEAD", + Path: "guestbook", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "guestbook", + }, + }, + } + } + + expectedApps := []v1alpha1.Application{ + generateExpectedApp("engineering-dev-guestbook"), + generateExpectedApp("engineering-prod-guestbook"), + } + + var expectedAppsNewNamespace []v1alpha1.Application + var expectedAppsNewMetadata []v1alpha1.Application + + Given(t). + When(). + // Create a GitGenerator-based ApplicationSet + Create(v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "simple-git-generator", + }, + Spec: v1alpha1.ApplicationSetSpec{ + GoTemplate: true, + Template: v1alpha1.ApplicationSetTemplate{ + ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{.cluster.name}}-guestbook"}, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + TargetRevision: "HEAD", + Path: "guestbook", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "guestbook", + }, + }, + }, + Generators: []v1alpha1.ApplicationSetGenerator{ + { + Git: &v1alpha1.GitGenerator{ + RepoURL: "https://github.com/argoproj/applicationset.git", + Files: []v1alpha1.GitFileGeneratorItem{ + { + Path: "examples/git-generator-files-discovery/cluster-config/**/config.json", + }, + }, + }, + }, + }, + }, + }).Then().Expect(ApplicationsExist(expectedApps)). + + // Update the ApplicationSet template namespace, and verify it updates the Applications + When(). + And(func() { + for _, expectedApp := range expectedApps { + newExpectedApp := expectedApp.DeepCopy() + newExpectedApp.Spec.Destination.Namespace = "guestbook2" + expectedAppsNewNamespace = append(expectedAppsNewNamespace, *newExpectedApp) + } + }). + Update(func(appset *v1alpha1.ApplicationSet) { + appset.Spec.Template.Spec.Destination.Namespace = "guestbook2" + }).Then().Expect(ApplicationsExist(expectedAppsNewNamespace)). + + // Update the metadata fields in the appset template, and make sure it propagates to the apps + When(). + And(func() { + for _, expectedApp := range expectedAppsNewNamespace { + expectedAppNewMetadata := expectedApp.DeepCopy() + expectedAppNewMetadata.ObjectMeta.Annotations = map[string]string{"annotation-key": "annotation-value"} + expectedAppNewMetadata.ObjectMeta.Labels = map[string]string{"label-key": "label-value"} + expectedAppsNewMetadata = append(expectedAppsNewMetadata, *expectedAppNewMetadata) + } + }). + Update(func(appset *v1alpha1.ApplicationSet) { + appset.Spec.Template.Annotations = map[string]string{"annotation-key": "annotation-value"} + appset.Spec.Template.Labels = map[string]string{"label-key": "label-value"} + }).Then().Expect(ApplicationsExist(expectedAppsNewMetadata)). + + // verify the ApplicationSet status conditions were set correctly + Expect(ApplicationSetHasConditions("simple-git-generator", ExpectedConditions)). + + // Delete the ApplicationSet, and verify it deletes the Applications + When(). + Delete().Then().Expect(ApplicationsDoNotExist(expectedAppsNewNamespace)) +} + +func TestSimpleGitFilesPreserveResourcesOnDeletion(t *testing.T) { + Given(t). + When(). + CreateNamespace(utils.ApplicationsResourcesNamespace). + // Create a GitGenerator-based ApplicationSet + Create(v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "simple-git-generator", + }, + Spec: v1alpha1.ApplicationSetSpec{ + Template: v1alpha1.ApplicationSetTemplate{ + ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{cluster.name}}-guestbook"}, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + TargetRevision: "HEAD", + Path: "guestbook", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: utils.ApplicationsResourcesNamespace, + }, + + // Automatically create resources + SyncPolicy: &v1alpha1.SyncPolicy{ + Automated: &v1alpha1.SyncPolicyAutomated{}, + }, + }, + }, + SyncPolicy: &v1alpha1.ApplicationSetSyncPolicy{ + PreserveResourcesOnDeletion: true, + }, + Generators: []v1alpha1.ApplicationSetGenerator{ + { + Git: &v1alpha1.GitGenerator{ + RepoURL: "https://github.com/argoproj/applicationset.git", + Files: []v1alpha1.GitFileGeneratorItem{ + { + Path: "examples/git-generator-files-discovery/cluster-config/**/config.json", + }, + }, + }, + }, + }, + }, + // We use an extra-long duration here, as we might need to wait for image pull. + }).Then().ExpectWithDuration(Pod(func(p corev1.Pod) bool { return strings.Contains(p.Name, "guestbook-ui") }), 6*time.Minute). + When(). + Delete(). + And(func() { + t.Log("Waiting 15 seconds to give the cluster a chance to delete the pods.") + // Wait 15 seconds to give the cluster a chance to deletes the pods, if it is going to do so. + // It should NOT delete the pods; to do so would be an ApplicationSet bug, and + // that is what we are testing here. + time.Sleep(15 * time.Second) + // The pod should continue to exist after 15 seconds. + }).Then().Expect(Pod(func(p corev1.Pod) bool { return strings.Contains(p.Name, "guestbook-ui") })) +} + +func TestSimpleGitFilesPreserveResourcesOnDeletionGoTemplate(t *testing.T) { + Given(t). + When(). + CreateNamespace(utils.ApplicationsResourcesNamespace). + // Create a GitGenerator-based ApplicationSet + Create(v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "simple-git-generator", + }, + Spec: v1alpha1.ApplicationSetSpec{ + GoTemplate: true, + Template: v1alpha1.ApplicationSetTemplate{ + ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{.cluster.name}}-guestbook"}, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: "https://github.com/argoproj/argocd-example-apps.git", + TargetRevision: "HEAD", + Path: "guestbook", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: utils.ApplicationsResourcesNamespace, + }, + + // Automatically create resources + SyncPolicy: &v1alpha1.SyncPolicy{ + Automated: &v1alpha1.SyncPolicyAutomated{}, + }, + }, + }, + SyncPolicy: &v1alpha1.ApplicationSetSyncPolicy{ + PreserveResourcesOnDeletion: true, + }, + Generators: []v1alpha1.ApplicationSetGenerator{ + { + Git: &v1alpha1.GitGenerator{ + RepoURL: "https://github.com/argoproj/applicationset.git", + Files: []v1alpha1.GitFileGeneratorItem{ + { + Path: "examples/git-generator-files-discovery/cluster-config/**/config.json", + }, + }, + }, + }, + }, + }, + // We use an extra-long duration here, as we might need to wait for image pull. + }).Then().ExpectWithDuration(Pod(func(p corev1.Pod) bool { return strings.Contains(p.Name, "guestbook-ui") }), 6*time.Minute). + When(). + Delete(). + And(func() { + t.Log("Waiting 15 seconds to give the cluster a chance to delete the pods.") + // Wait 15 seconds to give the cluster a chance to deletes the pods, if it is going to do so. + // It should NOT delete the pods; to do so would be an ApplicationSet bug, and + // that is what we are testing here. + time.Sleep(15 * time.Second) + // The pod should continue to exist after 15 seconds. + }).Then().Expect(Pod(func(p corev1.Pod) bool { return strings.Contains(p.Name, "guestbook-ui") })) +} + +func TestGitGeneratorPrivateRepo(t *testing.T) { + generateExpectedApp := func(name string) v1alpha1.Application { + return v1alpha1.Application{ + TypeMeta: metav1.TypeMeta{ + Kind: application.ApplicationKind, + APIVersion: "argoproj.io/v1alpha1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: fixture.TestNamespace(), + Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, + }, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + TargetRevision: "HEAD", + Path: name, + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: name, + }, + }, + } + } + + expectedApps := []v1alpha1.Application{ + generateExpectedApp("https-kustomize-base"), + } + + var expectedAppsNewNamespace []v1alpha1.Application + + Given(t). + HTTPSInsecureRepoURLAdded(""). + When(). + // Create a GitGenerator-based ApplicationSet + + Create(v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "simple-git-generator-private", + }, + Spec: v1alpha1.ApplicationSetSpec{ + Template: v1alpha1.ApplicationSetTemplate{ + ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{path.basename}}"}, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + TargetRevision: "HEAD", + Path: "{{path}}", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "{{path.basename}}", + }, + }, + }, + Generators: []v1alpha1.ApplicationSetGenerator{ + { + Git: &v1alpha1.GitGenerator{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + Directories: []v1alpha1.GitDirectoryGeneratorItem{ + { + Path: "*kustomize*", + }, + }, + }, + }, + }, + }, + }).Then().Expect(ApplicationsExist(expectedApps)). + // Delete the ApplicationSet, and verify it deletes the Applications + When(). + Delete().Then().Expect(ApplicationsDoNotExist(expectedAppsNewNamespace)) +} + +func TestGitGeneratorPrivateRepoGoTemplate(t *testing.T) { + generateExpectedApp := func(name string) v1alpha1.Application { + return v1alpha1.Application{ + TypeMeta: metav1.TypeMeta{ + Kind: application.ApplicationKind, + APIVersion: "argoproj.io/v1alpha1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: fixture.TestNamespace(), + Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, + }, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + TargetRevision: "HEAD", + Path: name, + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: name, + }, + }, + } + } + + expectedApps := []v1alpha1.Application{ + generateExpectedApp("https-kustomize-base"), + } + + var expectedAppsNewNamespace []v1alpha1.Application + + Given(t). + HTTPSInsecureRepoURLAdded(""). + When(). + // Create a GitGenerator-based ApplicationSet + Create(v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "simple-git-generator-private", + }, + Spec: v1alpha1.ApplicationSetSpec{ + GoTemplate: true, + Template: v1alpha1.ApplicationSetTemplate{ + ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{.path.basename}}"}, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + TargetRevision: "HEAD", + Path: "{{.path.path}}", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "{{.path.basename}}", + }, + }, + }, + Generators: []v1alpha1.ApplicationSetGenerator{ + { + Git: &v1alpha1.GitGenerator{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + Directories: []v1alpha1.GitDirectoryGeneratorItem{ + { + Path: "*kustomize*", + }, + }, + }, + }, + }, + }, + }).Then().Expect(ApplicationsExist(expectedApps)). + // Delete the ApplicationSet, and verify it deletes the Applications + When(). + Delete().Then().Expect(ApplicationsDoNotExist(expectedAppsNewNamespace)) +} + +func TestSimpleGitGeneratorPrivateRepoWithNoRepo(t *testing.T) { + generateExpectedApp := func(name string) v1alpha1.Application { + return v1alpha1.Application{ + TypeMeta: metav1.TypeMeta{ + Kind: application.ApplicationKind, + APIVersion: "argoproj.io/v1alpha1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: fixture.TestNamespace(), + Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, + }, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + TargetRevision: "HEAD", + Path: name, + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: name, + }, + }, + } + } + + expectedApps := []v1alpha1.Application{ + generateExpectedApp("https-kustomize-base"), + } + + var expectedAppsNewNamespace []v1alpha1.Application + + Given(t). + When(). + // Create a GitGenerator-based ApplicationSet + Create(v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "simple-git-generator-private", + }, + Spec: v1alpha1.ApplicationSetSpec{ + Template: v1alpha1.ApplicationSetTemplate{ + ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{path.basename}}"}, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + TargetRevision: "HEAD", + Path: "{{path}}", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "{{path.basename}}", + }, + }, + }, + Generators: []v1alpha1.ApplicationSetGenerator{ + { + Git: &v1alpha1.GitGenerator{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + Directories: []v1alpha1.GitDirectoryGeneratorItem{ + { + Path: "*kustomize*", + }, + }, + }, + }, + }, + }, + }).Then().Expect(ApplicationsDoNotExist(expectedApps)). + // Delete the ApplicationSet, and verify it deletes the Applications + When(). + Delete().Then().Expect(ApplicationsDoNotExist(expectedAppsNewNamespace)) +} + +func TestSimpleGitGeneratorPrivateRepoWithMatchingProject(t *testing.T) { + generateExpectedApp := func(name string) v1alpha1.Application { + return v1alpha1.Application{ + TypeMeta: metav1.TypeMeta{ + Kind: application.ApplicationKind, + APIVersion: "argoproj.io/v1alpha1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: fixture.TestNamespace(), + Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, + }, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + TargetRevision: "HEAD", + Path: name, + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: name, + }, + }, + } + } + + expectedApps := []v1alpha1.Application{ + generateExpectedApp("https-kustomize-base"), + } + + var expectedAppsNewNamespace []v1alpha1.Application + + Given(t). + HTTPSInsecureRepoURLAdded("default"). + When(). + // Create a GitGenerator-based ApplicationSet + Create(v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "simple-git-generator-private", + }, + Spec: v1alpha1.ApplicationSetSpec{ + Template: v1alpha1.ApplicationSetTemplate{ + ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{path.basename}}"}, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + TargetRevision: "HEAD", + Path: "{{path}}", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "{{path.basename}}", + }, + }, + }, + Generators: []v1alpha1.ApplicationSetGenerator{ + { + Git: &v1alpha1.GitGenerator{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + Directories: []v1alpha1.GitDirectoryGeneratorItem{ + { + Path: "*kustomize*", + }, + }, + }, + }, + }, + }, + }).Then().Expect(ApplicationsExist(expectedApps)). + // Delete the ApplicationSet, and verify it deletes the Applications + When(). + Delete().Then().Expect(ApplicationsDoNotExist(expectedAppsNewNamespace)) +} + +func TestSimpleGitGeneratorPrivateRepoWithMismatchingProject(t *testing.T) { + generateExpectedApp := func(name string) v1alpha1.Application { + return v1alpha1.Application{ + TypeMeta: metav1.TypeMeta{ + Kind: application.ApplicationKind, + APIVersion: "argoproj.io/v1alpha1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: fixture.TestNamespace(), + Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, + }, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + TargetRevision: "HEAD", + Path: name, + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: name, + }, + }, + } + } + + expectedApps := []v1alpha1.Application{ + generateExpectedApp("https-kustomize-base"), + } + + var expectedAppsNewNamespace []v1alpha1.Application + + Given(t). + HTTPSInsecureRepoURLAdded("some-other-project"). + When(). + // Create a GitGenerator-based ApplicationSet + Create(v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "simple-git-generator-private", + }, + Spec: v1alpha1.ApplicationSetSpec{ + Template: v1alpha1.ApplicationSetTemplate{ + ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{path.basename}}"}, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + TargetRevision: "HEAD", + Path: "{{path}}", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "{{path.basename}}", + }, + }, + }, + Generators: []v1alpha1.ApplicationSetGenerator{ + { + Git: &v1alpha1.GitGenerator{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + Directories: []v1alpha1.GitDirectoryGeneratorItem{ + { + Path: "*kustomize*", + }, + }, + }, + }, + }, + }, + }).Then().Expect(ApplicationsDoNotExist(expectedApps)). + // Delete the ApplicationSet, and verify it deletes the Applications + When(). + Delete().Then().Expect(ApplicationsDoNotExist(expectedAppsNewNamespace)) +} + +func TestGitGeneratorPrivateRepoWithTemplatedProject(t *testing.T) { + generateExpectedApp := func(name string) v1alpha1.Application { + return v1alpha1.Application{ + TypeMeta: metav1.TypeMeta{ + Kind: application.ApplicationKind, + APIVersion: "argoproj.io/v1alpha1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: fixture.TestNamespace(), + Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, + }, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + TargetRevision: "HEAD", + Path: name, + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: name, + }, + }, + } + } + + expectedApps := []v1alpha1.Application{ + generateExpectedApp("https-kustomize-base"), + } + + var expectedAppsNewNamespace []v1alpha1.Application + + Given(t). + HTTPSInsecureRepoURLAdded(""). + When(). + // Create a GitGenerator-based ApplicationSet + Create(v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "simple-git-generator-private", + }, + Spec: v1alpha1.ApplicationSetSpec{ + Template: v1alpha1.ApplicationSetTemplate{ + ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{path.basename}}"}, + Spec: v1alpha1.ApplicationSpec{ + Project: "{{values.project}}", + Source: &v1alpha1.ApplicationSource{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + TargetRevision: "HEAD", + Path: "{{path}}", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "{{path.basename}}", + }, + }, + }, + Generators: []v1alpha1.ApplicationSetGenerator{ + { + Git: &v1alpha1.GitGenerator{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + Directories: []v1alpha1.GitDirectoryGeneratorItem{ + { + Path: "*kustomize*", + }, + }, + Values: map[string]string{ + "project": "default", + }, + }, + }, + }, + }, + }).Then().Expect(ApplicationsExist(expectedApps)). + // Delete the ApplicationSet, and verify it deletes the Applications + When(). + Delete().Then().Expect(ApplicationsDoNotExist(expectedAppsNewNamespace)) +} + +func TestGitGeneratorPrivateRepoWithTemplatedProjectAndProjectScopedRepo(t *testing.T) { + // Flush repo-server cache. Why? We want to ensure that the previous test has not already populated the repo-server + // cache. + r := redis.NewClient(&redis.Options{ + Addr: "localhost:6379", + }) + all := r.FlushAll(context.Background()) + utils.CheckError(all.Err()) + + generateExpectedApp := func(name string) v1alpha1.Application { + return v1alpha1.Application{ + TypeMeta: metav1.TypeMeta{ + Kind: application.ApplicationKind, + APIVersion: "argoproj.io/v1alpha1", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: fixture.TestNamespace(), + Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, + }, + Spec: v1alpha1.ApplicationSpec{ + Project: "default", + Source: &v1alpha1.ApplicationSource{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + TargetRevision: "HEAD", + Path: name, + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: name, + }, + }, + } + } + + expectedApps := []v1alpha1.Application{ + generateExpectedApp("https-kustomize-base"), + } + + var expectedAppsNewNamespace []v1alpha1.Application + + Given(t). + HTTPSInsecureRepoURLAdded("default"). + When(). + // Create a GitGenerator-based ApplicationSet + Create(v1alpha1.ApplicationSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "simple-git-generator-private", + }, + Spec: v1alpha1.ApplicationSetSpec{ + Template: v1alpha1.ApplicationSetTemplate{ + ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{path.basename}}"}, + Spec: v1alpha1.ApplicationSpec{ + Project: "{{values.project}}", + Source: &v1alpha1.ApplicationSource{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + TargetRevision: "HEAD", + Path: "{{path}}", + }, + Destination: v1alpha1.ApplicationDestination{ + Server: "https://kubernetes.default.svc", + Namespace: "{{path.basename}}", + }, + }, + }, + Generators: []v1alpha1.ApplicationSetGenerator{ + { + Git: &v1alpha1.GitGenerator{ + RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), + Directories: []v1alpha1.GitDirectoryGeneratorItem{ + { + Path: "*kustomize*", + }, + }, + Values: map[string]string{ + "project": "default", + }, + }, + }, + }, + }, + }).Then().Expect(ApplicationsDoNotExist(expectedApps)). + // Delete the ApplicationSet, and verify it deletes the Applications + When(). + Delete().Then().Expect(ApplicationsDoNotExist(expectedAppsNewNamespace)) +} diff --git a/test/e2e/applicationset_test.go b/test/e2e/applicationset_test.go index 2991072fee578..afb2c1cc9727f 100644 --- a/test/e2e/applicationset_test.go +++ b/test/e2e/applicationset_test.go @@ -7,9 +7,7 @@ import ( "net" "net/http" "net/http/httptest" - "strings" "testing" - "time" "github.com/google/uuid" @@ -18,8 +16,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" - "github.com/argoproj/pkg/rand" - "github.com/argoproj/argo-cd/v3/common" "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1" "github.com/argoproj/argo-cd/v3/test/e2e/fixture" @@ -29,7 +25,6 @@ import ( . "github.com/argoproj/argo-cd/v3/test/e2e/fixture/applicationsets" "github.com/argoproj/argo-cd/v3/test/e2e/fixture/applicationsets/utils" - . "github.com/argoproj/argo-cd/v3/util/errors" "github.com/argoproj/argo-cd/v3/pkg/apis/application" ) @@ -1129,977 +1124,6 @@ func TestSyncPolicyCreateOnly(t *testing.T) { Delete().Then().Expect(ApplicationsExist([]v1alpha1.Application{*expectedAppNewNamespace})) } -func TestSimpleGitDirectoryGenerator(t *testing.T) { - generateExpectedApp := func(name string) v1alpha1.Application { - return v1alpha1.Application{ - TypeMeta: metav1.TypeMeta{ - Kind: application.ApplicationKind, - APIVersion: "argoproj.io/v1alpha1", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: name, - Namespace: fixture.TestNamespace(), - Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, - }, - Spec: v1alpha1.ApplicationSpec{ - Project: "default", - Source: &v1alpha1.ApplicationSource{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - TargetRevision: "HEAD", - Path: name, - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: name, - }, - }, - } - } - - expectedApps := []v1alpha1.Application{ - generateExpectedApp("kustomize-guestbook"), - generateExpectedApp("helm-guestbook"), - } - - var expectedAppsNewNamespace []v1alpha1.Application - var expectedAppsNewMetadata []v1alpha1.Application - - Given(t). - When(). - // Create a GitGenerator-based ApplicationSet - Create(v1alpha1.ApplicationSet{ - ObjectMeta: metav1.ObjectMeta{ - Name: "simple-git-generator", - }, - Spec: v1alpha1.ApplicationSetSpec{ - Template: v1alpha1.ApplicationSetTemplate{ - ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{path.basename}}"}, - Spec: v1alpha1.ApplicationSpec{ - Project: "default", - Source: &v1alpha1.ApplicationSource{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - TargetRevision: "HEAD", - Path: "{{path}}", - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: "{{path.basename}}", - }, - }, - }, - Generators: []v1alpha1.ApplicationSetGenerator{ - { - Git: &v1alpha1.GitGenerator{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - Directories: []v1alpha1.GitDirectoryGeneratorItem{ - { - Path: "*guestbook*", - }, - }, - }, - }, - }, - }, - }).Then().Expect(ApplicationsExist(expectedApps)). - - // Update the ApplicationSet template namespace, and verify it updates the Applications - When(). - And(func() { - for _, expectedApp := range expectedApps { - newExpectedApp := expectedApp.DeepCopy() - newExpectedApp.Spec.Destination.Namespace = "guestbook2" - expectedAppsNewNamespace = append(expectedAppsNewNamespace, *newExpectedApp) - } - }). - Update(func(appset *v1alpha1.ApplicationSet) { - appset.Spec.Template.Spec.Destination.Namespace = "guestbook2" - }).Then().Expect(ApplicationsExist(expectedAppsNewNamespace)). - - // Update the metadata fields in the appset template, and make sure it propagates to the apps - When(). - And(func() { - for _, expectedApp := range expectedAppsNewNamespace { - expectedAppNewMetadata := expectedApp.DeepCopy() - expectedAppNewMetadata.ObjectMeta.Annotations = map[string]string{"annotation-key": "annotation-value"} - expectedAppNewMetadata.ObjectMeta.Labels = map[string]string{"label-key": "label-value"} - expectedAppsNewMetadata = append(expectedAppsNewMetadata, *expectedAppNewMetadata) - } - }). - Update(func(appset *v1alpha1.ApplicationSet) { - appset.Spec.Template.Annotations = map[string]string{"annotation-key": "annotation-value"} - appset.Spec.Template.Labels = map[string]string{"label-key": "label-value"} - }).Then().Expect(ApplicationsExist(expectedAppsNewMetadata)). - - // verify the ApplicationSet status conditions were set correctly - Expect(ApplicationSetHasConditions("simple-git-generator", ExpectedConditions)). - - // Delete the ApplicationSet, and verify it deletes the Applications - When(). - Delete().Then().Expect(ApplicationsDoNotExist(expectedAppsNewNamespace)) -} - -func TestSimpleGitDirectoryGeneratorGoTemplate(t *testing.T) { - generateExpectedApp := func(name string) v1alpha1.Application { - return v1alpha1.Application{ - TypeMeta: metav1.TypeMeta{ - Kind: application.ApplicationKind, - APIVersion: "argoproj.io/v1alpha1", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: name, - Namespace: fixture.TestNamespace(), - Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, - }, - Spec: v1alpha1.ApplicationSpec{ - Project: "default", - Source: &v1alpha1.ApplicationSource{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - TargetRevision: "HEAD", - Path: name, - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: name, - }, - }, - } - } - - expectedApps := []v1alpha1.Application{ - generateExpectedApp("kustomize-guestbook"), - generateExpectedApp("helm-guestbook"), - } - - var expectedAppsNewNamespace []v1alpha1.Application - var expectedAppsNewMetadata []v1alpha1.Application - - Given(t). - When(). - // Create a GitGenerator-based ApplicationSet - Create(v1alpha1.ApplicationSet{ - ObjectMeta: metav1.ObjectMeta{ - Name: "simple-git-generator", - }, - Spec: v1alpha1.ApplicationSetSpec{ - GoTemplate: true, - Template: v1alpha1.ApplicationSetTemplate{ - ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{.path.basename}}"}, - Spec: v1alpha1.ApplicationSpec{ - Project: "default", - Source: &v1alpha1.ApplicationSource{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - TargetRevision: "HEAD", - Path: "{{.path.path}}", - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: "{{.path.basename}}", - }, - }, - }, - Generators: []v1alpha1.ApplicationSetGenerator{ - { - Git: &v1alpha1.GitGenerator{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - Directories: []v1alpha1.GitDirectoryGeneratorItem{ - { - Path: "*guestbook*", - }, - }, - }, - }, - }, - }, - }).Then().Expect(ApplicationsExist(expectedApps)). - - // Update the ApplicationSet template namespace, and verify it updates the Applications - When(). - And(func() { - for _, expectedApp := range expectedApps { - newExpectedApp := expectedApp.DeepCopy() - newExpectedApp.Spec.Destination.Namespace = "guestbook2" - expectedAppsNewNamespace = append(expectedAppsNewNamespace, *newExpectedApp) - } - }). - Update(func(appset *v1alpha1.ApplicationSet) { - appset.Spec.Template.Spec.Destination.Namespace = "guestbook2" - }).Then().Expect(ApplicationsExist(expectedAppsNewNamespace)). - - // Update the metadata fields in the appset template, and make sure it propagates to the apps - When(). - And(func() { - for _, expectedApp := range expectedAppsNewNamespace { - expectedAppNewMetadata := expectedApp.DeepCopy() - expectedAppNewMetadata.ObjectMeta.Annotations = map[string]string{"annotation-key": "annotation-value"} - expectedAppNewMetadata.ObjectMeta.Labels = map[string]string{"label-key": "label-value"} - expectedAppsNewMetadata = append(expectedAppsNewMetadata, *expectedAppNewMetadata) - } - }). - Update(func(appset *v1alpha1.ApplicationSet) { - appset.Spec.Template.Annotations = map[string]string{"annotation-key": "annotation-value"} - appset.Spec.Template.Labels = map[string]string{"label-key": "label-value"} - }).Then().Expect(ApplicationsExist(expectedAppsNewMetadata)). - - // verify the ApplicationSet status conditions were set correctly - Expect(ApplicationSetHasConditions("simple-git-generator", ExpectedConditions)). - - // Delete the ApplicationSet, and verify it deletes the Applications - When(). - Delete().Then().Expect(ApplicationsDoNotExist(expectedAppsNewNamespace)) -} - -func TestSimpleGitDirectoryGeneratorGPGEnabledUnsignedCommits(t *testing.T) { - fixture.SkipOnEnv(t, "GPG") - expectedErrorMessage := `error generating params from git: error getting directories from repo: error retrieving Git Directories: rpc error: code = Unknown desc = permission denied` - expectedConditionsParamsError := []v1alpha1.ApplicationSetCondition{ - { - Type: v1alpha1.ApplicationSetConditionErrorOccurred, - Status: v1alpha1.ApplicationSetConditionStatusTrue, - Message: expectedErrorMessage, - Reason: v1alpha1.ApplicationSetReasonApplicationParamsGenerationError, - }, - { - Type: v1alpha1.ApplicationSetConditionParametersGenerated, - Status: v1alpha1.ApplicationSetConditionStatusFalse, - Message: expectedErrorMessage, - Reason: v1alpha1.ApplicationSetReasonErrorOccurred, - }, - { - Type: v1alpha1.ApplicationSetConditionResourcesUpToDate, - Status: v1alpha1.ApplicationSetConditionStatusFalse, - Message: expectedErrorMessage, - Reason: v1alpha1.ApplicationSetReasonApplicationParamsGenerationError, - }, - } - generateExpectedApp := func(name string) v1alpha1.Application { - return v1alpha1.Application{ - TypeMeta: metav1.TypeMeta{ - Kind: application.ApplicationKind, - APIVersion: "argoproj.io/v1alpha1", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: name, - Namespace: fixture.TestNamespace(), - Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, - }, - Spec: v1alpha1.ApplicationSpec{ - Project: "default", - Source: &v1alpha1.ApplicationSource{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - TargetRevision: "HEAD", - Path: name, - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: name, - }, - }, - } - } - - expectedApps := []v1alpha1.Application{ - generateExpectedApp("guestbook"), - } - project := "gpg" - - Given(t). - Project(project). - When(). - // Create a GitGenerator-based ApplicationSet - Create(v1alpha1.ApplicationSet{ - ObjectMeta: metav1.ObjectMeta{ - Name: "simple-git-generator", - }, - Spec: v1alpha1.ApplicationSetSpec{ - Template: v1alpha1.ApplicationSetTemplate{ - ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{path.basename}}"}, - Spec: v1alpha1.ApplicationSpec{ - Project: project, - Source: &v1alpha1.ApplicationSource{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - TargetRevision: "HEAD", - Path: "{{path}}", - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: "{{path.basename}}", - }, - }, - }, - Generators: []v1alpha1.ApplicationSetGenerator{ - { - Git: &v1alpha1.GitGenerator{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - Directories: []v1alpha1.GitDirectoryGeneratorItem{ - { - Path: guestbookPath, - }, - }, - }, - }, - }, - }, - }). - Then().Expect(ApplicationsDoNotExist(expectedApps)). - // verify the ApplicationSet error status conditions were set correctly - Expect(ApplicationSetHasConditions("simple-git-generator", expectedConditionsParamsError)). - When(). - Delete().Then().Expect(ApplicationsDoNotExist(expectedApps)) -} - -func TestSimpleGitDirectoryGeneratorGPGEnabledWithoutKnownKeys(t *testing.T) { - fixture.SkipOnEnv(t, "GPG") - expectedErrorMessage := `error generating params from git: error getting directories from repo: error retrieving Git Directories: rpc error: code = Unknown desc = permission denied` - expectedConditionsParamsError := []v1alpha1.ApplicationSetCondition{ - { - Type: v1alpha1.ApplicationSetConditionErrorOccurred, - Status: v1alpha1.ApplicationSetConditionStatusTrue, - Message: expectedErrorMessage, - Reason: v1alpha1.ApplicationSetReasonApplicationParamsGenerationError, - }, - { - Type: v1alpha1.ApplicationSetConditionParametersGenerated, - Status: v1alpha1.ApplicationSetConditionStatusFalse, - Message: expectedErrorMessage, - Reason: v1alpha1.ApplicationSetReasonErrorOccurred, - }, - { - Type: v1alpha1.ApplicationSetConditionResourcesUpToDate, - Status: v1alpha1.ApplicationSetConditionStatusFalse, - Message: expectedErrorMessage, - Reason: v1alpha1.ApplicationSetReasonApplicationParamsGenerationError, - }, - } - generateExpectedApp := func(name string) v1alpha1.Application { - return v1alpha1.Application{ - TypeMeta: metav1.TypeMeta{ - Kind: application.ApplicationKind, - APIVersion: "argoproj.io/v1alpha1", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: name, - Namespace: fixture.TestNamespace(), - Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, - }, - Spec: v1alpha1.ApplicationSpec{ - Project: "default", - Source: &v1alpha1.ApplicationSource{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - TargetRevision: "HEAD", - Path: name, - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: name, - }, - }, - } - } - - expectedApps := []v1alpha1.Application{ - generateExpectedApp("guestbook"), - } - - project := "gpg" - - str, _ := rand.RandString(1) - - Given(t). - Project(project). - Path(guestbookPath). - When(). - AddSignedFile("test.yaml", str).IgnoreErrors(). - IgnoreErrors(). - // Create a GitGenerator-based ApplicationSet - Create(v1alpha1.ApplicationSet{ - ObjectMeta: metav1.ObjectMeta{ - Name: "simple-git-generator", - }, - Spec: v1alpha1.ApplicationSetSpec{ - Template: v1alpha1.ApplicationSetTemplate{ - ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{path.basename}}"}, - Spec: v1alpha1.ApplicationSpec{ - Project: project, - Source: &v1alpha1.ApplicationSource{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - TargetRevision: "HEAD", - Path: "{{path}}", - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: "{{path.basename}}", - }, - // Automatically create resources - SyncPolicy: &v1alpha1.SyncPolicy{ - Automated: &v1alpha1.SyncPolicyAutomated{}, - }, - }, - }, - Generators: []v1alpha1.ApplicationSetGenerator{ - { - Git: &v1alpha1.GitGenerator{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - Directories: []v1alpha1.GitDirectoryGeneratorItem{ - { - Path: guestbookPath, - }, - }, - }, - }, - }, - }, - }).Then(). - // verify the ApplicationSet error status conditions were set correctly - Expect(ApplicationSetHasConditions("simple-git-generator", expectedConditionsParamsError)). - Expect(ApplicationsDoNotExist(expectedApps)). - When(). - Delete().Then().Expect(ApplicationsDoNotExist(expectedApps)) -} - -func TestSimpleGitFilesGenerator(t *testing.T) { - generateExpectedApp := func(name string) v1alpha1.Application { - return v1alpha1.Application{ - TypeMeta: metav1.TypeMeta{ - Kind: application.ApplicationKind, - APIVersion: "argoproj.io/v1alpha1", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: name, - Namespace: fixture.TestNamespace(), - Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, - }, - Spec: v1alpha1.ApplicationSpec{ - Project: "default", - Source: &v1alpha1.ApplicationSource{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - TargetRevision: "HEAD", - Path: "guestbook", - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: "guestbook", - }, - }, - } - } - - expectedApps := []v1alpha1.Application{ - generateExpectedApp("engineering-dev-guestbook"), - generateExpectedApp("engineering-prod-guestbook"), - } - - var expectedAppsNewNamespace []v1alpha1.Application - var expectedAppsNewMetadata []v1alpha1.Application - - Given(t). - When(). - // Create a GitGenerator-based ApplicationSet - Create(v1alpha1.ApplicationSet{ - ObjectMeta: metav1.ObjectMeta{ - Name: "simple-git-generator", - }, - Spec: v1alpha1.ApplicationSetSpec{ - Template: v1alpha1.ApplicationSetTemplate{ - ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{cluster.name}}-guestbook"}, - Spec: v1alpha1.ApplicationSpec{ - Project: "default", - Source: &v1alpha1.ApplicationSource{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - TargetRevision: "HEAD", - Path: "guestbook", - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: "guestbook", - }, - }, - }, - Generators: []v1alpha1.ApplicationSetGenerator{ - { - Git: &v1alpha1.GitGenerator{ - RepoURL: "https://github.com/argoproj/applicationset.git", - Files: []v1alpha1.GitFileGeneratorItem{ - { - Path: "examples/git-generator-files-discovery/cluster-config/**/config.json", - }, - }, - }, - }, - }, - }, - }).Then().Expect(ApplicationsExist(expectedApps)). - - // Update the ApplicationSet template namespace, and verify it updates the Applications - When(). - And(func() { - for _, expectedApp := range expectedApps { - newExpectedApp := expectedApp.DeepCopy() - newExpectedApp.Spec.Destination.Namespace = "guestbook2" - expectedAppsNewNamespace = append(expectedAppsNewNamespace, *newExpectedApp) - } - }). - Update(func(appset *v1alpha1.ApplicationSet) { - appset.Spec.Template.Spec.Destination.Namespace = "guestbook2" - }).Then().Expect(ApplicationsExist(expectedAppsNewNamespace)). - - // Update the metadata fields in the appset template, and make sure it propagates to the apps - When(). - And(func() { - for _, expectedApp := range expectedAppsNewNamespace { - expectedAppNewMetadata := expectedApp.DeepCopy() - expectedAppNewMetadata.ObjectMeta.Annotations = map[string]string{"annotation-key": "annotation-value"} - expectedAppNewMetadata.ObjectMeta.Labels = map[string]string{"label-key": "label-value"} - expectedAppsNewMetadata = append(expectedAppsNewMetadata, *expectedAppNewMetadata) - } - }). - Update(func(appset *v1alpha1.ApplicationSet) { - appset.Spec.Template.Annotations = map[string]string{"annotation-key": "annotation-value"} - appset.Spec.Template.Labels = map[string]string{"label-key": "label-value"} - }).Then().Expect(ApplicationsExist(expectedAppsNewMetadata)). - - // verify the ApplicationSet status conditions were set correctly - Expect(ApplicationSetHasConditions("simple-git-generator", ExpectedConditions)). - - // Delete the ApplicationSet, and verify it deletes the Applications - When(). - Delete().Then().Expect(ApplicationsDoNotExist(expectedAppsNewNamespace)) -} - -func TestSimpleGitFilesGeneratorGPGEnabledUnsignedCommits(t *testing.T) { - fixture.SkipOnEnv(t, "GPG") - expectedErrorMessage := `error generating params from git: error retrieving Git files: rpc error: code = Unknown desc = permission denied` - expectedConditionsParamsError := []v1alpha1.ApplicationSetCondition{ - { - Type: v1alpha1.ApplicationSetConditionErrorOccurred, - Status: v1alpha1.ApplicationSetConditionStatusTrue, - Message: expectedErrorMessage, - Reason: v1alpha1.ApplicationSetReasonApplicationParamsGenerationError, - }, - { - Type: v1alpha1.ApplicationSetConditionParametersGenerated, - Status: v1alpha1.ApplicationSetConditionStatusFalse, - Message: expectedErrorMessage, - Reason: v1alpha1.ApplicationSetReasonErrorOccurred, - }, - { - Type: v1alpha1.ApplicationSetConditionResourcesUpToDate, - Status: v1alpha1.ApplicationSetConditionStatusFalse, - Message: expectedErrorMessage, - Reason: v1alpha1.ApplicationSetReasonApplicationParamsGenerationError, - }, - } - project := "gpg" - generateExpectedApp := func(name string) v1alpha1.Application { - return v1alpha1.Application{ - TypeMeta: metav1.TypeMeta{ - Kind: application.ApplicationKind, - APIVersion: "argoproj.io/v1alpha1", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: name, - Namespace: fixture.TestNamespace(), - Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, - }, - Spec: v1alpha1.ApplicationSpec{ - Project: project, - Source: &v1alpha1.ApplicationSource{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - TargetRevision: "HEAD", - Path: "guestbook", - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: "guestbook", - }, - }, - } - } - - expectedApps := []v1alpha1.Application{ - generateExpectedApp("engineering-dev-guestbook"), - generateExpectedApp("engineering-prod-guestbook"), - } - - Given(t). - Project(project). - When(). - // Create a GitGenerator-based ApplicationSet - Create(v1alpha1.ApplicationSet{ - ObjectMeta: metav1.ObjectMeta{ - Name: "simple-git-generator", - }, - Spec: v1alpha1.ApplicationSetSpec{ - Template: v1alpha1.ApplicationSetTemplate{ - ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{cluster.name}}-guestbook"}, - Spec: v1alpha1.ApplicationSpec{ - Project: project, - Source: &v1alpha1.ApplicationSource{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - TargetRevision: "HEAD", - Path: "guestbook", - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: "guestbook", - }, - }, - }, - Generators: []v1alpha1.ApplicationSetGenerator{ - { - Git: &v1alpha1.GitGenerator{ - RepoURL: "https://github.com/argoproj/applicationset.git", - Files: []v1alpha1.GitFileGeneratorItem{ - { - Path: "examples/git-generator-files-discovery/cluster-config/**/config.json", - }, - }, - }, - }, - }, - }, - }).Then().Expect(ApplicationsDoNotExist(expectedApps)). - // verify the ApplicationSet error status conditions were set correctly - Expect(ApplicationSetHasConditions("simple-git-generator", expectedConditionsParamsError)). - When(). - Delete().Then().Expect(ApplicationsDoNotExist(expectedApps)) -} - -func TestSimpleGitFilesGeneratorGPGEnabledWithoutKnownKeys(t *testing.T) { - fixture.SkipOnEnv(t, "GPG") - expectedErrorMessage := `error generating params from git: error retrieving Git files: rpc error: code = Unknown desc = permission denied` - expectedConditionsParamsError := []v1alpha1.ApplicationSetCondition{ - { - Type: v1alpha1.ApplicationSetConditionErrorOccurred, - Status: v1alpha1.ApplicationSetConditionStatusTrue, - Message: expectedErrorMessage, - Reason: v1alpha1.ApplicationSetReasonApplicationParamsGenerationError, - }, - { - Type: v1alpha1.ApplicationSetConditionParametersGenerated, - Status: v1alpha1.ApplicationSetConditionStatusFalse, - Message: expectedErrorMessage, - Reason: v1alpha1.ApplicationSetReasonErrorOccurred, - }, - { - Type: v1alpha1.ApplicationSetConditionResourcesUpToDate, - Status: v1alpha1.ApplicationSetConditionStatusFalse, - Message: expectedErrorMessage, - Reason: v1alpha1.ApplicationSetReasonApplicationParamsGenerationError, - }, - } - project := "gpg" - generateExpectedApp := func(name string) v1alpha1.Application { - return v1alpha1.Application{ - TypeMeta: metav1.TypeMeta{ - Kind: application.ApplicationKind, - APIVersion: "argoproj.io/v1alpha1", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: name, - Namespace: fixture.TestNamespace(), - Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, - }, - Spec: v1alpha1.ApplicationSpec{ - Project: project, - Source: &v1alpha1.ApplicationSource{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - TargetRevision: "HEAD", - Path: "guestbook", - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: "guestbook", - }, - }, - } - } - - str, _ := rand.RandString(1) - - expectedApps := []v1alpha1.Application{ - generateExpectedApp("engineering-dev-guestbook"), - generateExpectedApp("engineering-prod-guestbook"), - } - - Given(t). - Project(project). - Path(guestbookPath). - When(). - AddSignedFile("test.yaml", str).IgnoreErrors(). - IgnoreErrors(). - // Create a GitGenerator-based ApplicationSet - Create(v1alpha1.ApplicationSet{ - ObjectMeta: metav1.ObjectMeta{ - Name: "simple-git-generator", - }, - Spec: v1alpha1.ApplicationSetSpec{ - Template: v1alpha1.ApplicationSetTemplate{ - ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{cluster.name}}-guestbook"}, - Spec: v1alpha1.ApplicationSpec{ - Project: project, - Source: &v1alpha1.ApplicationSource{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - TargetRevision: "HEAD", - Path: "guestbook", - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: "guestbook", - }, - }, - }, - Generators: []v1alpha1.ApplicationSetGenerator{ - { - Git: &v1alpha1.GitGenerator{ - RepoURL: "https://github.com/argoproj/applicationset.git", - Files: []v1alpha1.GitFileGeneratorItem{ - { - Path: "examples/git-generator-files-discovery/cluster-config/**/config.json", - }, - }, - }, - }, - }, - }, - }).Then(). - // verify the ApplicationSet error status conditions were set correctly - Expect(ApplicationSetHasConditions("simple-git-generator", expectedConditionsParamsError)). - Expect(ApplicationsDoNotExist(expectedApps)). - When(). - Delete().Then().Expect(ApplicationsDoNotExist(expectedApps)) -} - -func TestSimpleGitFilesGeneratorGoTemplate(t *testing.T) { - generateExpectedApp := func(name string) v1alpha1.Application { - return v1alpha1.Application{ - TypeMeta: metav1.TypeMeta{ - Kind: application.ApplicationKind, - APIVersion: "argoproj.io/v1alpha1", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: name, - Namespace: fixture.TestNamespace(), - Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, - }, - Spec: v1alpha1.ApplicationSpec{ - Project: "default", - Source: &v1alpha1.ApplicationSource{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - TargetRevision: "HEAD", - Path: "guestbook", - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: "guestbook", - }, - }, - } - } - - expectedApps := []v1alpha1.Application{ - generateExpectedApp("engineering-dev-guestbook"), - generateExpectedApp("engineering-prod-guestbook"), - } - - var expectedAppsNewNamespace []v1alpha1.Application - var expectedAppsNewMetadata []v1alpha1.Application - - Given(t). - When(). - // Create a GitGenerator-based ApplicationSet - Create(v1alpha1.ApplicationSet{ - ObjectMeta: metav1.ObjectMeta{ - Name: "simple-git-generator", - }, - Spec: v1alpha1.ApplicationSetSpec{ - GoTemplate: true, - Template: v1alpha1.ApplicationSetTemplate{ - ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{.cluster.name}}-guestbook"}, - Spec: v1alpha1.ApplicationSpec{ - Project: "default", - Source: &v1alpha1.ApplicationSource{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - TargetRevision: "HEAD", - Path: "guestbook", - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: "guestbook", - }, - }, - }, - Generators: []v1alpha1.ApplicationSetGenerator{ - { - Git: &v1alpha1.GitGenerator{ - RepoURL: "https://github.com/argoproj/applicationset.git", - Files: []v1alpha1.GitFileGeneratorItem{ - { - Path: "examples/git-generator-files-discovery/cluster-config/**/config.json", - }, - }, - }, - }, - }, - }, - }).Then().Expect(ApplicationsExist(expectedApps)). - - // Update the ApplicationSet template namespace, and verify it updates the Applications - When(). - And(func() { - for _, expectedApp := range expectedApps { - newExpectedApp := expectedApp.DeepCopy() - newExpectedApp.Spec.Destination.Namespace = "guestbook2" - expectedAppsNewNamespace = append(expectedAppsNewNamespace, *newExpectedApp) - } - }). - Update(func(appset *v1alpha1.ApplicationSet) { - appset.Spec.Template.Spec.Destination.Namespace = "guestbook2" - }).Then().Expect(ApplicationsExist(expectedAppsNewNamespace)). - - // Update the metadata fields in the appset template, and make sure it propagates to the apps - When(). - And(func() { - for _, expectedApp := range expectedAppsNewNamespace { - expectedAppNewMetadata := expectedApp.DeepCopy() - expectedAppNewMetadata.ObjectMeta.Annotations = map[string]string{"annotation-key": "annotation-value"} - expectedAppNewMetadata.ObjectMeta.Labels = map[string]string{"label-key": "label-value"} - expectedAppsNewMetadata = append(expectedAppsNewMetadata, *expectedAppNewMetadata) - } - }). - Update(func(appset *v1alpha1.ApplicationSet) { - appset.Spec.Template.Annotations = map[string]string{"annotation-key": "annotation-value"} - appset.Spec.Template.Labels = map[string]string{"label-key": "label-value"} - }).Then().Expect(ApplicationsExist(expectedAppsNewMetadata)). - - // verify the ApplicationSet status conditions were set correctly - Expect(ApplicationSetHasConditions("simple-git-generator", ExpectedConditions)). - - // Delete the ApplicationSet, and verify it deletes the Applications - When(). - Delete().Then().Expect(ApplicationsDoNotExist(expectedAppsNewNamespace)) -} - -func TestSimpleGitFilesPreserveResourcesOnDeletion(t *testing.T) { - Given(t). - When(). - CreateNamespace(utils.ApplicationsResourcesNamespace). - // Create a GitGenerator-based ApplicationSet - Create(v1alpha1.ApplicationSet{ - ObjectMeta: metav1.ObjectMeta{ - Name: "simple-git-generator", - }, - Spec: v1alpha1.ApplicationSetSpec{ - Template: v1alpha1.ApplicationSetTemplate{ - ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{cluster.name}}-guestbook"}, - Spec: v1alpha1.ApplicationSpec{ - Project: "default", - Source: &v1alpha1.ApplicationSource{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - TargetRevision: "HEAD", - Path: "guestbook", - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: utils.ApplicationsResourcesNamespace, - }, - - // Automatically create resources - SyncPolicy: &v1alpha1.SyncPolicy{ - Automated: &v1alpha1.SyncPolicyAutomated{}, - }, - }, - }, - SyncPolicy: &v1alpha1.ApplicationSetSyncPolicy{ - PreserveResourcesOnDeletion: true, - }, - Generators: []v1alpha1.ApplicationSetGenerator{ - { - Git: &v1alpha1.GitGenerator{ - RepoURL: "https://github.com/argoproj/applicationset.git", - Files: []v1alpha1.GitFileGeneratorItem{ - { - Path: "examples/git-generator-files-discovery/cluster-config/**/config.json", - }, - }, - }, - }, - }, - }, - // We use an extra-long duration here, as we might need to wait for image pull. - }).Then().ExpectWithDuration(Pod(func(p corev1.Pod) bool { return strings.Contains(p.Name, "guestbook-ui") }), 6*time.Minute). - When(). - Delete(). - And(func() { - t.Log("Waiting 15 seconds to give the cluster a chance to delete the pods.") - // Wait 15 seconds to give the cluster a chance to deletes the pods, if it is going to do so. - // It should NOT delete the pods; to do so would be an ApplicationSet bug, and - // that is what we are testing here. - time.Sleep(15 * time.Second) - // The pod should continue to exist after 15 seconds. - }).Then().Expect(Pod(func(p corev1.Pod) bool { return strings.Contains(p.Name, "guestbook-ui") })) -} - -func TestSimpleGitFilesPreserveResourcesOnDeletionGoTemplate(t *testing.T) { - Given(t). - When(). - CreateNamespace(utils.ApplicationsResourcesNamespace). - // Create a GitGenerator-based ApplicationSet - Create(v1alpha1.ApplicationSet{ - ObjectMeta: metav1.ObjectMeta{ - Name: "simple-git-generator", - }, - Spec: v1alpha1.ApplicationSetSpec{ - GoTemplate: true, - Template: v1alpha1.ApplicationSetTemplate{ - ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{.cluster.name}}-guestbook"}, - Spec: v1alpha1.ApplicationSpec{ - Project: "default", - Source: &v1alpha1.ApplicationSource{ - RepoURL: "https://github.com/argoproj/argocd-example-apps.git", - TargetRevision: "HEAD", - Path: "guestbook", - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: utils.ApplicationsResourcesNamespace, - }, - - // Automatically create resources - SyncPolicy: &v1alpha1.SyncPolicy{ - Automated: &v1alpha1.SyncPolicyAutomated{}, - }, - }, - }, - SyncPolicy: &v1alpha1.ApplicationSetSyncPolicy{ - PreserveResourcesOnDeletion: true, - }, - Generators: []v1alpha1.ApplicationSetGenerator{ - { - Git: &v1alpha1.GitGenerator{ - RepoURL: "https://github.com/argoproj/applicationset.git", - Files: []v1alpha1.GitFileGeneratorItem{ - { - Path: "examples/git-generator-files-discovery/cluster-config/**/config.json", - }, - }, - }, - }, - }, - }, - // We use an extra-long duration here, as we might need to wait for image pull. - }).Then().ExpectWithDuration(Pod(func(p corev1.Pod) bool { return strings.Contains(p.Name, "guestbook-ui") }), 6*time.Minute). - When(). - Delete(). - And(func() { - t.Log("Waiting 15 seconds to give the cluster a chance to delete the pods.") - // Wait 15 seconds to give the cluster a chance to deletes the pods, if it is going to do so. - // It should NOT delete the pods; to do so would be an ApplicationSet bug, and - // that is what we are testing here. - time.Sleep(15 * time.Second) - // The pod should continue to exist after 15 seconds. - }).Then().Expect(Pod(func(p corev1.Pod) bool { return strings.Contains(p.Name, "guestbook-ui") })) -} - func githubSCMMockHandler(t *testing.T) func(http.ResponseWriter, *http.Request) { t.Helper() return func(w http.ResponseWriter, r *http.Request) { @@ -3160,156 +2184,3 @@ func TestPullRequestGeneratorNotAllowedSCMProvider(t *testing.T) { assert.Contains(t, output, "scm provider not allowed") }) } - -func TestGitGeneratorPrivateRepo(t *testing.T) { - FailOnErr(fixture.RunCli("repo", "add", fixture.RepoURL(fixture.RepoURLTypeHTTPS), "--username", fixture.GitUsername, "--password", fixture.GitPassword, "--insecure-skip-server-verification")) - generateExpectedApp := func(name string) v1alpha1.Application { - return v1alpha1.Application{ - TypeMeta: metav1.TypeMeta{ - Kind: application.ApplicationKind, - APIVersion: "argoproj.io/v1alpha1", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: name, - Namespace: fixture.TestNamespace(), - Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, - }, - Spec: v1alpha1.ApplicationSpec{ - Project: "default", - Source: &v1alpha1.ApplicationSource{ - RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), - TargetRevision: "HEAD", - Path: name, - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: name, - }, - }, - } - } - - expectedApps := []v1alpha1.Application{ - generateExpectedApp("https-kustomize-base"), - } - - var expectedAppsNewNamespace []v1alpha1.Application - - Given(t). - When(). - // Create a GitGenerator-based ApplicationSet - Create(v1alpha1.ApplicationSet{ - ObjectMeta: metav1.ObjectMeta{ - Name: "simple-git-generator-private", - }, - Spec: v1alpha1.ApplicationSetSpec{ - Template: v1alpha1.ApplicationSetTemplate{ - ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{path.basename}}"}, - Spec: v1alpha1.ApplicationSpec{ - Project: "default", - Source: &v1alpha1.ApplicationSource{ - RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), - TargetRevision: "HEAD", - Path: "{{path}}", - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: "{{path.basename}}", - }, - }, - }, - Generators: []v1alpha1.ApplicationSetGenerator{ - { - Git: &v1alpha1.GitGenerator{ - RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), - Directories: []v1alpha1.GitDirectoryGeneratorItem{ - { - Path: "*kustomize*", - }, - }, - }, - }, - }, - }, - }).Then().Expect(ApplicationsExist(expectedApps)). - // Delete the ApplicationSet, and verify it deletes the Applications - When(). - Delete().Then().Expect(ApplicationsDoNotExist(expectedAppsNewNamespace)) -} - -func TestGitGeneratorPrivateRepoGoTemplate(t *testing.T) { - FailOnErr(fixture.RunCli("repo", "add", fixture.RepoURL(fixture.RepoURLTypeHTTPS), "--username", fixture.GitUsername, "--password", fixture.GitPassword, "--insecure-skip-server-verification")) - generateExpectedApp := func(name string) v1alpha1.Application { - return v1alpha1.Application{ - TypeMeta: metav1.TypeMeta{ - Kind: application.ApplicationKind, - APIVersion: "argoproj.io/v1alpha1", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: name, - Namespace: fixture.TestNamespace(), - Finalizers: []string{"resources-finalizer.argocd.argoproj.io"}, - }, - Spec: v1alpha1.ApplicationSpec{ - Project: "default", - Source: &v1alpha1.ApplicationSource{ - RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), - TargetRevision: "HEAD", - Path: name, - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: name, - }, - }, - } - } - - expectedApps := []v1alpha1.Application{ - generateExpectedApp("https-kustomize-base"), - } - - var expectedAppsNewNamespace []v1alpha1.Application - - Given(t). - When(). - // Create a GitGenerator-based ApplicationSet - Create(v1alpha1.ApplicationSet{ - ObjectMeta: metav1.ObjectMeta{ - Name: "simple-git-generator-private", - }, - Spec: v1alpha1.ApplicationSetSpec{ - GoTemplate: true, - Template: v1alpha1.ApplicationSetTemplate{ - ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{.path.basename}}"}, - Spec: v1alpha1.ApplicationSpec{ - Project: "default", - Source: &v1alpha1.ApplicationSource{ - RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), - TargetRevision: "HEAD", - Path: "{{.path.path}}", - }, - Destination: v1alpha1.ApplicationDestination{ - Server: "https://kubernetes.default.svc", - Namespace: "{{.path.basename}}", - }, - }, - }, - Generators: []v1alpha1.ApplicationSetGenerator{ - { - Git: &v1alpha1.GitGenerator{ - RepoURL: fixture.RepoURL(fixture.RepoURLTypeHTTPS), - Directories: []v1alpha1.GitDirectoryGeneratorItem{ - { - Path: "*kustomize*", - }, - }, - }, - }, - }, - }, - }).Then().Expect(ApplicationsExist(expectedApps)). - // Delete the ApplicationSet, and verify it deletes the Applications - When(). - Delete().Then().Expect(ApplicationsDoNotExist(expectedAppsNewNamespace)) -} diff --git a/test/e2e/fixture/admin/utils/backup.go b/test/e2e/fixture/admin/utils/backup.go index e6a96c1b92072..f68a5ff2b2d35 100644 --- a/test/e2e/fixture/admin/utils/backup.go +++ b/test/e2e/fixture/admin/utils/backup.go @@ -13,7 +13,7 @@ type ExportedResources []unstructured.Unstructured func GetExportedResourcesFromOutput(output string) (ExportedResources, error) { var resources []unstructured.Unstructured - docs := strings.Split(output, "---") + docs := strings.Split(output, "\n---\n") for _, doc := range docs { doc = strings.TrimSpace(doc) diff --git a/test/e2e/fixture/app/actions.go b/test/e2e/fixture/app/actions.go index 19aa50aac6d97..a8457ad367b06 100644 --- a/test/e2e/fixture/app/actions.go +++ b/test/e2e/fixture/app/actions.go @@ -7,6 +7,8 @@ import ( "slices" "strconv" + rbacv1 "k8s.io/api/rbac/v1" + log "github.com/sirupsen/logrus" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -519,3 +521,17 @@ func (a *Actions) SetTrackingLabel(trackingLabel string) *Actions { errors.CheckError(fixture.SetTrackingLabel(trackingLabel)) return a } + +func (a *Actions) WithImpersonationEnabled(serviceAccountName string, policyRules []rbacv1.PolicyRule) *Actions { + errors.CheckError(fixture.SetImpersonationEnabled("true")) + if serviceAccountName == "" || policyRules == nil { + return a + } + errors.CheckError(fixture.CreateRBACResourcesForImpersonation(serviceAccountName, policyRules)) + return a +} + +func (a *Actions) WithImpersonationDisabled() *Actions { + errors.CheckError(fixture.SetImpersonationEnabled("false")) + return a +} diff --git a/test/e2e/fixture/app/context.go b/test/e2e/fixture/app/context.go index e6158f59cd304..e27143c91eefa 100644 --- a/test/e2e/fixture/app/context.go +++ b/test/e2e/fixture/app/context.go @@ -136,12 +136,12 @@ func (c *Context) CustomSSHKnownHostsAdded() *Context { } func (c *Context) HTTPSRepoURLAdded(withCreds bool) *Context { - repos.AddHTTPSRepo(false, withCreds, fixture.RepoURLTypeHTTPS) + repos.AddHTTPSRepo(false, withCreds, "", fixture.RepoURLTypeHTTPS) return c } func (c *Context) HTTPSInsecureRepoURLAdded(withCreds bool) *Context { - repos.AddHTTPSRepo(true, withCreds, fixture.RepoURLTypeHTTPS) + repos.AddHTTPSRepo(true, withCreds, "", fixture.RepoURLTypeHTTPS) return c } @@ -157,7 +157,7 @@ func (c *Context) HTTPSRepoURLWithClientCertAdded() *Context { func (c *Context) SubmoduleHTTPSRepoURLAdded(withCreds bool) *Context { fixture.CreateSubmoduleRepos("https") - repos.AddHTTPSRepo(false, withCreds, fixture.RepoURLTypeHTTPSSubmoduleParent) + repos.AddHTTPSRepo(false, withCreds, "", fixture.RepoURLTypeHTTPSSubmoduleParent) return c } diff --git a/test/e2e/fixture/applicationsets/context.go b/test/e2e/fixture/applicationsets/context.go index 8698c5bbc7df8..ba9c1d6828f47 100644 --- a/test/e2e/fixture/applicationsets/context.go +++ b/test/e2e/fixture/applicationsets/context.go @@ -4,8 +4,10 @@ import ( "testing" "time" + "github.com/argoproj/argo-cd/v3/test/e2e/fixture" "github.com/argoproj/argo-cd/v3/test/e2e/fixture/applicationsets/utils" "github.com/argoproj/argo-cd/v3/test/e2e/fixture/gpgkeys" + "github.com/argoproj/argo-cd/v3/test/e2e/fixture/repos" ) // Context implements the "given" part of given/when/then @@ -54,3 +56,8 @@ func (c *Context) GPGPublicKeyAdded() *Context { gpgkeys.AddGPGPublicKey() return c } + +func (c *Context) HTTPSInsecureRepoURLAdded(project string) *Context { + repos.AddHTTPSRepo(true, true, project, fixture.RepoURLTypeHTTPS) + return c +} diff --git a/test/e2e/fixture/applicationsets/utils/fixture.go b/test/e2e/fixture/applicationsets/utils/fixture.go index ba4925e766bdb..4a01f9f82050e 100644 --- a/test/e2e/fixture/applicationsets/utils/fixture.go +++ b/test/e2e/fixture/applicationsets/utils/fixture.go @@ -23,6 +23,7 @@ import ( "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" + "github.com/argoproj/argo-cd/v3/common" "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1" appclientset "github.com/argoproj/argo-cd/v3/pkg/client/clientset/versioned" "github.com/argoproj/argo-cd/v3/test/e2e/fixture" @@ -115,6 +116,20 @@ func EnsureCleanState(t *testing.T) { policy := metav1.DeletePropagationForeground fixture.RunFunctionsInParallelAndCheckErrors(t, []func() error{ + func() error { + // kubectl delete secrets -l argocd.argoproj.io/secret-type=repository + return fixtureClient.KubeClientset.CoreV1().Secrets(TestNamespace()).DeleteCollection( + context.Background(), + metav1.DeleteOptions{PropagationPolicy: &policy}, + metav1.ListOptions{LabelSelector: common.LabelKeySecretType + "=" + common.LabelValueSecretTypeRepository}) + }, + func() error { + // kubectl delete secrets -l argocd.argoproj.io/secret-type=repo-creds + return fixtureClient.KubeClientset.CoreV1().Secrets(TestNamespace()).DeleteCollection( + context.Background(), + metav1.DeleteOptions{PropagationPolicy: &policy}, + metav1.ListOptions{LabelSelector: common.LabelKeySecretType + "=" + common.LabelValueSecretTypeRepoCreds}) + }, func() error { // Delete the applicationset-e2e namespace, if it exists err := fixtureClient.KubeClientset.CoreV1().Namespaces().Delete(context.Background(), ApplicationsResourcesNamespace, metav1.DeleteOptions{PropagationPolicy: &policy}) diff --git a/test/e2e/fixture/fixture.go b/test/e2e/fixture/fixture.go index f30651dd75691..295e932fc2a79 100644 --- a/test/e2e/fixture/fixture.go +++ b/test/e2e/fixture/fixture.go @@ -14,9 +14,11 @@ import ( "testing" "time" + corev1 "k8s.io/api/core/v1" + rbacv1 "k8s.io/api/rbac/v1" + jsonpatch "github.com/evanphx/json-patch" log "github.com/sirupsen/logrus" - corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/dynamic" "k8s.io/client-go/kubernetes" @@ -461,6 +463,57 @@ func SetTrackingLabel(trackingLabel string) error { }) } +func SetImpersonationEnabled(impersonationEnabledFlag string) error { + return updateSettingConfigMap(func(cm *corev1.ConfigMap) error { + cm.Data["application.sync.impersonation.enabled"] = impersonationEnabledFlag + return nil + }) +} + +func CreateRBACResourcesForImpersonation(serviceAccountName string, policyRules []rbacv1.PolicyRule) error { + sa := &corev1.ServiceAccount{ + ObjectMeta: metav1.ObjectMeta{ + Name: serviceAccountName, + }, + } + _, err := KubeClientset.CoreV1().ServiceAccounts(DeploymentNamespace()).Create(context.Background(), sa, metav1.CreateOptions{}) + if err != nil { + return err + } + role := &rbacv1.Role{ + ObjectMeta: metav1.ObjectMeta{ + Name: fmt.Sprintf("%s-%s", serviceAccountName, "role"), + }, + Rules: policyRules, + } + _, err = KubeClientset.RbacV1().Roles(DeploymentNamespace()).Create(context.Background(), role, metav1.CreateOptions{}) + if err != nil { + return err + } + rolebinding := &rbacv1.RoleBinding{ + ObjectMeta: metav1.ObjectMeta{ + Name: fmt.Sprintf("%s-%s", serviceAccountName, "rolebinding"), + }, + RoleRef: rbacv1.RoleRef{ + APIGroup: "rbac.authorization.k8s.io", + Kind: "Role", + Name: fmt.Sprintf("%s-%s", serviceAccountName, "role"), + }, + Subjects: []rbacv1.Subject{ + { + Kind: "ServiceAccount", + Name: serviceAccountName, + Namespace: DeploymentNamespace(), + }, + }, + } + _, err = KubeClientset.RbacV1().RoleBindings(DeploymentNamespace()).Create(context.Background(), rolebinding, metav1.CreateOptions{}) + if err != nil { + return err + } + return nil +} + func SetResourceOverridesSplitKeys(overrides map[string]v1alpha1.ResourceOverride) error { return updateSettingConfigMap(func(cm *corev1.ConfigMap) error { for k, v := range overrides { @@ -541,28 +594,6 @@ func SetResourceFilter(filters settings.ResourcesFilter) error { }) } -func SetHelmRepos(repos ...settings.HelmRepoCredentials) error { - return updateSettingConfigMap(func(cm *corev1.ConfigMap) error { - yamlBytes, err := yaml.Marshal(repos) - if err != nil { - return err - } - cm.Data["helm.repositories"] = string(yamlBytes) - return nil - }) -} - -func SetRepos(repos ...settings.RepositoryCredentials) error { - return updateSettingConfigMap(func(cm *corev1.ConfigMap) error { - yamlBytes, err := yaml.Marshal(repos) - if err != nil { - return err - } - cm.Data["repositories"] = string(yamlBytes) - return nil - }) -} - func SetProjectSpec(project string, spec v1alpha1.AppProjectSpec) error { proj, err := AppClientset.ArgoprojV1alpha1().AppProjects(TestNamespace()).Get(context.Background(), project, metav1.GetOptions{}) if err != nil { diff --git a/test/e2e/fixture/project/actions.go b/test/e2e/fixture/project/actions.go index f4fd3029623b1..7e2df3b3e7756 100644 --- a/test/e2e/fixture/project/actions.go +++ b/test/e2e/fixture/project/actions.go @@ -46,6 +46,11 @@ func (a *Actions) AddDestination(cluster string, namespace string) *Actions { return a } +func (a *Actions) AddDestinationServiceAccount(cluster string, namespace string) *Actions { + a.runCli("proj", "add-destination-service-account", a.context.name, cluster, namespace) + return a +} + func (a *Actions) AddSource(repo string) *Actions { a.runCli("proj", "add-source", a.context.name, repo) return a @@ -78,6 +83,18 @@ func (a *Actions) prepareCreateArgs(args []string) []string { if len(a.context.sourceNamespaces) > 0 { args = append(args, "--source-namespaces", strings.Join(a.context.sourceNamespaces, ",")) } + + if len(a.context.repos) > 0 { + for _, repo := range a.context.repos { + args = append(args, "--src", repo) + } + } + + if len(a.context.destinationServiceAccounts) != 0 { + for _, destinationServiceAccount := range a.context.destinationServiceAccounts { + args = append(args, "--dest-service-accounts", destinationServiceAccount) + } + } return args } diff --git a/test/e2e/fixture/project/context.go b/test/e2e/fixture/project/context.go index edb7391111ee4..d0f9118a5b603 100644 --- a/test/e2e/fixture/project/context.go +++ b/test/e2e/fixture/project/context.go @@ -11,11 +11,12 @@ import ( type Context struct { t *testing.T // seconds - timeout int - name string - destination string - repos []string - sourceNamespaces []string + timeout int + name string + destination string + destinationServiceAccounts []string + repos []string + sourceNamespaces []string } func Given(t *testing.T) *Context { @@ -46,6 +47,11 @@ func (c *Context) Destination(destination string) *Context { return c } +func (c *Context) DestinationServiceAccounts(destinationServiceAccounts []string) *Context { + c.destinationServiceAccounts = destinationServiceAccounts + return c +} + func (c *Context) SourceRepositories(repos []string) *Context { c.repos = repos return c diff --git a/test/e2e/fixture/repos/repos.go b/test/e2e/fixture/repos/repos.go index 9f2df9d2df8d0..ccdfae4ab5aa7 100644 --- a/test/e2e/fixture/repos/repos.go +++ b/test/e2e/fixture/repos/repos.go @@ -35,7 +35,7 @@ func AddSSHRepo(insecure bool, credentials bool, repoURLType fixture.RepoURLType } // sets the current repo as the default HTTPS test repo -func AddHTTPSRepo(insecure bool, credentials bool, repoURLType fixture.RepoURLType) { +func AddHTTPSRepo(insecure bool, credentials bool, project string, repoURLType fixture.RepoURLType) { // This construct is somewhat necessary to satisfy the compiler args := []string{"repo", "add", fixture.RepoURL(repoURLType)} if credentials { @@ -44,6 +44,9 @@ func AddHTTPSRepo(insecure bool, credentials bool, repoURLType fixture.RepoURLTy if insecure { args = append(args, "--insecure-skip-server-verification") } + if project != "" { + args = append(args, "--project", project) + } errors.FailOnErr(fixture.RunCli(args...)) } diff --git a/test/e2e/helm_test.go b/test/e2e/helm_test.go index 896f2df2685a9..a0f4eb3c9efc5 100644 --- a/test/e2e/helm_test.go +++ b/test/e2e/helm_test.go @@ -1,7 +1,6 @@ package e2e import ( - "context" "fmt" "net" "net/http" @@ -13,16 +12,12 @@ import ( . "github.com/argoproj/gitops-engine/pkg/sync/common" "github.com/stretchr/testify/assert" corev1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" . "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1" "github.com/argoproj/argo-cd/v3/test/e2e/fixture" . "github.com/argoproj/argo-cd/v3/test/e2e/fixture/app" projectFixture "github.com/argoproj/argo-cd/v3/test/e2e/fixture/project" - "github.com/argoproj/argo-cd/v3/test/e2e/fixture/repos" . "github.com/argoproj/argo-cd/v3/util/errors" - "github.com/argoproj/argo-cd/v3/util/settings" ) func TestHelmHooksAreCreated(t *testing.T) { @@ -436,7 +431,23 @@ func TestHelmValuesHiddenDirectory(t *testing.T) { func TestHelmWithDependencies(t *testing.T) { fixture.SkipOnEnv(t, "HELM") - testHelmWithDependencies(t, "helm-with-dependencies", false) + + ctx := Given(t). + CustomCACertAdded(). + // these are slow tests + Timeout(30). + HelmPassCredentials() + + ctx = ctx.HelmRepoAdded("custom-repo") + + helmVer := "" + + ctx.Path("helm-with-dependencies"). + When(). + CreateApp("--helm-version", helmVer). + Sync(). + Then(). + Expect(SyncStatusIs(SyncStatusCodeSynced)) } func TestHelmWithMultipleDependencies(t *testing.T) { @@ -494,53 +505,6 @@ func TestHelmDependenciesPermissionDenied(t *testing.T) { Expect(Error("", expectedErr)) } -func TestHelmWithDependenciesLegacyRepo(t *testing.T) { - fixture.SkipOnEnv(t, "HELM") - testHelmWithDependencies(t, "helm-with-dependencies", true) -} - -func testHelmWithDependencies(t *testing.T, chartPath string, legacyRepo bool) { - t.Helper() - ctx := Given(t). - CustomCACertAdded(). - // these are slow tests - Timeout(30). - HelmPassCredentials() - if legacyRepo { - ctx.And(func() { - FailOnErr(fixture.Run("", "kubectl", "create", "secret", "generic", "helm-repo", - "-n", fixture.TestNamespace(), - "--from-file=certSecret="+repos.CertPath, - "--from-file=keySecret="+repos.CertKeyPath, - "--from-literal=username="+fixture.GitUsername, - "--from-literal=password="+fixture.GitPassword, - )) - FailOnErr(fixture.KubeClientset.CoreV1().Secrets(fixture.TestNamespace()).Patch(context.Background(), - "helm-repo", types.MergePatchType, []byte(`{"metadata": { "labels": {"e2e.argoproj.io": "true"} }}`), metav1.PatchOptions{})) - - CheckError(fixture.SetHelmRepos(settings.HelmRepoCredentials{ - URL: fixture.RepoURL(fixture.RepoURLTypeHelm), - Name: "custom-repo", - KeySecret: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "helm-repo"}, Key: "keySecret"}, - CertSecret: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "helm-repo"}, Key: "certSecret"}, - UsernameSecret: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "helm-repo"}, Key: "username"}, - PasswordSecret: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "helm-repo"}, Key: "password"}, - })) - }) - } else { - ctx = ctx.HelmRepoAdded("custom-repo") - } - - helmVer := "" - - ctx.Path(chartPath). - When(). - CreateApp("--helm-version", helmVer). - Sync(). - Then(). - Expect(SyncStatusIs(SyncStatusCodeSynced)) -} - func TestHelm3CRD(t *testing.T) { fixture.SkipOnEnv(t, "HELM") Given(t). diff --git a/test/e2e/hook_test.go b/test/e2e/hook_test.go index 18268623ab0ec..a1e3da0e37b53 100644 --- a/test/e2e/hook_test.go +++ b/test/e2e/hook_test.go @@ -10,14 +10,17 @@ import ( "github.com/stretchr/testify/require" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" "github.com/argoproj/gitops-engine/pkg/health" . "github.com/argoproj/gitops-engine/pkg/sync/common" + "github.com/argoproj/pkg/errors" . "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1" . "github.com/argoproj/argo-cd/v3/test/e2e/fixture" . "github.com/argoproj/argo-cd/v3/test/e2e/fixture/app" . "github.com/argoproj/argo-cd/v3/util/errors" + "github.com/argoproj/argo-cd/v3/util/lua" ) func TestPreSyncHookSuccessful(t *testing.T) { @@ -427,3 +430,56 @@ func TestAutomaticallyNamingUnnamedHook(t *testing.T) { assert.Contains(t, resources[2].Name, "postsync") }) } + +func TestHookFinalizerPreSync(t *testing.T) { + testHookFinalizer(t, HookTypePreSync) +} + +func TestHookFinalizerSync(t *testing.T) { + testHookFinalizer(t, HookTypeSync) +} + +func TestHookFinalizerPostSync(t *testing.T) { + testHookFinalizer(t, HookTypePostSync) +} + +func testHookFinalizer(t *testing.T, hookType HookType) { + t.Helper() + Given(t). + And(func() { + errors.CheckError(SetResourceOverrides(map[string]ResourceOverride{ + lua.GetConfigMapKey(schema.FromAPIVersionAndKind("batch/v1", "Job")): { + HealthLua: ` + local hs = {} + hs.status = "Healthy" + if obj.metadata.deletionTimestamp == nil then + hs.status = "Progressing" + hs.message = "Waiting to be externally deleted" + return hs + end + if obj.metadata.finalizers ~= nil then + for i, finalizer in ipairs(obj.metadata.finalizers) do + if finalizer == "argocd.argoproj.io/hook-finalizer" then + hs.message = "Resource has finalizer" + return hs + end + end + end + hs.message = "no finalizer for a hook is wrong" + return hs`, + }, + })) + }). + Path("hook-resource-deleted-externally"). + When(). + PatchFile("hook.yaml", fmt.Sprintf(`[{"op": "replace", "path": "/metadata/annotations", "value": {"argocd.argoproj.io/hook": "%s"}}]`, hookType)). + CreateApp(). + Sync(). + Then(). + Expect(OperationPhaseIs(OperationSucceeded)). + Expect(SyncStatusIs(SyncStatusCodeSynced)). + Expect(ResourceSyncStatusIs("Pod", "pod", SyncStatusCodeSynced)). + Expect(ResourceHealthIs("Pod", "pod", health.HealthStatusHealthy)). + Expect(ResourceResultNumbering(2)). + Expect(ResourceResultIs(ResourceResult{Group: "batch", Version: "v1", Kind: "Job", Namespace: DeploymentNamespace(), Name: "hook", Message: "Resource has finalizer", HookType: hookType, HookPhase: OperationSucceeded, SyncPhase: SyncPhase(hookType)})) +} diff --git a/test/e2e/matrix_e2e_test.go b/test/e2e/matrix_e2e_test.go index 8129001525780..534c74938b253 100644 --- a/test/e2e/matrix_e2e_test.go +++ b/test/e2e/matrix_e2e_test.go @@ -290,11 +290,11 @@ func TestMatrixTerminalMatrixGeneratorSelector(t *testing.T) { } } - expectedApps1 := []v1alpha1.Application{ + excludedApps := []v1alpha1.Application{ generateExpectedApp("cluster1", "kustomize-guestbook"), generateExpectedApp("cluster1", "helm-guestbook"), } - expectedApps2 := []v1alpha1.Application{ + expectedApps := []v1alpha1.Application{ generateExpectedApp("cluster2", "kustomize-guestbook"), generateExpectedApp("cluster2", "helm-guestbook"), } @@ -307,7 +307,6 @@ func TestMatrixTerminalMatrixGeneratorSelector(t *testing.T) { Name: "matrix-generator-nested-matrix", }, Spec: v1alpha1.ApplicationSetSpec{ - ApplyNestedSelectors: true, Template: v1alpha1.ApplicationSetTemplate{ ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{values.name}}-{{path.basename}}"}, Spec: v1alpha1.ApplicationSpec{ @@ -368,7 +367,7 @@ func TestMatrixTerminalMatrixGeneratorSelector(t *testing.T) { }, }, }, - }).Then().Expect(ApplicationsExist(expectedApps1)).Expect(ApplicationsDoNotExist(expectedApps2)). + }).Then().Expect(ApplicationsExist(excludedApps)).Expect(ApplicationsDoNotExist(expectedApps)). // Update the ApplicationSetTerminalGenerator LabelSelector, and verify the Applications are deleted and created When(). @@ -400,17 +399,9 @@ func TestMatrixTerminalMatrixGeneratorSelector(t *testing.T) { }, }, }) - }).Then().Expect(ApplicationsExist(expectedApps2)).Expect(ApplicationsDoNotExist(expectedApps1)). - - // Set ApplyNestedSelector to false and verify all Applications are created - When(). - Update(func(appset *v1alpha1.ApplicationSet) { - appset.Spec.ApplyNestedSelectors = false - }).Then().Expect(ApplicationsExist(expectedApps1)).Expect(ApplicationsExist(expectedApps2)). - - // Delete the ApplicationSet, and verify it deletes the Applications + }).Then().Expect(ApplicationsExist(expectedApps)).Expect(ApplicationsDoNotExist(excludedApps)). When(). - Delete().Then().Expect(ApplicationsDoNotExist(expectedApps1)).Expect(ApplicationsDoNotExist(expectedApps2)) + Delete().Then().Expect(ApplicationsDoNotExist(excludedApps)).Expect(ApplicationsDoNotExist(expectedApps)) } func TestMatrixTerminalMergeGeneratorSelector(t *testing.T) { @@ -440,10 +431,10 @@ func TestMatrixTerminalMergeGeneratorSelector(t *testing.T) { } } - expectedApps1 := []v1alpha1.Application{ + excludedApps := []v1alpha1.Application{ generateExpectedApp("kustomize-guestbook", "1"), } - expectedApps2 := []v1alpha1.Application{ + expectedApps := []v1alpha1.Application{ generateExpectedApp("helm-guestbook", "2"), } @@ -455,7 +446,6 @@ func TestMatrixTerminalMergeGeneratorSelector(t *testing.T) { Name: "matrix-generator-nested-merge", }, Spec: v1alpha1.ApplicationSetSpec{ - ApplyNestedSelectors: true, Template: v1alpha1.ApplicationSetTemplate{ ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{path.basename}}-{{name-suffix}}"}, Spec: v1alpha1.ApplicationSpec{ @@ -517,7 +507,7 @@ func TestMatrixTerminalMergeGeneratorSelector(t *testing.T) { }, }, }, - }).Then().Expect(ApplicationsExist(expectedApps1)).Expect(ApplicationsDoNotExist(expectedApps2)). + }).Then().Expect(ApplicationsExist(excludedApps)).Expect(ApplicationsDoNotExist(expectedApps)). // Update the ApplicationSetTerminalGenerator LabelSelector, and verify the Applications are deleted and created When(). @@ -550,15 +540,7 @@ func TestMatrixTerminalMergeGeneratorSelector(t *testing.T) { }, }, }) - }).Then().Expect(ApplicationsExist(expectedApps2)).Expect(ApplicationsDoNotExist(expectedApps1)). - - // Set ApplyNestedSelector to false and verify all Applications are created - When(). - Update(func(appset *v1alpha1.ApplicationSet) { - appset.Spec.ApplyNestedSelectors = false - }).Then().Expect(ApplicationsExist(expectedApps1)).Expect(ApplicationsExist(expectedApps2)). - - // Delete the ApplicationSet, and verify it deletes the Applications + }).Then().Expect(ApplicationsExist(expectedApps)).Expect(ApplicationsDoNotExist(excludedApps)). When(). - Delete().Then().Expect(ApplicationsDoNotExist(expectedApps1)).Expect(ApplicationsDoNotExist(expectedApps2)) + Delete().Then().Expect(ApplicationsDoNotExist(excludedApps)).Expect(ApplicationsDoNotExist(expectedApps)) } diff --git a/test/e2e/merge_e2e_test.go b/test/e2e/merge_e2e_test.go index a0fa227a81e07..e799c95fdd08a 100644 --- a/test/e2e/merge_e2e_test.go +++ b/test/e2e/merge_e2e_test.go @@ -307,10 +307,10 @@ func TestMergeTerminalMergeGeneratorSelector(t *testing.T) { } } - expectedApps1 := []v1alpha1.Application{ + excludedApps := []v1alpha1.Application{ generateExpectedApp("kustomize-guestbook", "1"), } - expectedApps2 := []v1alpha1.Application{ + expectedApps := []v1alpha1.Application{ generateExpectedApp("helm-guestbook", "2"), } @@ -322,7 +322,6 @@ func TestMergeTerminalMergeGeneratorSelector(t *testing.T) { Name: "merge-generator-nested-merge", }, Spec: v1alpha1.ApplicationSetSpec{ - ApplyNestedSelectors: true, Template: v1alpha1.ApplicationSetTemplate{ ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{Name: "{{path.basename}}-{{name-suffix}}"}, Spec: v1alpha1.ApplicationSpec{ @@ -385,7 +384,7 @@ func TestMergeTerminalMergeGeneratorSelector(t *testing.T) { }, }, }, - }).Then().Expect(ApplicationsExist(expectedApps1)).Expect(ApplicationsDoNotExist(expectedApps2)). + }).Then().Expect(ApplicationsExist(excludedApps)).Expect(ApplicationsDoNotExist(expectedApps)). // Update the ApplicationSetTerminalGenerator LabelSelector, and verify the Applications are deleted and created When(). @@ -418,17 +417,9 @@ func TestMergeTerminalMergeGeneratorSelector(t *testing.T) { }, }, }) - }).Then().Expect(ApplicationsExist(expectedApps2)).Expect(ApplicationsDoNotExist(expectedApps1)). - - // Set ApplyNestedSelector to false and verify all Applications are created - When(). - Update(func(appset *v1alpha1.ApplicationSet) { - appset.Spec.ApplyNestedSelectors = false - }).Then().Expect(ApplicationsExist(expectedApps1)).Expect(ApplicationsExist(expectedApps2)). - - // Delete the ApplicationSet, and verify it deletes the Applications + }).Then().Expect(ApplicationsExist(expectedApps)).Expect(ApplicationsDoNotExist(excludedApps)). When(). - Delete().Then().Expect(ApplicationsDoNotExist(expectedApps1)).Expect(ApplicationsDoNotExist(expectedApps2)) + Delete().Then().Expect(ApplicationsDoNotExist(excludedApps)).Expect(ApplicationsDoNotExist(expectedApps)) } func toAPIExtensionsJSON(t *testing.T, g any) *apiextensionsv1.JSON { diff --git a/test/e2e/repo_creds_test.go b/test/e2e/repo_creds_test.go index 93be22a7bd800..3c56bb9bec502 100644 --- a/test/e2e/repo_creds_test.go +++ b/test/e2e/repo_creds_test.go @@ -1,7 +1,6 @@ package e2e import ( - "fmt" "testing" "github.com/argoproj/argo-cd/v3/test/e2e/fixture" @@ -33,7 +32,7 @@ func TestCannotAddAppFromClientCertRepoWithoutCfg(t *testing.T) { Expect(Error("", "repository not accessible")) } -// make sure you can create an app from a private repo, if the repo is set-up in the CM +// make sure you can create an app from a private repo, if the repo is set-up func TestCanAddAppFromPrivateRepoWithRepoCfg(t *testing.T) { Given(t). RepoURLType(fixture.RepoURLTypeHTTPS). @@ -48,29 +47,6 @@ func TestCanAddAppFromPrivateRepoWithRepoCfg(t *testing.T) { Expect(Success("")) } -// make sure you can create an app from a private repo, if the creds are set-up in the CM -func TestCanAddAppFromInsecurePrivateRepoWithCredCfg(t *testing.T) { - Given(t). - CustomCACertAdded(). - RepoURLType(fixture.RepoURLTypeHTTPS). - Path(fixture.LocalOrRemotePath("https-kustomize-base")). - And(func() { - secretName := fixture.CreateSecret(fixture.GitUsername, fixture.GitPassword) - FailOnErr(fixture.Run("", "kubectl", "patch", "cm", "argocd-cm", - "-n", fixture.TestNamespace(), - "-p", fmt.Sprintf( - `{"data": {"repository.credentials": "- passwordSecret:\n key: password\n name: %s\n url: %s\n insecure: true\n usernameSecret:\n key: username\n name: %s\n"}}`, - secretName, - fixture.RepoURL(fixture.RepoURLTypeHTTPS), - secretName, - ))) - }). - When(). - CreateApp(). - Then(). - Expect(Success("")) -} - // make sure we can create an app from a private repo, in a secure manner using // a custom CA certificate bundle func TestCanAddAppFromPrivateRepoWithCredCfg(t *testing.T) { @@ -80,42 +56,6 @@ func TestCanAddAppFromPrivateRepoWithCredCfg(t *testing.T) { HTTPSRepoURLAdded(false). RepoURLType(fixture.RepoURLTypeHTTPS). Path(fixture.LocalOrRemotePath("https-kustomize-base")). - And(func() { - secretName := fixture.CreateSecret(fixture.GitUsername, fixture.GitPassword) - FailOnErr(fixture.Run("", "kubectl", "patch", "cm", "argocd-cm", - "-n", fixture.TestNamespace(), - "-p", fmt.Sprintf( - `{"data": {"repository.credentials": "- passwordSecret:\n key: password\n name: %s\n url: %s\n usernameSecret:\n key: username\n name: %s\n"}}`, - secretName, - fixture.RepoURL(fixture.RepoURLTypeHTTPS), - secretName, - ))) - }). - When(). - CreateApp(). - Then(). - Expect(Success("")) -} - -// make sure we can create an app from a private repo, in a secure manner using -// a custom CA certificate bundle -func TestCanAddAppFromClientCertRepoWithCredCfg(t *testing.T) { - Given(t). - CustomCACertAdded(). - HTTPSRepoURLWithClientCertAdded(). - RepoURLType(fixture.RepoURLTypeHTTPSClientCert). - Path(fixture.LocalOrRemotePath("https-kustomize-base")). - And(func() { - secretName := fixture.CreateSecret(fixture.GitUsername, fixture.GitPassword) - FailOnErr(fixture.Run("", "kubectl", "patch", "cm", "argocd-cm", - "-n", fixture.TestNamespace(), - "-p", fmt.Sprintf( - `{"data": {"repository.credentials": "- passwordSecret:\n key: password\n name: %s\n url: %s\n usernameSecret:\n key: username\n name: %s\n"}}`, - secretName, - fixture.RepoURL(fixture.RepoURLTypeHTTPS), - secretName, - ))) - }). When(). CreateApp(). Then(). diff --git a/test/e2e/repo_management_test.go b/test/e2e/repo_management_test.go index d740caf0a544c..a911f901f9185 100644 --- a/test/e2e/repo_management_test.go +++ b/test/e2e/repo_management_test.go @@ -14,7 +14,6 @@ import ( "github.com/argoproj/argo-cd/v3/test/e2e/fixture/repos" . "github.com/argoproj/argo-cd/v3/util/errors" argoio "github.com/argoproj/argo-cd/v3/util/io" - "github.com/argoproj/argo-cd/v3/util/settings" ) func TestAddRemovePublicRepo(t *testing.T) { @@ -89,7 +88,6 @@ func TestGetRepoWithInheritedCreds(t *testing.T) { func TestUpsertExistingRepo(t *testing.T) { app.Given(t).And(func() { - CheckError(fixture.SetRepos(settings.RepositoryCredentials{URL: fixture.RepoURL(fixture.RepoURLTypeFile)})) repoUrl := fixture.RepoURL(fixture.RepoURLTypeFile) _, err := fixture.RunCli("repo", "add", repoUrl) require.NoError(t, err) diff --git a/test/e2e/scoped_repository_test.go b/test/e2e/scoped_repository_test.go index ce564c9975fae..e2397135acdd2 100644 --- a/test/e2e/scoped_repository_test.go +++ b/test/e2e/scoped_repository_test.go @@ -189,7 +189,7 @@ func TestDeleteRepository(t *testing.T) { Delete(). Then(). And(func(_ *Repository, err error) { - assert.Equal(t, "repo not found", err.Error()) + assert.EqualError(t, err, "repo not found") }) } diff --git a/test/e2e/sync_with_impersonate_test.go b/test/e2e/sync_with_impersonate_test.go index 936956a568045..a8665942ef23a 100644 --- a/test/e2e/sync_with_impersonate_test.go +++ b/test/e2e/sync_with_impersonate_test.go @@ -6,8 +6,9 @@ import ( "testing" "time" + "github.com/argoproj/argo-cd/v3/test/e2e/fixture/project" + "github.com/stretchr/testify/require" - corev1 "k8s.io/api/core/v1" rbacv1 "k8s.io/api/rbac/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" @@ -26,7 +27,7 @@ func TestSyncWithFeatureDisabled(t *testing.T) { Given(t). Path("guestbook"). When(). - SetParamInSettingConfigMap("application.sync.impersonation.enabled", "false"). + WithImpersonationDisabled(). CreateFromFile(func(app *v1alpha1.Application) { app.Spec.SyncPolicy = &v1alpha1.SyncPolicy{Automated: &v1alpha1.SyncPolicyAutomated{}} }). @@ -41,10 +42,10 @@ func TestSyncWithNoDestinationServiceAccountsInProject(t *testing.T) { Given(t). Path("guestbook"). When(). - SetParamInSettingConfigMap("application.sync.impersonation.enabled", "true"). CreateFromFile(func(app *v1alpha1.Application) { app.Spec.SyncPolicy = &v1alpha1.SyncPolicy{Automated: &v1alpha1.SyncPolicyAutomated{}} }). + WithImpersonationEnabled("", nil). Then(). // With the impersonation feature enabled, Application sync must fail // when there are no destination service accounts configured in AppProject @@ -55,45 +56,40 @@ func TestSyncWithNoDestinationServiceAccountsInProject(t *testing.T) { func TestSyncWithImpersonateWithSyncServiceAccount(t *testing.T) { projectName := "sync-test-project" serviceAccountName := "test-account" - roleName := "test-account-sa-role" - Given(t). + + projectCtx := project.Given(t) + appCtx := Given(t) + + projectCtx. + Name(projectName). + SourceNamespaces([]string{"*"}). + SourceRepositories([]string{"*"}). + Destination("*,*"). + DestinationServiceAccounts( + []string{ + fmt.Sprintf("%s,%s,%s", "*", fixture.DeploymentNamespace(), serviceAccountName), + fmt.Sprintf("%s,%s,%s", v1alpha1.KubernetesInternalAPIServerAddr, fixture.DeploymentNamespace(), "missing-serviceAccount"), + }). + When(). + Create(). + Then(). + Expect() + + appCtx. SetTrackingMethod("annotation"). Path("guestbook"). When(). - SetParamInSettingConfigMap("application.sync.impersonation.enabled", "true"). - And(func() { - destinationServiceAccounts := []v1alpha1.ApplicationDestinationServiceAccount{ - { - Server: "*", - Namespace: fixture.DeploymentNamespace(), - DefaultServiceAccount: serviceAccountName, - }, - { - Server: "*", - Namespace: fixture.DeploymentNamespace(), - DefaultServiceAccount: "missing-serviceAccount", - }, - } - err := createTestServiceAccount(serviceAccountName, fixture.DeploymentNamespace()) - require.NoError(t, err) - err = createTestAppProject(projectName, fixture.TestNamespace(), destinationServiceAccounts) - require.NoError(t, err) - err = createTestRole(roleName, fixture.DeploymentNamespace(), []rbacv1.PolicyRule{ - { - APIGroups: []string{"apps", ""}, - Resources: []string{"deployments"}, - Verbs: []string{"*"}, - }, - { - APIGroups: []string{""}, - Resources: []string{"services"}, - Verbs: []string{"*"}, - }, - }) - require.NoError(t, err) - - err = createTestRoleBinding(roleName, serviceAccountName, fixture.DeploymentNamespace()) - require.NoError(t, err) + WithImpersonationEnabled(serviceAccountName, []rbacv1.PolicyRule{ + { + APIGroups: []string{"apps", ""}, + Resources: []string{"deployments"}, + Verbs: []string{"*"}, + }, + { + APIGroups: []string{""}, + Resources: []string{"services"}, + Verbs: []string{"*"}, + }, }). CreateFromFile(func(app *v1alpha1.Application) { app.Spec.SyncPolicy = &v1alpha1.SyncPolicy{Automated: &v1alpha1.SyncPolicyAutomated{}} @@ -109,45 +105,40 @@ func TestSyncWithImpersonateWithSyncServiceAccount(t *testing.T) { func TestSyncWithMissingServiceAccount(t *testing.T) { projectName := "false-test-project" serviceAccountName := "test-account" - roleName := "test-account-sa-role" - Given(t). + + projectCtx := project.Given(t) + appCtx := Given(t) + + projectCtx. + Name(projectName). + SourceNamespaces([]string{"*"}). + SourceRepositories([]string{"*"}). + Destination("*,*"). + DestinationServiceAccounts( + []string{ + fmt.Sprintf("%s,%s,%s", v1alpha1.KubernetesInternalAPIServerAddr, fixture.DeploymentNamespace(), "missing-serviceAccount"), + fmt.Sprintf("%s,%s,%s", "*", fixture.DeploymentNamespace(), serviceAccountName), + }). + When(). + Create(). + Then(). + Expect() + + appCtx. SetTrackingMethod("annotation"). Path("guestbook"). When(). - SetParamInSettingConfigMap("application.sync.impersonation.enabled", "true"). - And(func() { - destinationServiceAccounts := []v1alpha1.ApplicationDestinationServiceAccount{ - { - Server: "*", - Namespace: fixture.DeploymentNamespace(), - DefaultServiceAccount: "missing-serviceAccount", - }, - { - Server: "*", - Namespace: fixture.DeploymentNamespace(), - DefaultServiceAccount: serviceAccountName, - }, - } - err := createTestServiceAccount(serviceAccountName, fixture.DeploymentNamespace()) - require.NoError(t, err) - err = createTestAppProject(projectName, fixture.TestNamespace(), destinationServiceAccounts) - require.NoError(t, err) - err = createTestRole(roleName, fixture.DeploymentNamespace(), []rbacv1.PolicyRule{ - { - APIGroups: []string{"apps", ""}, - Resources: []string{"deployments"}, - Verbs: []string{"*"}, - }, - { - APIGroups: []string{""}, - Resources: []string{"services"}, - Verbs: []string{"*"}, - }, - }) - require.NoError(t, err) - - err = createTestRoleBinding(roleName, serviceAccountName, fixture.DeploymentNamespace()) - require.NoError(t, err) + WithImpersonationEnabled(serviceAccountName, []rbacv1.PolicyRule{ + { + APIGroups: []string{"apps", ""}, + Resources: []string{"deployments"}, + Verbs: []string{"*"}, + }, + { + APIGroups: []string{""}, + Resources: []string{"services"}, + Verbs: []string{"*"}, + }, }). CreateFromFile(func(app *v1alpha1.Application) { app.Spec.SyncPolicy = &v1alpha1.SyncPolicy{Automated: &v1alpha1.SyncPolicyAutomated{}} @@ -164,39 +155,39 @@ func TestSyncWithMissingServiceAccount(t *testing.T) { func TestSyncWithValidSAButDisallowedDestination(t *testing.T) { projectName := "negation-test-project" serviceAccountName := "test-account" - roleName := "test-account-sa-role" - Given(t). + + projectCtx := project.Given(t) + appCtx := Given(t) + + projectCtx. + Name(projectName). + SourceNamespaces([]string{"*"}). + SourceRepositories([]string{"*"}). + Destination("*,*"). + DestinationServiceAccounts( + []string{ + fmt.Sprintf("%s,%s,%s", "*", fixture.DeploymentNamespace(), serviceAccountName), + }). + When(). + Create(). + Then(). + Expect() + + appCtx. SetTrackingMethod("annotation"). Path("guestbook"). When(). - SetParamInSettingConfigMap("application.sync.impersonation.enabled", "true"). - And(func() { - destinationServiceAccounts := []v1alpha1.ApplicationDestinationServiceAccount{ - { - Server: "*", - Namespace: fixture.DeploymentNamespace(), - DefaultServiceAccount: serviceAccountName, - }, - } - err := createTestServiceAccount(serviceAccountName, fixture.DeploymentNamespace()) - require.NoError(t, err) - err = createTestAppProject(projectName, fixture.TestNamespace(), destinationServiceAccounts) - require.NoError(t, err) - err = createTestRole(roleName, fixture.DeploymentNamespace(), []rbacv1.PolicyRule{ - { - APIGroups: []string{"apps", ""}, - Resources: []string{"deployments"}, - Verbs: []string{"*"}, - }, - { - APIGroups: []string{""}, - Resources: []string{"services"}, - Verbs: []string{"*"}, - }, - }) - require.NoError(t, err) - err = createTestRoleBinding(roleName, serviceAccountName, fixture.DeploymentNamespace()) - require.NoError(t, err) + WithImpersonationEnabled(serviceAccountName, []rbacv1.PolicyRule{ + { + APIGroups: []string{"apps", ""}, + Resources: []string{"deployments"}, + Verbs: []string{"*"}, + }, + { + APIGroups: []string{""}, + Resources: []string{"services"}, + Verbs: []string{"*"}, + }, }). CreateFromFile(func(app *v1alpha1.Application) { app.Spec.SyncPolicy = &v1alpha1.SyncPolicy{Automated: &v1alpha1.SyncPolicyAutomated{}} @@ -219,84 +210,3 @@ func TestSyncWithValidSAButDisallowedDestination(t *testing.T) { // but the destination namespace is now disallowed. ExpectConsistently(SyncStatusIs(v1alpha1.SyncStatusCodeUnknown), WaitDuration, TimeoutDuration) } - -// createTestAppProject creates a test AppProject resource. -func createTestAppProject(name, namespace string, destinationServiceAccounts []v1alpha1.ApplicationDestinationServiceAccount) error { - appProject := &v1alpha1.AppProject{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - Namespace: namespace, - }, - Spec: v1alpha1.AppProjectSpec{ - SourceRepos: []string{"*"}, - SourceNamespaces: []string{"*"}, - Destinations: []v1alpha1.ApplicationDestination{ - { - Server: "*", - Namespace: "*", - }, - }, - ClusterResourceWhitelist: []metav1.GroupKind{ - { - Group: "*", - Kind: "*", - }, - }, - DestinationServiceAccounts: destinationServiceAccounts, - }, - } - - _, err := fixture.AppClientset.ArgoprojV1alpha1().AppProjects(namespace).Create(context.Background(), appProject, metav1.CreateOptions{}) - return err -} - -// createTestRole creates a test Role resource. -func createTestRole(roleName, namespace string, rules []rbacv1.PolicyRule) error { - role := &rbacv1.Role{ - ObjectMeta: metav1.ObjectMeta{ - Name: roleName, - Namespace: namespace, - }, - Rules: rules, - } - - _, err := fixture.KubeClientset.RbacV1().Roles(namespace).Create(context.Background(), role, metav1.CreateOptions{}) - return err -} - -// createTestRoleBinding creates a test RoleBinding resource. -func createTestRoleBinding(roleName, serviceAccountName, namespace string) error { - roleBinding := &rbacv1.RoleBinding{ - ObjectMeta: metav1.ObjectMeta{ - Name: roleName + "-binding", - }, - Subjects: []rbacv1.Subject{ - { - Kind: "ServiceAccount", - Name: serviceAccountName, - Namespace: namespace, - }, - }, - RoleRef: rbacv1.RoleRef{ - Kind: "Role", - Name: roleName, - APIGroup: "rbac.authorization.k8s.io", - }, - } - - _, err := fixture.KubeClientset.RbacV1().RoleBindings(namespace).Create(context.Background(), roleBinding, metav1.CreateOptions{}) - return err -} - -// createTestServiceAccount creates a test ServiceAccount resource. -func createTestServiceAccount(name, namespace string) error { - serviceAccount := &corev1.ServiceAccount{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - Namespace: namespace, - }, - } - - _, err := fixture.KubeClientset.CoreV1().ServiceAccounts(namespace).Create(context.Background(), serviceAccount, metav1.CreateOptions{}) - return err -} diff --git a/test/e2e/testdata/hook-resource-deleted-externally/hook.yaml b/test/e2e/testdata/hook-resource-deleted-externally/hook.yaml new file mode 100644 index 0000000000000..1bb04369c9516 --- /dev/null +++ b/test/e2e/testdata/hook-resource-deleted-externally/hook.yaml @@ -0,0 +1,18 @@ +apiVersion: batch/v1 +kind: Job +metadata: + annotations: + argocd.argoproj.io/hook: Sync + name: hook +spec: + ttlSecondsAfterFinished: 0 + backoffLimit: 0 + template: + spec: + containers: + - command: + - "true" + image: quay.io/argoprojlabs/argocd-e2e-container:0.1 + imagePullPolicy: IfNotPresent + name: main + restartPolicy: Never \ No newline at end of file diff --git a/test/e2e/testdata/hook-resource-deleted-externally/pod.yaml b/test/e2e/testdata/hook-resource-deleted-externally/pod.yaml new file mode 100644 index 0000000000000..001aa52b04cec --- /dev/null +++ b/test/e2e/testdata/hook-resource-deleted-externally/pod.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Pod +metadata: + name: pod +spec: + containers: + - name: main + image: quay.io/argoprojlabs/argocd-e2e-container:0.1 + imagePullPolicy: IfNotPresent + command: + - "true" + restartPolicy: Never diff --git a/test/remote/Dockerfile b/test/remote/Dockerfile index 9309f02bdc93f..16d676f13c771 100644 --- a/test/remote/Dockerfile +++ b/test/remote/Dockerfile @@ -1,6 +1,6 @@ ARG BASE_IMAGE=docker.io/library/ubuntu:24.04@sha256:80dd3c3b9c6cecb9f1667e9290b3bc61b78c2678c02cbdae5f0fea92cc6734ab -FROM docker.io/library/golang:1.23.5@sha256:51a6466e8dbf3e00e422eb0f7a97ac450b2d57b33617bbe8d2ee0bddcd9d0d37 AS go +FROM docker.io/library/golang:1.23.6@sha256:927112936d6b496ed95f55f362cc09da6e3e624ef868814c56d55bd7323e0959 AS go RUN go install github.com/mattn/goreman@latest && \ go install github.com/kisielk/godepgraph@latest diff --git a/ui/src/app/applications/components/application-details/application-details-app-dropdown.tsx b/ui/src/app/applications/components/application-details/application-details-app-dropdown.tsx index 615ddf1a47511..df330abed2b1b 100644 --- a/ui/src/app/applications/components/application-details/application-details-app-dropdown.tsx +++ b/ui/src/app/applications/components/application-details/application-details-app-dropdown.tsx @@ -43,7 +43,7 @@ export const ApplicationsDetailsAppDropdown = (props: {appName: string}) => { }) .slice(0, 100) // take top 100 results after filtering to avoid performance issues .map(app => ( -
                                                                  • ctx.navigation.goto(getAppUrl(app))}> +
                                                                  • ctx.navigation.goto(`/${getAppUrl(app)}`)}> {app.metadata.name} {app.metadata.name === props.appName && ' (current)'}
                                                                  • )) diff --git a/ui/src/app/applications/components/pod-logs-viewer/pod-logs-viewer.tsx b/ui/src/app/applications/components/pod-logs-viewer/pod-logs-viewer.tsx index 7c7eab9167afc..e1620ddc33679 100644 --- a/ui/src/app/applications/components/pod-logs-viewer/pod-logs-viewer.tsx +++ b/ui/src/app/applications/components/pod-logs-viewer/pod-logs-viewer.tsx @@ -2,7 +2,7 @@ import {DataLoader} from 'argo-ui'; import * as classNames from 'classnames'; import * as React from 'react'; import {useEffect, useState, useRef} from 'react'; -import {bufferTime, delay, retryWhen} from 'rxjs/operators'; +import {bufferTime, catchError, delay, retryWhen} from 'rxjs/operators'; import {LogEntry} from '../../../shared/models'; import {services, ViewPreferences} from '../../../shared/services'; @@ -27,6 +27,7 @@ import {PodNamesToggleButton} from './pod-names-toggle-button'; import {AutoScrollButton} from './auto-scroll-button'; import {WrapLinesButton} from './wrap-lines-button'; import Ansi from 'ansi-to-react'; +import {EMPTY} from 'rxjs'; export interface PodLogsProps { namespace: string; @@ -95,6 +96,7 @@ export const PodsLogsViewer = (props: PodLogsProps) => { const [logs, setLogs] = useState([]); const logsContainerRef = useRef(null); const uniquePods = Array.from(new Set(logs.map(log => log.podName))); + const [errorMessage, setErrorMessage] = useState(null); const setWithQueryParams = void>(key: string, cb: T) => { return (val => { @@ -155,9 +157,20 @@ export const PodsLogsViewer = (props: PodLogsProps) => { sinceSeconds, filter, previous - }) // accumulate log changes and render only once every 100ms to reduce CPU usage - .pipe(bufferTime(100)) - .pipe(retryWhen(errors => errors.pipe(delay(500)))) + }) + .pipe( + bufferTime(100), + catchError((error: any) => { + const errorBody = JSON.parse(error.body); + if (errorBody.error && errorBody.error.message) { + if (errorBody.error.message.includes('max pods to view logs are reached')) { + setErrorMessage('Max pods to view logs are reached. Please provide more granular query.'); + return EMPTY; // Non-retryable condition, stop the stream and display the error message. + } + } + }), + retryWhen(errors => errors.pipe(delay(500))) + ) .subscribe(log => setLogs(previousLogs => previousLogs.concat(log))); return () => logsSource.unsubscribe(); @@ -268,7 +281,11 @@ export const PodsLogsViewer = (props: PodLogsProps) => {
                                                  - {({width, height}: {width: number; height: number}) => logsContent(width, height, prefs.appDetails.wrapLines, prefs)} + {errorMessage ? ( +
                                                  {errorMessage}
                                                  + ) : ( + {({width, height}: {width: number; height: number}) => logsContent(width, height, prefs.appDetails.wrapLines, prefs)} + )}
                                                  ); diff --git a/ui/src/app/settings/components/project-details/project-details.tsx b/ui/src/app/settings/components/project-details/project-details.tsx index 96110c2ff9cee..2da3501439257 100644 --- a/ui/src/app/settings/components/project-details/project-details.tsx +++ b/ui/src/app/settings/components/project-details/project-details.tsx @@ -517,6 +517,10 @@ export class ProjectDetails extends React.Component +
                                                  + USE AND OPERATOR + {helpTip('Use AND operator while selecting the apps that match the configured selectors')} +
                                                  {(proj.spec.syncWindows || []).map((window, i) => ( @@ -534,6 +538,7 @@ export class ProjectDetails extends React.Component{(window.namespaces || ['-']).join(',')}
                                                  {(window.clusters || ['-']).join(',')}
                                                  {window.manualSync ? 'Enabled' : 'Disabled'}
                                                  +
                                                  {window.andOperator ? 'Enabled' : 'Disabled'}
                                                  ))} diff --git a/ui/src/app/settings/components/project-sync-windows-edit-panel/project-sync-windows-edit-panel.tsx b/ui/src/app/settings/components/project-sync-windows-edit-panel/project-sync-windows-edit-panel.tsx index 1a0fb520dc314..671b88ff8619b 100644 --- a/ui/src/app/settings/components/project-sync-windows-edit-panel/project-sync-windows-edit-panel.tsx +++ b/ui/src/app/settings/components/project-sync-windows-edit-panel/project-sync-windows-edit-panel.tsx @@ -67,6 +67,14 @@ export const ProjectSyncWindowsEditPanel = (props: ProjectSyncWindowsEditPanelPr
                                                  +
                                                  + +
                                                  diff --git a/ui/src/app/shared/models.ts b/ui/src/app/shared/models.ts index 02f8ccbf39c76..953585a1d17c2 100644 --- a/ui/src/app/shared/models.ts +++ b/ui/src/app/shared/models.ts @@ -811,6 +811,7 @@ export interface SyncWindow { clusters: string[]; manualSync: boolean; timeZone: string; + andOperator: boolean; } export interface Project { diff --git a/ui/src/app/shared/services/requests.ts b/ui/src/app/shared/services/requests.ts index 4df6d1e4ddf19..ef44fa465155e 100644 --- a/ui/src/app/shared/services/requests.ts +++ b/ui/src/app/shared/services/requests.ts @@ -68,7 +68,18 @@ export default { loadEventSource(url: string): Observable { return Observable.create((observer: Observer) => { - let eventSource = new EventSource(`${apiRoot()}${url}`); + const fullUrl = `${apiRoot()}${url}`; + + // If there is an error, show it beforehand + fetch(fullUrl).then(response => { + if (!response.ok) { + return response.text().then(text => { + observer.error({status: response.status, statusText: response.statusText, body: text}); + }); + } + }); + + let eventSource = new EventSource(fullUrl); eventSource.onmessage = msg => observer.next(msg.data); eventSource.onerror = e => () => { observer.error(e); diff --git a/util/app/path/path_test.go b/util/app/path/path_test.go index 49d467a691ad6..efd818e95b12a 100644 --- a/util/app/path/path_test.go +++ b/util/app/path/path_test.go @@ -179,9 +179,7 @@ func Test_AppFilesHaveChanged(t *testing.T) { t.Run(ttc.name, func(t *testing.T) { t.Parallel() refreshPaths := GetAppRefreshPaths(ttc.app) - if got := AppFilesHaveChanged(refreshPaths, ttc.files); got != ttc.changeExpected { - t.Errorf("AppFilesHaveChanged() = %v, want %v", got, ttc.changeExpected) - } + assert.Equal(t, ttc.changeExpected, AppFilesHaveChanged(refreshPaths, ttc.files), "AppFilesHaveChanged()") }) } } @@ -206,9 +204,7 @@ func Test_GetAppRefreshPaths(t *testing.T) { ttc := tt t.Run(ttc.name, func(t *testing.T) { t.Parallel() - if got := GetAppRefreshPaths(ttc.app); !assert.ElementsMatch(t, ttc.expectedPaths, got) { - t.Errorf("GetAppRefreshPath() = %v, want %v", got, ttc.expectedPaths) - } + assert.ElementsMatch(t, ttc.expectedPaths, GetAppRefreshPaths(ttc.app), "GetAppRefreshPath()") }) } } diff --git a/util/argo/argo_test.go b/util/argo/argo_test.go index e578f3544cbd2..091ba69abdbeb 100644 --- a/util/argo/argo_test.go +++ b/util/argo/argo_test.go @@ -260,9 +260,8 @@ func TestContainsSyncResource(t *testing.T) { } for _, table := range tables { - if out := ContainsSyncResource(table.u.GetName(), table.u.GetNamespace(), table.u.GroupVersionKind(), table.rr); out != table.expected { - t.Errorf("Expected %t for slice %+v contains resource %+v; instead got %t", table.expected, table.rr, table.u, out) - } + out := ContainsSyncResource(table.u.GetName(), table.u.GetNamespace(), table.u.GroupVersionKind(), table.rr) + assert.Equal(t, table.expected, out, "Expected %t for slice %+v contains resource %+v; instead got %t", table.expected, table.rr, table.u, out) } } @@ -965,7 +964,7 @@ func TestGetDestinationCluster(t *testing.T) { } _, err := GetDestinationCluster(context.Background(), dest, nil) - assert.Equal(t, "application destination can't have both name and server defined: minikube https://127.0.0.1:6443", err.Error()) + assert.EqualError(t, err, "application destination can't have both name and server defined: minikube https://127.0.0.1:6443") }) t.Run("GetClusterServersByName fails", func(t *testing.T) { @@ -989,7 +988,7 @@ func TestGetDestinationCluster(t *testing.T) { db.On("GetClusterServersByName", context.Background(), "minikube").Return(nil, nil) _, err := GetDestinationCluster(context.Background(), dest, db) - assert.Equal(t, "there are no clusters with this name: minikube", err.Error()) + assert.EqualError(t, err, "there are no clusters with this name: minikube") }) t.Run("Validate too many clusters with the same name", func(t *testing.T) { @@ -1001,7 +1000,7 @@ func TestGetDestinationCluster(t *testing.T) { db.On("GetClusterServersByName", context.Background(), "dind").Return([]string{"https://127.0.0.1:2443", "https://127.0.0.1:8443"}, nil) _, err := GetDestinationCluster(context.Background(), dest, db) - assert.Equal(t, "there are 2 clusters with the same name: [https://127.0.0.1:2443 https://127.0.0.1:8443]", err.Error()) + assert.EqualError(t, err, "there are 2 clusters with the same name: [https://127.0.0.1:2443 https://127.0.0.1:8443]") }) } @@ -1590,8 +1589,7 @@ func TestAugmentSyncMsg(t *testing.T) { tt.res.Message = tt.msg msg, err := AugmentSyncMsg(tt.res, tt.mockFn) if tt.errMsg != "" { - require.Error(t, err) - assert.Equal(t, tt.errMsg, err.Error()) + assert.EqualError(t, err, tt.errMsg) } else { require.NoError(t, err) assert.Equal(t, tt.expectedMessage, msg) @@ -1701,7 +1699,7 @@ func TestGetAppEventLabels(t *testing.T) { argoDB := db.NewDB("default", settingsMgr, kubeClient) eventLabels := GetAppEventLabels(ctx, &app, applisters.NewAppProjectLister(informer.GetIndexer()), test.FakeArgoCDNamespace, settingsMgr, argoDB) - assert.Equal(t, len(tt.expectedEventLabels), len(eventLabels)) + assert.Len(t, eventLabels, len(tt.expectedEventLabels)) for ek, ev := range tt.expectedEventLabels { v, found := eventLabels[ek] assert.True(t, found) diff --git a/util/cache/appstate/cache_test.go b/util/cache/appstate/cache_test.go index dac49b3910698..e3baa96a60b9f 100644 --- a/util/cache/appstate/cache_test.go +++ b/util/cache/appstate/cache_test.go @@ -59,6 +59,24 @@ func TestCache_GetAppResourcesTree(t *testing.T) { assert.Equal(t, &ApplicationTree{Nodes: []ResourceNode{{}}}, value) } +func TestCache_GetClusterInfo(t *testing.T) { + cache := newFixtures().Cache + // cache miss + res := &ClusterInfo{} + err := cache.GetClusterInfo("http://minikube", res) + assert.Equal(t, ErrCacheMiss, err) + // populate cache + err = cache.SetClusterInfo("http://kind-cluster", &ClusterInfo{ServerVersion: "0.24.0"}) + require.NoError(t, err) + // cache miss + err = cache.GetClusterInfo("http://kind-clusterss", res) + assert.Equal(t, ErrCacheMiss, err) + // cache hit + err = cache.GetClusterInfo("http://kind-cluster", res) + require.NoError(t, err) + assert.Equal(t, &ClusterInfo{ServerVersion: "0.24.0"}, res) +} + func TestAddCacheFlagsToCmd(t *testing.T) { cache, err := AddCacheFlagsToCmd(&cobra.Command{})() require.NoError(t, err) diff --git a/util/claims/claims_test.go b/util/claims/claims_test.go index 607ebfbdd97c3..6b9a3fc8a5291 100644 --- a/util/claims/claims_test.go +++ b/util/claims/claims_test.go @@ -7,6 +7,7 @@ import ( "github.com/golang-jwt/jwt/v5" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestGetUserIdentifier(t *testing.T) { @@ -147,12 +148,11 @@ func TestMapClaimsToArgoClaims(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got, err := MapClaimsToArgoClaims(tt.claims) - if (err != nil) != tt.wantErr { - t.Errorf("MapClaimsToArgoClaims() error = %v, wantErr %v", err, tt.wantErr) - return - } - if !reflect.DeepEqual(got, tt.want) { - t.Errorf("MapClaimsToArgoClaims() = %v, want %v", got, tt.want) + if tt.wantErr { + assert.Error(t, err, "MapClaimsToArgoClaims()") + } else { + require.NoError(t, err, "MapClaimsToArgoClaims()") + assert.Truef(t, reflect.DeepEqual(got, tt.want), "MapClaimsToArgoClaims() = %v, want %v", got, tt.want) } }) } diff --git a/util/clusterauth/clusterauth_test.go b/util/clusterauth/clusterauth_test.go index 2359616b96c50..23f4ef1db62cc 100644 --- a/util/clusterauth/clusterauth_test.go +++ b/util/clusterauth/clusterauth_test.go @@ -291,9 +291,7 @@ func Test_getOrCreateServiceAccountTokenSecret_NoSecretForSA(t *testing.T) { obj, err := cs.Tracker().Get(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, ns.Name, ArgoCDManagerServiceAccount) - if err != nil { - t.Errorf("ServiceAccount %s not found but was expected to be found: %s", ArgoCDManagerServiceAccount, err.Error()) - } + require.NoError(t, err, "ServiceAccount %s not found but was expected to be found", ArgoCDManagerServiceAccount) sa := obj.(*corev1.ServiceAccount) assert.Len(t, sa.Secrets, 1) @@ -342,9 +340,7 @@ func Test_getOrCreateServiceAccountTokenSecret_SAHasSecret(t *testing.T) { obj, err := cs.Tracker().Get(schema.GroupVersionResource{Version: "v1", Resource: "serviceaccounts"}, ns.Name, ArgoCDManagerServiceAccount) - if err != nil { - t.Errorf("ServiceAccount %s not found but was expected to be found: %s", ArgoCDManagerServiceAccount, err.Error()) - } + require.NoError(t, err, "ServiceAccount %s not found but was expected to be found", ArgoCDManagerServiceAccount) sa := obj.(*corev1.ServiceAccount) assert.Len(t, sa.Secrets, 1) diff --git a/util/config/reader_test.go b/util/config/reader_test.go index 052e9c090b1e9..31e515bcc6285 100644 --- a/util/config/reader_test.go +++ b/util/config/reader_test.go @@ -37,9 +37,7 @@ func TestUnmarshalLocalFile(t *testing.T) { Field2 int } err = UnmarshalLocalFile(file.Name(), &testStruct) - if err != nil { - t.Errorf("Could not unmarshal test data: %s", err) - } + require.NoError(t, err, "Could not unmarshal test data") if testStruct.Field1 != field1 || testStruct.Field2 != field2 { t.Errorf("Test data did not match! Expected {%s %d} but got: %v", field1, field2, testStruct) @@ -58,9 +56,7 @@ func TestUnmarshal(t *testing.T) { Field2 int } err := Unmarshal([]byte(sentinel), &testStruct) - if err != nil { - t.Errorf("Could not unmarshal test data: %s", err) - } + require.NoError(t, err, "Could not unmarshal test data") if testStruct.Field1 != field1 || testStruct.Field2 != field2 { t.Errorf("Test data did not match! Expected {%s %d} but got: %v", field1, field2, testStruct) @@ -101,18 +97,14 @@ func TestUnmarshalRemoteFile(t *testing.T) { t.Logf("Listening at address: %s", address) data, err := ReadRemoteFile("http://" + address) - if string(data) != sentinel { - t.Errorf("Test data did not match (err = %v)! Expected %q and received %q", err, sentinel, string(data)) - } + assert.Equal(t, string(data), sentinel, "Test data did not match (err = %v)! Expected %q and received %q", err, sentinel, string(data)) var testStruct struct { Field1 string Field2 int } err = UnmarshalRemoteFile("http://"+address, &testStruct) - if err != nil { - t.Errorf("Could not unmarshal test data: %s", err) - } + require.NoError(t, err, "Could not unmarshal test data") if testStruct.Field1 != field1 || testStruct.Field2 != field2 { t.Errorf("Test data did not match! Expected {%s %d} but got: %v", field1, field2, testStruct) diff --git a/util/db/db.go b/util/db/db.go index 5dd3a86692956..f4e1bb3fc82ab 100644 --- a/util/db/db.go +++ b/util/db/db.go @@ -147,23 +147,6 @@ func (db *db) getSecret(name string, cache map[string]*corev1.Secret) (*corev1.S return cache[name], nil } -func (db *db) unmarshalFromSecretsStr(secrets map[*SecretMaperValidation]*corev1.SecretKeySelector, cache map[string]*corev1.Secret) error { - for dst, src := range secrets { - if src != nil { - secret, err := db.getSecret(src.Name, cache) - if err != nil { - return err - } - if dst.Transform != nil { - *dst.Dest = dst.Transform(string(secret.Data[src.Key])) - } else { - *dst.Dest = string(secret.Data[src.Key]) - } - } - } - return nil -} - // StripCRLFCharacter strips the trailing CRLF characters func StripCRLFCharacter(input string) string { return strings.TrimSpace(input) diff --git a/util/db/db_test.go b/util/db/db_test.go index 246a96f5554b1..4e2150766de44 100644 --- a/util/db/db_test.go +++ b/util/db/db_test.go @@ -2,7 +2,6 @@ package db import ( "context" - "strings" "testing" "time" @@ -26,7 +25,7 @@ const ( testNamespace = "default" ) -func getClientset(config map[string]string, objects ...runtime.Object) *fake.Clientset { +func getClientset(objects ...runtime.Object) *fake.Clientset { secret := corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ Name: "argocd-secret", @@ -45,13 +44,12 @@ func getClientset(config map[string]string, objects ...runtime.Object) *fake.Cli "app.kubernetes.io/part-of": "argocd", }, }, - Data: config, } return fake.NewClientset(append(objects, &cm, &secret)...) } func TestCreateRepository(t *testing.T) { - clientset := getClientset(nil) + clientset := getClientset() db := NewDB(testNamespace, settings.NewSettingsManager(context.Background(), clientset, testNamespace), clientset) repo, err := db.CreateRepository(context.Background(), &v1alpha1.Repository{ @@ -72,7 +70,7 @@ func TestCreateRepository(t *testing.T) { } func TestCreateProjectScopedRepository(t *testing.T) { - clientset := getClientset(nil) + clientset := getClientset() db := NewDB(testNamespace, settings.NewSettingsManager(context.Background(), clientset, testNamespace), clientset) repo, err := db.CreateRepository(context.Background(), &v1alpha1.Repository{ @@ -119,7 +117,7 @@ func TestCreateProjectScopedRepository(t *testing.T) { } func TestCreateRepoCredentials(t *testing.T) { - clientset := getClientset(nil) + clientset := getClientset() db := NewDB(testNamespace, settings.NewSettingsManager(context.Background(), clientset, testNamespace), clientset) creds, err := db.CreateRepositoryCredentials(context.Background(), &v1alpha1.RepoCreds{ @@ -155,83 +153,53 @@ func TestCreateRepoCredentials(t *testing.T) { } func TestGetRepositoryCredentials(t *testing.T) { - config := map[string]string{ - "repositories": ` -- url: https://known/repo -- url: https://secured/repo -- url: https://missing/repo -`, - "repository.credentials": ` -- url: https://secured - usernameSecret: - name: managed-secret - key: username - passwordSecret: - name: managed-secret - key: password -- url: https://missing - usernameSecret: - name: managed-secret - key: username - passwordSecret: - name: missing-managed-secret - key: password -`, - } - clientset := getClientset(config, newManagedSecret()) + clientset := getClientset() db := NewDB(testNamespace, settings.NewSettingsManager(context.Background(), clientset, testNamespace), clientset) + _, err := db.CreateRepositoryCredentials(context.Background(), &v1alpha1.RepoCreds{ + URL: "https://secured", + Username: "test-username", + Password: "test-password", + }) + require.NoError(t, err) tests := []struct { name string repoURL string want *v1alpha1.RepoCreds - wantErr bool }{ { name: "TestUnknownRepo", repoURL: "https://unknown/repo", want: nil, - wantErr: false, }, { name: "TestKnownRepo", repoURL: "https://known/repo", want: nil, - wantErr: false, }, { name: "TestSecuredRepo", repoURL: "https://secured/repo", want: &v1alpha1.RepoCreds{URL: "https://secured", Username: "test-username", Password: "test-password"}, - wantErr: false, }, { name: "TestMissingRepo", repoURL: "https://missing/repo", want: nil, - wantErr: true, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got, err := db.GetRepositoryCredentials(context.TODO(), tt.repoURL) - if tt.wantErr { - require.Error(t, err) - assert.True(t, errors.IsNotFound(err)) - } else { - require.NoError(t, err) - } - + require.NoError(t, err) assert.Equal(t, tt.want, got) }) } } func TestCreateExistingRepository(t *testing.T) { - clientset := getClientset(map[string]string{ - "repositories": `- url: https://github.com/argoproj/argocd-example-apps`, - }) + clientset := getClientset() db := NewDB(testNamespace, settings.NewSettingsManager(context.Background(), clientset, testNamespace), clientset) _, err := db.CreateRepository(context.Background(), &v1alpha1.Repository{ @@ -239,272 +207,98 @@ func TestCreateExistingRepository(t *testing.T) { Username: "test-username", Password: "test-password", }) + require.NoError(t, err) + + _, err = db.CreateRepository(context.Background(), &v1alpha1.Repository{ + Repo: "https://github.com/argoproj/argocd-example-apps", + Username: "test-username", + Password: "test-password", + }) require.Error(t, err) assert.Equal(t, codes.AlreadyExists, status.Convert(err).Code()) } func TestGetRepository(t *testing.T) { - config := map[string]string{ - "repositories": ` -- url: https://known/repo -- url: https://secured/repo -`, - "repository.credentials": ` -- url: https://secured - usernameSecret: - name: managed-secret - key: username - passwordSecret: - name: managed-secret - key: password -`, - } - clientset := getClientset(config, newManagedSecret()) - db := NewDB(testNamespace, settings.NewSettingsManager(context.Background(), clientset, testNamespace), clientset) - - tests := []struct { - name string - repoURL string - want *v1alpha1.Repository - }{ - { - name: "TestUnknownRepo", - repoURL: "https://unknown/repo", - want: &v1alpha1.Repository{Repo: "https://unknown/repo"}, - }, - { - name: "TestKnownRepo", - repoURL: "https://known/repo", - want: &v1alpha1.Repository{Repo: "https://known/repo"}, - }, - { - name: "TestSecuredRepo", - repoURL: "https://secured/repo", - want: &v1alpha1.Repository{Repo: "https://secured/repo", Username: "test-username", Password: "test-password", InheritedCreds: true}, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - got, err := db.GetRepository(context.TODO(), tt.repoURL, "") - require.NoError(t, err) - assert.Equal(t, tt.want, got) - }) - } -} - -func newManagedSecret() *corev1.Secret { - return &corev1.Secret{ + clientset := getClientset(&corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ - Name: "managed-secret", Namespace: testNamespace, + Name: "known-repo-secret", Annotations: map[string]string{ common.AnnotationKeyManagedBy: common.AnnotationValueManagedByArgoCD, }, + Labels: map[string]string{ + common.LabelKeySecretType: common.LabelValueSecretTypeRepository, + }, }, Data: map[string][]byte{ - username: []byte("test-username"), - password: []byte("test-password"), - }, - } -} - -func TestDeleteRepositoryManagedSecrets(t *testing.T) { - config := map[string]string{ - "repositories": ` -- url: https://github.com/argoproj/argocd-example-apps - usernameSecret: - name: managed-secret - key: username - passwordSecret: - name: managed-secret - key: password -`, - } - clientset := getClientset(config, newManagedSecret()) - db := NewDB(testNamespace, settings.NewSettingsManager(context.Background(), clientset, testNamespace), clientset) - - err := db.DeleteRepository(context.Background(), "https://github.com/argoproj/argocd-example-apps", "") - require.NoError(t, err) - - _, err = clientset.CoreV1().Secrets(testNamespace).Get(context.Background(), "managed-secret", metav1.GetOptions{}) - require.Error(t, err) - assert.True(t, errors.IsNotFound(err)) - - cm, err := clientset.CoreV1().ConfigMaps(testNamespace).Get(context.Background(), "argocd-cm", metav1.GetOptions{}) - require.NoError(t, err) - assert.Equal(t, "", cm.Data["repositories"]) -} - -func TestDeleteRepositoryUnmanagedSecrets(t *testing.T) { - config := map[string]string{ - "repositories": ` -- url: https://github.com/argoproj/argocd-example-apps - usernameSecret: - name: unmanaged-secret - key: username - passwordSecret: - name: unmanaged-secret - key: password -`, - } - clientset := getClientset(config, &corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: "unmanaged-secret", - Namespace: testNamespace, - }, - Data: map[string][]byte{ - username: []byte("test-username"), - password: []byte("test-password"), + "url": []byte("https://known/repo"), }, - }) - db := NewDB(testNamespace, settings.NewSettingsManager(context.Background(), clientset, testNamespace), clientset) - - err := db.DeleteRepository(context.Background(), "https://github.com/argoproj/argocd-example-apps", "") - require.NoError(t, err) - - s, err := clientset.CoreV1().Secrets(testNamespace).Get(context.Background(), "unmanaged-secret", metav1.GetOptions{}) - require.NoError(t, err) - assert.Equal(t, "test-username", string(s.Data[username])) - assert.Equal(t, "test-password", string(s.Data[password])) - - cm, err := clientset.CoreV1().ConfigMaps(testNamespace).Get(context.Background(), "argocd-cm", metav1.GetOptions{}) - require.NoError(t, err) - assert.Equal(t, "", cm.Data["repositories"]) -} - -func TestUpdateRepositoryWithManagedSecrets(t *testing.T) { - config := map[string]string{ - "repositories": ` -- url: https://github.com/argoproj/argocd-example-apps - usernameSecret: - name: managed-secret - key: username - passwordSecret: - name: managed-secret - key: password - sshPrivateKeySecret: - name: managed-secret - key: sshPrivateKey -`, - } - clientset := getClientset(config, &corev1.Secret{ + }, &corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ - Name: "managed-secret", Namespace: testNamespace, + Name: "secured-repo-secret", Annotations: map[string]string{ common.AnnotationKeyManagedBy: common.AnnotationValueManagedByArgoCD, }, + Labels: map[string]string{ + common.LabelKeySecretType: common.LabelValueSecretTypeRepository, + }, }, Data: map[string][]byte{ - username: []byte("test-username"), - password: []byte("test-password"), - sshPrivateKey: []byte("test-ssh-private-key"), + "url": []byte("https://secured/repo"), }, - }) - db := NewDB(testNamespace, settings.NewSettingsManager(context.Background(), clientset, testNamespace), clientset) - - repo, err := db.GetRepository(context.Background(), "https://github.com/argoproj/argocd-example-apps", "") - require.NoError(t, err) - assert.Equal(t, "test-username", repo.Username) - assert.Equal(t, "test-password", repo.Password) - assert.Equal(t, "test-ssh-private-key", repo.SSHPrivateKey) - - _, err = db.UpdateRepository(context.Background(), &v1alpha1.Repository{ - Repo: "https://github.com/argoproj/argocd-example-apps", Password: "", Username: "", SSHPrivateKey: "", - }) - require.NoError(t, err) - - _, err = clientset.CoreV1().Secrets(testNamespace).Get(context.Background(), "managed-secret", metav1.GetOptions{}) - require.Error(t, err) - assert.True(t, errors.IsNotFound(err)) - - cm, err := clientset.CoreV1().ConfigMaps(testNamespace).Get(context.Background(), "argocd-cm", metav1.GetOptions{}) - require.NoError(t, err) - assert.Equal(t, "- url: https://github.com/argoproj/argocd-example-apps", strings.Trim(cm.Data["repositories"], "\n")) -} - -func TestRepositorySecretsTrim(t *testing.T) { - config := map[string]string{ - "repositories": ` -- url: https://github.com/argoproj/argocd-example-apps - usernameSecret: - name: managed-secret - key: username - passwordSecret: - name: managed-secret - key: password - sshPrivateKeySecret: - name: managed-secret - key: sshPrivateKey - tlsClientCertDataSecret: - name: managed-secret - key: tlsClientCertData - tlsClientCertKeySecret: - name: managed-secret - key: tlsClientCertKey - githubAppPrivateKeySecret: - name: managed-secret - key: githubAppPrivateKey -`, - } - clientset := getClientset(config, &corev1.Secret{ + }, &corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ - Name: "managed-secret", Namespace: testNamespace, + Name: "secured-repo-creds-secret", Annotations: map[string]string{ common.AnnotationKeyManagedBy: common.AnnotationValueManagedByArgoCD, }, + Labels: map[string]string{ + common.LabelKeySecretType: common.LabelValueSecretTypeRepoCreds, + }, }, Data: map[string][]byte{ - username: []byte("test-username\n\n"), - password: []byte("test-password\r\r"), - sshPrivateKey: []byte("test-ssh-private-key\n\r"), - tlsClientCertData: []byte("test-tls-client-cert-data\n\r"), - tlsClientCertKey: []byte("test-tls-client-cert-key\n\r"), - githubAppPrivateKey: []byte("test-github-app-private-key\n\r"), + "url": []byte("https://secured"), + "username": []byte("test-username"), + "password": []byte("test-password"), }, }) db := NewDB(testNamespace, settings.NewSettingsManager(context.Background(), clientset, testNamespace), clientset) - repo, err := db.GetRepository(context.Background(), "https://github.com/argoproj/argocd-example-apps", "") - require.NoError(t, err) - teststruct := []struct { - expectedSecret string - retrievedSecret string + tests := []struct { + name string + repoURL string + want *v1alpha1.Repository }{ { - "test-username", - repo.Username, - }, - { - "test-password", - repo.Password, - }, - { - "test-ssh-private-key", - repo.SSHPrivateKey, - }, - { - "test-tls-client-cert-data", - repo.TLSClientCertData, + name: "TestUnknownRepo", + repoURL: "https://unknown/repo", + want: &v1alpha1.Repository{Repo: "https://unknown/repo"}, }, { - "test-tls-client-cert-key", - repo.TLSClientCertKey, + name: "TestKnownRepo", + repoURL: "https://known/repo", + want: &v1alpha1.Repository{Repo: "https://known/repo"}, }, { - "test-github-app-private-key", - repo.GithubAppPrivateKey, + name: "TestSecuredRepo", + repoURL: "https://secured/repo", + want: &v1alpha1.Repository{Repo: "https://secured/repo", Username: "test-username", Password: "test-password", InheritedCreds: true}, }, } - for _, tt := range teststruct { - assert.Equal(t, tt.expectedSecret, tt.retrievedSecret) + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got, err := db.GetRepository(context.TODO(), tt.repoURL, "") + require.NoError(t, err) + assert.Equal(t, tt.want, got) + }) } } func TestCreateClusterSuccessful(t *testing.T) { server := "https://mycluster" - clientset := getClientset(nil) + clientset := getClientset() db := NewDB(testNamespace, settings.NewSettingsManager(context.Background(), clientset, testNamespace), clientset) _, err := db.CreateCluster(context.Background(), &v1alpha1.Cluster{ @@ -523,7 +317,7 @@ func TestDeleteClusterWithManagedSecret(t *testing.T) { clusterURL := "https://mycluster" clusterName := "cluster-mycluster-3274446258" - clientset := getClientset(nil, &corev1.Secret{ + clientset := getClientset(&corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ Name: clusterName, Namespace: testNamespace, @@ -554,7 +348,7 @@ func TestDeleteClusterWithUnmanagedSecret(t *testing.T) { clusterURL := "https://mycluster" clusterName := "mycluster-443" - clientset := getClientset(nil, &corev1.Secret{ + clientset := getClientset(&corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ Name: clusterName, Namespace: testNamespace, @@ -579,7 +373,7 @@ func TestDeleteClusterWithUnmanagedSecret(t *testing.T) { } func TestFuzzyEquivalence(t *testing.T) { - clientset := getClientset(nil) + clientset := getClientset() ctx := context.Background() db := NewDB(testNamespace, settings.NewSettingsManager(context.Background(), clientset, testNamespace), clientset) @@ -606,118 +400,8 @@ func TestFuzzyEquivalence(t *testing.T) { assert.Equal(t, "https://github.com/argoproj/argocd-example-apps", repo.Repo) } -func TestListHelmRepositories(t *testing.T) { - config := map[string]string{ - "repositories": ` -- url: https://argoproj.github.io/argo-helm - name: argo - type: helm - usernameSecret: - name: test-secret - key: username - passwordSecret: - name: test-secret - key: password - tlsClientCertDataSecret: - name: test-secret - key: cert - tlsClientCertKeySecret: - name: test-secret - key: key -`, - } - clientset := getClientset(config, &corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: "test-secret", - Namespace: testNamespace, - }, - Data: map[string][]byte{ - "username": []byte("test-username"), - "password": []byte("test-password"), - "ca": []byte("test-ca"), - "cert": []byte("test-cert"), - "key": []byte("test-key"), - }, - }) - db := NewDB(testNamespace, settings.NewSettingsManager(context.Background(), clientset, testNamespace), clientset) - - repos, err := db.ListRepositories(context.Background()) - require.NoError(t, err) - assert.Len(t, repos, 1) - repo := repos[0] - assert.Equal(t, "https://argoproj.github.io/argo-helm", repo.Repo) - assert.Equal(t, "helm", repo.Type) - assert.Equal(t, "argo", repo.Name) - assert.Equal(t, "test-username", repo.Username) - assert.Equal(t, "test-password", repo.Password) - assert.Equal(t, "test-cert", repo.TLSClientCertData) - assert.Equal(t, "test-key", repo.TLSClientCertKey) -} - -func TestHelmRepositorySecretsTrim(t *testing.T) { - config := map[string]string{ - "repositories": ` -- url: https://argoproj.github.io/argo-helm - name: argo - type: helm - usernameSecret: - name: test-secret - key: username - passwordSecret: - name: test-secret - key: password - tlsClientCertDataSecret: - name: test-secret - key: cert - tlsClientCertKeySecret: - name: test-secret - key: key -`, - } - clientset := getClientset(config, &corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: "test-secret", - Namespace: testNamespace, - }, - Data: map[string][]byte{ - "username": []byte("test-username\r\n"), - "password": []byte("test-password\r\n"), - "cert": []byte("test-cert\n\r"), - "key": []byte("test-key\n\r"), - }, - }) - db := NewDB(testNamespace, settings.NewSettingsManager(context.Background(), clientset, testNamespace), clientset) - repo, err := db.GetRepository(context.Background(), "https://argoproj.github.io/argo-helm", "") - - require.NoError(t, err) - teststruct := []struct { - expectedSecret string - retrievedSecret string - }{ - { - "test-username", - repo.Username, - }, - { - "test-password", - repo.Password, - }, - { - "test-cert", - repo.TLSClientCertData, - }, - { - "test-key", - repo.TLSClientCertKey, - }, - } - for _, tt := range teststruct { - assert.Equal(t, tt.expectedSecret, tt.retrievedSecret) - } -} - func TestGetApplicationControllerReplicas(t *testing.T) { - clientset := getClientset(nil) + clientset := getClientset() expectedReplicas := int32(2) t.Setenv(common.EnvControllerReplicas, "2") db := NewDB(testNamespace, settings.NewSettingsManager(context.Background(), clientset, testNamespace), clientset) @@ -725,7 +409,7 @@ func TestGetApplicationControllerReplicas(t *testing.T) { assert.Equal(t, int(expectedReplicas), replicas) expectedReplicas = int32(3) - clientset = getClientset(nil, &appsv1.Deployment{ + clientset = getClientset(&appsv1.Deployment{ ObjectMeta: metav1.ObjectMeta{ Name: common.ApplicationController, Namespace: testNamespace, diff --git a/util/db/helmrepository.go b/util/db/helmrepository.go index b7d459fb91a52..d88db9e818e50 100644 --- a/util/db/helmrepository.go +++ b/util/db/helmrepository.go @@ -3,62 +3,15 @@ package db import ( "context" "fmt" - "strings" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - corev1 "k8s.io/api/core/v1" "k8s.io/utils/ptr" "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1" - "github.com/argoproj/argo-cd/v3/util/settings" ) -func getHelmRepoCredIndex(helmRepositories []settings.HelmRepoCredentials, repoURL string) int { - for i, cred := range helmRepositories { - if strings.EqualFold(cred.URL, repoURL) { - return i - } - } - return -1 -} - -func (db *db) getHelmRepo(repoURL string, helmRepositories []settings.HelmRepoCredentials) (*v1alpha1.Repository, error) { - index := getHelmRepoCredIndex(helmRepositories, repoURL) - if index < 0 { - return nil, status.Errorf(codes.NotFound, "repo '%s' not found", repoURL) - } - repoInfo := helmRepositories[index] - - repo := &v1alpha1.Repository{ - Repo: repoInfo.URL, - Type: "helm", - Name: repoInfo.Name, - } - err := db.unmarshalFromSecretsStr(map[*SecretMaperValidation]*corev1.SecretKeySelector{ - {Dest: &repo.Username, Transform: StripCRLFCharacter}: repoInfo.UsernameSecret, - {Dest: &repo.Password, Transform: StripCRLFCharacter}: repoInfo.PasswordSecret, - {Dest: &repo.TLSClientCertData, Transform: StripCRLFCharacter}: repoInfo.CertSecret, - {Dest: &repo.TLSClientCertKey, Transform: StripCRLFCharacter}: repoInfo.KeySecret, - }, make(map[string]*corev1.Secret)) - return repo, err -} - // ListHelmRepositories lists configured helm repositories func (db *db) ListHelmRepositories(ctx context.Context) ([]*v1alpha1.Repository, error) { - helmRepositories, err := db.settingsMgr.GetHelmRepositories() - if err != nil { - return nil, fmt.Errorf("failed to get list of Helm repositories from settings manager: %w", err) - } - - result := make([]*v1alpha1.Repository, len(helmRepositories)) - for i, helmRepoInfo := range helmRepositories { - repo, err := db.getHelmRepo(helmRepoInfo.URL, helmRepositories) - if err != nil { - return nil, fmt.Errorf("failed to get Helm repository %q: %w", helmRepoInfo.URL, err) - } - result[i] = repo - } + var result []*v1alpha1.Repository repos, err := db.listRepositories(ctx, ptr.To("helm"), false) if err != nil { return nil, fmt.Errorf("failed to list Helm repositories: %w", err) diff --git a/util/db/repository.go b/util/db/repository.go index cba225299febb..9ff1d7eeef9dc 100644 --- a/util/db/repository.go +++ b/util/db/repository.go @@ -28,14 +28,6 @@ const ( project = "project" // The name of the key storing the SSH private in the secret sshPrivateKey = "sshPrivateKey" - // The name of the key storing the TLS client cert data in the secret - tlsClientCertData = "tlsClientCertData" - // The name of the key storing the TLS client cert key in the secret - tlsClientCertKey = "tlsClientCertKey" - // The name of the key storing the GitHub App private key in the secret - githubAppPrivateKey = "githubAppPrivateKey" - // The name of the key storing the service account to access Google Cloud Source repositories - gcpServiceAccountKey = "gcpServiceAccountKey" ) // repositoryBackend defines the API for types that wish to provide interaction with repository storage @@ -59,18 +51,13 @@ type repositoryBackend interface { func (db *db) CreateRepository(ctx context.Context, r *v1alpha1.Repository) (*v1alpha1.Repository, error) { secretBackend := db.repoBackend() - legacyBackend := db.legacyRepoBackend() secretExists, err := secretBackend.RepositoryExists(ctx, r.Repo, r.Project, false) if err != nil { return nil, err } - legacyExists, err := legacyBackend.RepositoryExists(ctx, r.Repo, r.Project, false) - if err != nil { - return nil, err - } - if secretExists || legacyExists { + if secretExists { return nil, status.Errorf(codes.AlreadyExists, "repository %q already exists", r.Repo) } @@ -148,13 +135,7 @@ func (db *db) getRepositories(indexer, project string) ([]*v1alpha1.Repository, func (db *db) RepositoryExists(ctx context.Context, repoURL, project string) (bool, error) { secretsBackend := db.repoBackend() - exists, err := secretsBackend.RepositoryExists(ctx, repoURL, project, true) - if exists || err != nil { - return exists, err - } - - legacyBackend := db.legacyRepoBackend() - return legacyBackend.RepositoryExists(ctx, repoURL, project, true) + return secretsBackend.RepositoryExists(ctx, repoURL, project, true) } func (db *db) WriteRepositoryExists(ctx context.Context, repoURL, project string) (bool, error) { @@ -175,18 +156,6 @@ func (db *db) getRepository(ctx context.Context, repoURL, project string) (*v1al return repository, nil } - legacyBackend := db.legacyRepoBackend() - exists, err = legacyBackend.RepositoryExists(ctx, repoURL, project, true) - if err != nil { - return nil, fmt.Errorf("unable to check if repository %q exists from legacy backend: %w", repoURL, err) - } else if exists { - repository, err := legacyBackend.GetRepository(ctx, repoURL, project) - if err != nil { - return nil, fmt.Errorf("unable to get repository %q from legacy backend: %w", repoURL, err) - } - return repository, nil - } - return &v1alpha1.Repository{Repo: repoURL}, nil } @@ -199,30 +168,17 @@ func (db *db) ListWriteRepositories(ctx context.Context) ([]*v1alpha1.Repository } func (db *db) listRepositories(ctx context.Context, repoType *string, writeCreds bool) ([]*v1alpha1.Repository, error) { - // TODO It would be nice to check for duplicates between secret and legacy repositories and make it so that - // repositories from secrets overlay repositories from legacys. - - var repositories []*v1alpha1.Repository + var backend repositoryBackend if writeCreds { - var err error - repositories, err = db.repoWriteBackend().ListRepositories(ctx, repoType) - if err != nil { - return nil, err - } + backend = db.repoWriteBackend() } else { - secretRepositories, err := db.repoBackend().ListRepositories(ctx, repoType) - if err != nil { - return nil, err - } - - legacyRepositories, err := db.legacyRepoBackend().ListRepositories(ctx, repoType) - if err != nil { - return nil, err - } - - repositories = append(secretRepositories, legacyRepositories...) + backend = db.repoBackend() + } + repositories, err := backend.ListRepositories(ctx, repoType) + if err != nil { + return nil, err } - if err := db.enrichCredsToRepos(ctx, repositories); err != nil { + if err = db.enrichCredsToRepos(ctx, repositories); err != nil { return nil, err } @@ -239,14 +195,6 @@ func (db *db) UpdateRepository(ctx context.Context, r *v1alpha1.Repository) (*v1 return secretsBackend.UpdateRepository(ctx, r) } - legacyBackend := db.legacyRepoBackend() - exists, err = legacyBackend.RepositoryExists(ctx, r.Repo, r.Project, false) - if err != nil { - return nil, err - } else if exists { - return legacyBackend.UpdateRepository(ctx, r) - } - return nil, status.Errorf(codes.NotFound, "repo '%s' not found", r.Repo) } @@ -273,14 +221,6 @@ func (db *db) DeleteRepository(ctx context.Context, repoURL, project string) err return secretsBackend.DeleteRepository(ctx, repoURL, project) } - legacyBackend := db.legacyRepoBackend() - exists, err = legacyBackend.RepositoryExists(ctx, repoURL, project, false) - if err != nil { - return err - } else if exists { - return legacyBackend.DeleteRepository(ctx, repoURL, project) - } - return status.Errorf(codes.NotFound, "repo '%s' not found", repoURL) } @@ -300,20 +240,12 @@ func (db *db) DeleteWriteRepository(ctx context.Context, repoURL, project string // ListRepositoryCredentials returns a list of URLs that contain repo credential sets func (db *db) ListRepositoryCredentials(ctx context.Context) ([]string, error) { - // TODO It would be nice to check for duplicates between secret and legacy repositories and make it so that - // repositories from secrets overlay repositories from legacys. - secretRepoCreds, err := db.repoBackend().ListRepoCreds(ctx) if err != nil { return nil, err } - legacyRepoCreds, err := db.legacyRepoBackend().ListRepoCreds(ctx) - if err != nil { - return nil, err - } - - return append(secretRepoCreds, legacyRepoCreds...), nil + return secretRepoCreds, nil } // ListWriteRepositoryCredentials returns a list of URLs that contain repo write credential sets @@ -339,18 +271,6 @@ func (db *db) GetRepositoryCredentials(ctx context.Context, repoURL string) (*v1 return creds, nil } - legacyBackend := db.legacyRepoBackend() - exists, err = legacyBackend.RepoCredsExists(ctx, repoURL) - if err != nil { - return nil, fmt.Errorf("unable to check if repository credentials for %q exists from legacy backend: %w", repoURL, err) - } else if exists { - creds, err := legacyBackend.GetRepoCreds(ctx, repoURL) - if err != nil { - return nil, fmt.Errorf("unable to get repository credentials for %q from legacy backend: %w", repoURL, err) - } - return creds, nil - } - return nil, nil } @@ -381,37 +301,24 @@ func (db *db) GetWriteRepositoryCredentials(ctx context.Context, repoURL string) // GetAllHelmRepositoryCredentials retrieves all repository credentials func (db *db) GetAllHelmRepositoryCredentials(ctx context.Context) ([]*v1alpha1.RepoCreds, error) { - // TODO It would be nice to check for duplicates between secret and legacy repositories and make it so that - // repositories from secrets overlay repositories from legacys. - secretRepoCreds, err := db.repoBackend().GetAllHelmRepoCreds(ctx) if err != nil { return nil, fmt.Errorf("failed to get all Helm repo creds: %w", err) } - legacyRepoCreds, err := db.legacyRepoBackend().GetAllHelmRepoCreds(ctx) - if err != nil { - return nil, fmt.Errorf("failed to get all legacy Helm repo creds: %w", err) - } - - return append(secretRepoCreds, legacyRepoCreds...), nil + return secretRepoCreds, nil } // CreateRepositoryCredentials creates a repository credential set func (db *db) CreateRepositoryCredentials(ctx context.Context, r *v1alpha1.RepoCreds) (*v1alpha1.RepoCreds, error) { - legacyBackend := db.legacyRepoBackend() secretBackend := db.repoBackend() secretExists, err := secretBackend.RepositoryExists(ctx, r.URL, "", false) if err != nil { return nil, err } - legacyExists, err := legacyBackend.RepositoryExists(ctx, r.URL, "", false) - if err != nil { - return nil, err - } - if secretExists || legacyExists { + if secretExists { return nil, status.Errorf(codes.AlreadyExists, "repository credentials %q already exists", r.URL) } @@ -443,14 +350,6 @@ func (db *db) UpdateRepositoryCredentials(ctx context.Context, r *v1alpha1.RepoC return secretsBackend.UpdateRepoCreds(ctx, r) } - legacyBackend := db.legacyRepoBackend() - exists, err = legacyBackend.RepoCredsExists(ctx, r.URL) - if err != nil { - return nil, err - } else if exists { - return legacyBackend.UpdateRepoCreds(ctx, r) - } - return nil, status.Errorf(codes.NotFound, "repository credentials '%s' not found", r.URL) } @@ -480,14 +379,6 @@ func (db *db) DeleteRepositoryCredentials(ctx context.Context, name string) erro return secretsBackend.DeleteRepoCreds(ctx, name) } - legacyBackend := db.legacyRepoBackend() - exists, err = legacyBackend.RepoCredsExists(ctx, name) - if err != nil { - return err - } else if exists { - return legacyBackend.DeleteRepoCreds(ctx, name) - } - return status.Errorf(codes.NotFound, "repository credentials '%s' not found", name) } @@ -521,10 +412,6 @@ func (db *db) repoWriteBackend() repositoryBackend { return &secretsRepositoryBackend{db: db, writeCreds: true} } -func (db *db) legacyRepoBackend() repositoryBackend { - return &legacyRepositoryBackend{db: db} -} - func (db *db) enrichCredsToRepo(ctx context.Context, repository *v1alpha1.Repository) error { if !repository.HasCredentials() { creds, err := db.GetRepositoryCredentials(ctx, repository.Repo) diff --git a/util/db/repository_legacy.go b/util/db/repository_legacy.go deleted file mode 100644 index 3fdbdd8c918a7..0000000000000 --- a/util/db/repository_legacy.go +++ /dev/null @@ -1,473 +0,0 @@ -package db - -import ( - "context" - "fmt" - "strings" - - log "github.com/sirupsen/logrus" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - corev1 "k8s.io/api/core/v1" - apierrors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - - "github.com/argoproj/argo-cd/v3/common" - appsv1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1" - "github.com/argoproj/argo-cd/v3/util/errors" - "github.com/argoproj/argo-cd/v3/util/git" - "github.com/argoproj/argo-cd/v3/util/settings" -) - -var _ repositoryBackend = &legacyRepositoryBackend{} - -// legacyRepositoryBackend is a repository backend strategy that maintains backward compatibility with previous versions. -// This can be removed in a future version, once the old "argocd-cm" storage for repositories is removed. -type legacyRepositoryBackend struct { - db *db -} - -func (l *legacyRepositoryBackend) CreateRepository(_ context.Context, _ *appsv1.Repository) (*appsv1.Repository, error) { - // This strategy only kept to preserve backward compatibility, but is deprecated. - // Therefore, no new repositories can be added with this backend. - panic("creating new repositories is not supported for the legacy repository backend") -} - -func (l *legacyRepositoryBackend) GetRepository(_ context.Context, repoURL, _ string) (*appsv1.Repository, error) { - repository, err := l.tryGetRepository(repoURL) - if err != nil { - return nil, fmt.Errorf("unable to get repository: %w", err) - } - return repository, nil -} - -func (l *legacyRepositoryBackend) ListRepositories(_ context.Context, repoType *string) ([]*appsv1.Repository, error) { - inRepos, err := l.db.settingsMgr.GetRepositories() - if err != nil { - return nil, err - } - - var repos []*appsv1.Repository - for _, inRepo := range inRepos { - if repoType == nil || *repoType == inRepo.Type { - r, err := l.tryGetRepository(inRepo.URL) - if err != nil { - if r == nil || !errors.IsCredentialsConfigurationError(err) { - return nil, err - } - modifiedTime := metav1.Now() - r.ConnectionState = appsv1.ConnectionState{ - Status: appsv1.ConnectionStatusFailed, - Message: "Configuration error - please check the server logs", - ModifiedAt: &modifiedTime, - } - - log.Warnf("could not retrieve repo: %s", err.Error()) - } - repos = append(repos, r) - } - } - return repos, nil -} - -func (l *legacyRepositoryBackend) UpdateRepository(_ context.Context, r *appsv1.Repository) (*appsv1.Repository, error) { - repos, err := l.db.settingsMgr.GetRepositories() - if err != nil { - return nil, err - } - - index := l.getRepositoryIndex(repos, r.Repo) - if index < 0 { - return nil, status.Errorf(codes.NotFound, "repo '%s' not found", r.Repo) - } - - repoInfo := repos[index] - err = l.updateRepositorySecrets(&repoInfo, r) - if err != nil { - return nil, err - } - - // Update boolean settings - repoInfo.InsecureIgnoreHostKey = r.IsInsecure() - repoInfo.Insecure = r.IsInsecure() - repoInfo.EnableLFS = r.EnableLFS - repoInfo.Proxy = r.Proxy - - repos[index] = repoInfo - err = l.db.settingsMgr.SaveRepositories(repos) - if err != nil { - return nil, err - } - return r, nil -} - -func (l *legacyRepositoryBackend) DeleteRepository(_ context.Context, repoURL, _ string) error { - repos, err := l.db.settingsMgr.GetRepositories() - if err != nil { - return err - } - - index := l.getRepositoryIndex(repos, repoURL) - if index < 0 { - return status.Errorf(codes.NotFound, "repo '%s' not found", repoURL) - } - err = l.updateRepositorySecrets(&repos[index], &appsv1.Repository{ - SSHPrivateKey: "", - Password: "", - Username: "", - TLSClientCertData: "", - TLSClientCertKey: "", - GithubAppPrivateKey: "", - }) - if err != nil { - return err - } - repos = append(repos[:index], repos[index+1:]...) - return l.db.settingsMgr.SaveRepositories(repos) -} - -func (l *legacyRepositoryBackend) RepositoryExists(_ context.Context, repoURL, _ string, _ bool) (bool, error) { - repos, err := l.db.settingsMgr.GetRepositories() - if err != nil { - return false, fmt.Errorf("unable to get repositories: %w", err) - } - - index := l.getRepositoryIndex(repos, repoURL) - return index >= 0, nil -} - -func (l *legacyRepositoryBackend) CreateRepoCreds(_ context.Context, _ *appsv1.RepoCreds) (*appsv1.RepoCreds, error) { - // This strategy only kept to preserve backward compatibility, but is deprecated. - // Therefore, no new repositories can be added with this backend. - panic("creating new repository credentials is not supported for the legacy repository backend") -} - -func (l *legacyRepositoryBackend) GetRepoCreds(_ context.Context, repoURL string) (*appsv1.RepoCreds, error) { - var credential *appsv1.RepoCreds - - repoCredentials, err := l.db.settingsMgr.GetRepositoryCredentials() - if err != nil { - return nil, err - } - index := getRepositoryCredentialIndex(repoCredentials, repoURL) - if index >= 0 { - credential, err = l.credentialsToRepositoryCredentials(repoCredentials[index]) - if err != nil { - return nil, err - } - } - - return credential, err -} - -func (l *legacyRepositoryBackend) ListRepoCreds(_ context.Context) ([]string, error) { - repos, err := l.db.settingsMgr.GetRepositoryCredentials() - if err != nil { - return nil, err - } - - urls := make([]string, len(repos)) - for i := range repos { - urls[i] = repos[i].URL - } - - return urls, nil -} - -func (l *legacyRepositoryBackend) UpdateRepoCreds(_ context.Context, r *appsv1.RepoCreds) (*appsv1.RepoCreds, error) { - repos, err := l.db.settingsMgr.GetRepositoryCredentials() - if err != nil { - return nil, err - } - - index := getRepositoryCredentialIndex(repos, r.URL) - if index < 0 { - return nil, status.Errorf(codes.NotFound, "repository credentials '%s' not found", r.URL) - } - - repoInfo := repos[index] - err = l.updateCredentialsSecret(&repoInfo, r) - if err != nil { - return nil, err - } - - repos[index] = repoInfo - err = l.db.settingsMgr.SaveRepositoryCredentials(repos) - if err != nil { - return nil, err - } - return r, nil -} - -func (l *legacyRepositoryBackend) DeleteRepoCreds(_ context.Context, name string) error { - repos, err := l.db.settingsMgr.GetRepositoryCredentials() - if err != nil { - return err - } - - index := getRepositoryCredentialIndex(repos, name) - if index < 0 { - return status.Errorf(codes.NotFound, "repository credentials '%s' not found", name) - } - err = l.updateCredentialsSecret(&repos[index], &appsv1.RepoCreds{ - SSHPrivateKey: "", - Password: "", - Username: "", - TLSClientCertData: "", - TLSClientCertKey: "", - GithubAppPrivateKey: "", - }) - if err != nil { - return err - } - repos = append(repos[:index], repos[index+1:]...) - return l.db.settingsMgr.SaveRepositoryCredentials(repos) -} - -func (l *legacyRepositoryBackend) RepoCredsExists(_ context.Context, repoURL string) (bool, error) { - creds, err := l.db.settingsMgr.GetRepositoryCredentials() - if err != nil { - return false, err - } - - index := getRepositoryCredentialIndex(creds, repoURL) - return index >= 0, nil -} - -func (l *legacyRepositoryBackend) GetAllHelmRepoCreds(_ context.Context) ([]*appsv1.RepoCreds, error) { - var allCredentials []*appsv1.RepoCreds - repoCredentials, err := l.db.settingsMgr.GetRepositoryCredentials() - if err != nil { - return nil, err - } - for _, v := range repoCredentials { - if strings.EqualFold(v.Type, "helm") { - credential, err := l.credentialsToRepositoryCredentials(v) - if err != nil { - return nil, err - } - allCredentials = append(allCredentials, credential) - } - } - return allCredentials, err -} - -func (l *legacyRepositoryBackend) updateRepositorySecrets(repoInfo *settings.Repository, r *appsv1.Repository) error { - secretsData := make(map[string]map[string][]byte) - - repoInfo.UsernameSecret = l.setSecretData(repoSecretPrefix, r.Repo, secretsData, repoInfo.UsernameSecret, r.Username, username) - repoInfo.PasswordSecret = l.setSecretData(repoSecretPrefix, r.Repo, secretsData, repoInfo.PasswordSecret, r.Password, password) - repoInfo.SSHPrivateKeySecret = l.setSecretData(repoSecretPrefix, r.Repo, secretsData, repoInfo.SSHPrivateKeySecret, r.SSHPrivateKey, sshPrivateKey) - repoInfo.TLSClientCertDataSecret = l.setSecretData(repoSecretPrefix, r.Repo, secretsData, repoInfo.TLSClientCertDataSecret, r.TLSClientCertData, tlsClientCertData) - repoInfo.TLSClientCertKeySecret = l.setSecretData(repoSecretPrefix, r.Repo, secretsData, repoInfo.TLSClientCertKeySecret, r.TLSClientCertKey, tlsClientCertKey) - repoInfo.GithubAppPrivateKeySecret = l.setSecretData(repoSecretPrefix, r.Repo, secretsData, repoInfo.GithubAppPrivateKeySecret, r.GithubAppPrivateKey, githubAppPrivateKey) - repoInfo.GCPServiceAccountKey = l.setSecretData(repoSecretPrefix, r.Repo, secretsData, repoInfo.GCPServiceAccountKey, r.GCPServiceAccountKey, gcpServiceAccountKey) - for k, v := range secretsData { - err := l.upsertSecret(k, v) - if err != nil { - return err - } - } - return nil -} - -func (l *legacyRepositoryBackend) updateCredentialsSecret(credsInfo *settings.RepositoryCredentials, c *appsv1.RepoCreds) error { - r := &appsv1.Repository{ - Repo: c.URL, - Username: c.Username, - Password: c.Password, - SSHPrivateKey: c.SSHPrivateKey, - TLSClientCertData: c.TLSClientCertData, - TLSClientCertKey: c.TLSClientCertKey, - GithubAppPrivateKey: c.GithubAppPrivateKey, - GithubAppId: c.GithubAppId, - GithubAppInstallationId: c.GithubAppInstallationId, - GitHubAppEnterpriseBaseURL: c.GitHubAppEnterpriseBaseURL, - GCPServiceAccountKey: c.GCPServiceAccountKey, - } - secretsData := make(map[string]map[string][]byte) - - credsInfo.UsernameSecret = l.setSecretData(credSecretPrefix, r.Repo, secretsData, credsInfo.UsernameSecret, r.Username, username) - credsInfo.PasswordSecret = l.setSecretData(credSecretPrefix, r.Repo, secretsData, credsInfo.PasswordSecret, r.Password, password) - credsInfo.SSHPrivateKeySecret = l.setSecretData(credSecretPrefix, r.Repo, secretsData, credsInfo.SSHPrivateKeySecret, r.SSHPrivateKey, sshPrivateKey) - credsInfo.TLSClientCertDataSecret = l.setSecretData(credSecretPrefix, r.Repo, secretsData, credsInfo.TLSClientCertDataSecret, r.TLSClientCertData, tlsClientCertData) - credsInfo.TLSClientCertKeySecret = l.setSecretData(credSecretPrefix, r.Repo, secretsData, credsInfo.TLSClientCertKeySecret, r.TLSClientCertKey, tlsClientCertKey) - credsInfo.GithubAppPrivateKeySecret = l.setSecretData(repoSecretPrefix, r.Repo, secretsData, credsInfo.GithubAppPrivateKeySecret, r.GithubAppPrivateKey, githubAppPrivateKey) - credsInfo.GCPServiceAccountKey = l.setSecretData(repoSecretPrefix, r.Repo, secretsData, credsInfo.GCPServiceAccountKey, r.GCPServiceAccountKey, gcpServiceAccountKey) - for k, v := range secretsData { - err := l.upsertSecret(k, v) - if err != nil { - return err - } - } - return nil -} - -func (l *legacyRepositoryBackend) upsertSecret(name string, data map[string][]byte) error { - secret, err := l.db.kubeclientset.CoreV1().Secrets(l.db.ns).Get(context.Background(), name, metav1.GetOptions{}) - if err != nil { - if apierrors.IsNotFound(err) { - if len(data) == 0 { - return nil - } - _, err = l.db.kubeclientset.CoreV1().Secrets(l.db.ns).Create(context.Background(), &corev1.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - Annotations: map[string]string{ - common.AnnotationKeyManagedBy: common.AnnotationValueManagedByArgoCD, - }, - }, - Data: data, - }, metav1.CreateOptions{}) - if err != nil { - return err - } - } - } else { - for _, key := range []string{username, password, sshPrivateKey, tlsClientCertData, tlsClientCertKey, githubAppPrivateKey} { - if secret.Data == nil { - secret.Data = make(map[string][]byte) - } - if val, ok := data[key]; ok && len(val) > 0 { - secret.Data[key] = val - } else { - delete(secret.Data, key) - } - } - if len(secret.Data) == 0 { - isManagedByArgo := secret.Annotations != nil && secret.Annotations[common.AnnotationKeyManagedBy] == common.AnnotationValueManagedByArgoCD - if isManagedByArgo { - return l.db.kubeclientset.CoreV1().Secrets(l.db.ns).Delete(context.Background(), name, metav1.DeleteOptions{}) - } - return nil - } - _, err = l.db.kubeclientset.CoreV1().Secrets(l.db.ns).Update(context.Background(), secret, metav1.UpdateOptions{}) - if err != nil { - return err - } - } - return nil -} - -// tryGetRepository returns a repository by URL. -// It provides the same functionality as GetRepository, with the additional behaviour of still returning a repository, -// even if an error occurred during the resolving of credentials for the repository. Otherwise this function behaves -// just as one would expect. -func (l *legacyRepositoryBackend) tryGetRepository(repoURL string) (*appsv1.Repository, error) { - repos, err := l.db.settingsMgr.GetRepositories() - if err != nil { - return nil, err - } - - repo := &appsv1.Repository{Repo: repoURL} - index := l.getRepositoryIndex(repos, repoURL) - if index >= 0 { - repo, err = l.credentialsToRepository(repos[index]) - if err != nil { - return repo, errors.NewCredentialsConfigurationError(err) - } - } - - return repo, err -} - -func (l *legacyRepositoryBackend) credentialsToRepository(repoInfo settings.Repository) (*appsv1.Repository, error) { - repo := &appsv1.Repository{ - Repo: repoInfo.URL, - Type: repoInfo.Type, - Name: repoInfo.Name, - InsecureIgnoreHostKey: repoInfo.InsecureIgnoreHostKey, - Insecure: repoInfo.Insecure, - EnableLFS: repoInfo.EnableLFS, - EnableOCI: repoInfo.EnableOci, - GithubAppId: repoInfo.GithubAppId, - GithubAppInstallationId: repoInfo.GithubAppInstallationId, - GitHubAppEnterpriseBaseURL: repoInfo.GithubAppEnterpriseBaseURL, - Proxy: repoInfo.Proxy, - } - err := l.db.unmarshalFromSecretsStr(map[*SecretMaperValidation]*corev1.SecretKeySelector{ - {Dest: &repo.Username, Transform: StripCRLFCharacter}: repoInfo.UsernameSecret, - {Dest: &repo.Password, Transform: StripCRLFCharacter}: repoInfo.PasswordSecret, - {Dest: &repo.SSHPrivateKey, Transform: StripCRLFCharacter}: repoInfo.SSHPrivateKeySecret, - {Dest: &repo.TLSClientCertData, Transform: StripCRLFCharacter}: repoInfo.TLSClientCertDataSecret, - {Dest: &repo.TLSClientCertKey, Transform: StripCRLFCharacter}: repoInfo.TLSClientCertKeySecret, - {Dest: &repo.GithubAppPrivateKey, Transform: StripCRLFCharacter}: repoInfo.GithubAppPrivateKeySecret, - {Dest: &repo.GCPServiceAccountKey, Transform: StripCRLFCharacter}: repoInfo.GCPServiceAccountKey, - }, make(map[string]*corev1.Secret)) - return repo, err -} - -func (l *legacyRepositoryBackend) credentialsToRepositoryCredentials(repoInfo settings.RepositoryCredentials) (*appsv1.RepoCreds, error) { - creds := &appsv1.RepoCreds{ - URL: repoInfo.URL, - GithubAppId: repoInfo.GithubAppId, - GithubAppInstallationId: repoInfo.GithubAppInstallationId, - GitHubAppEnterpriseBaseURL: repoInfo.GithubAppEnterpriseBaseURL, - EnableOCI: repoInfo.EnableOCI, - } - err := l.db.unmarshalFromSecretsStr(map[*SecretMaperValidation]*corev1.SecretKeySelector{ - {Dest: &creds.Username}: repoInfo.UsernameSecret, - {Dest: &creds.Password}: repoInfo.PasswordSecret, - {Dest: &creds.SSHPrivateKey}: repoInfo.SSHPrivateKeySecret, - {Dest: &creds.TLSClientCertData}: repoInfo.TLSClientCertDataSecret, - {Dest: &creds.TLSClientCertKey}: repoInfo.TLSClientCertKeySecret, - {Dest: &creds.GithubAppPrivateKey}: repoInfo.GithubAppPrivateKeySecret, - {Dest: &creds.GCPServiceAccountKey}: repoInfo.GCPServiceAccountKey, - }, make(map[string]*corev1.Secret)) - return creds, err -} - -// Set data to be stored in a given secret used for repository credentials and templates. -// The name of the secret is a combination of the prefix given, and a calculated value -// from the repository or template URL. -func (l *legacyRepositoryBackend) setSecretData(prefix string, url string, secretsData map[string]map[string][]byte, secretKey *corev1.SecretKeySelector, value string, defaultKeyName string) *corev1.SecretKeySelector { - if secretKey == nil && value != "" { - secretKey = &corev1.SecretKeySelector{ - LocalObjectReference: corev1.LocalObjectReference{Name: RepoURLToSecretName(prefix, url, "")}, - Key: defaultKeyName, - } - } - - if secretKey != nil { - data, ok := secretsData[secretKey.Name] - if !ok { - data = map[string][]byte{} - } - if value != "" { - data[secretKey.Key] = []byte(value) - } - secretsData[secretKey.Name] = data - } - - if value == "" { - secretKey = nil - } - - return secretKey -} - -func (l *legacyRepositoryBackend) getRepositoryIndex(repos []settings.Repository, repoURL string) int { - for i, repo := range repos { - if git.SameURL(repo.URL, repoURL) { - return i - } - } - return -1 -} - -// getRepositoryCredentialIndex returns the index of the best matching repository credential -// configuration, i.e. the one with the longest match -func getRepositoryCredentialIndex(repoCredentials []settings.RepositoryCredentials, repoURL string) int { - var max, idx int = 0, -1 - repoURL = git.NormalizeGitURL(repoURL) - for i, cred := range repoCredentials { - credUrl := git.NormalizeGitURL(cred.URL) - if strings.HasPrefix(repoURL, credUrl) { - if len(credUrl) > max { - max = len(credUrl) - idx = i - } - } - } - return idx -} diff --git a/util/db/repository_legacy_test.go b/util/db/repository_legacy_test.go deleted file mode 100644 index 63bb36f8e3f57..0000000000000 --- a/util/db/repository_legacy_test.go +++ /dev/null @@ -1,35 +0,0 @@ -package db - -import ( - "testing" - - "github.com/argoproj/argo-cd/v3/util/settings" -) - -func Test_getRepositoryCredentialIndex(t *testing.T) { - repositoryCredentials := []settings.RepositoryCredentials{ - {URL: "http://known"}, - {URL: "http://known/repos"}, - {URL: "http://known/other"}, - {URL: "http://known/other/other"}, - } - tests := []struct { - name string - repoURL string - want int - }{ - {"TestNotFound", "", -1}, - {"TestNotFound", "http://unknown/repos", -1}, - {"TestNotFound", "http://unknown/repo/repo", -1}, - {"TestFoundFound", "http://known/repos/repo", 1}, - {"TestFoundFound", "http://known/other/repo/foo", 2}, - {"TestFoundFound", "http://known/other/other/repo", 3}, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - if got := getRepositoryCredentialIndex(repositoryCredentials, tt.repoURL); got != tt.want { - t.Errorf("getRepositoryCredentialIndex() = %v, want %v", got, tt.want) - } - }) - } -} diff --git a/util/db/repository_secrets_test.go b/util/db/repository_secrets_test.go index 0f656076648af..bb5fbff6e2ba9 100644 --- a/util/db/repository_secrets_test.go +++ b/util/db/repository_secrets_test.go @@ -37,7 +37,7 @@ func TestSecretsRepositoryBackend_CreateRepository(t *testing.T) { EnableLFS: true, } setupWithK8sObjects := func(objects ...runtime.Object) *fixture { - clientset := getClientset(map[string]string{}, objects...) + clientset := getClientset(objects...) settingsMgr := settings.NewSettingsManager(context.Background(), clientset, testNamespace) repoBackend := &secretsRepositoryBackend{db: &db{ ns: testNamespace, @@ -210,7 +210,7 @@ func TestSecretsRepositoryBackend_GetRepository(t *testing.T) { }, } - clientset := getClientset(map[string]string{}, repoSecrets...) + clientset := getClientset(repoSecrets...) testee := &secretsRepositoryBackend{db: &db{ ns: testNamespace, kubeclientset: clientset, @@ -283,7 +283,7 @@ func TestSecretsRepositoryBackend_ListRepositories(t *testing.T) { }, } - clientset := getClientset(map[string]string{}, repoSecrets...) + clientset := getClientset(repoSecrets...) testee := &secretsRepositoryBackend{db: &db{ ns: testNamespace, kubeclientset: clientset, @@ -406,7 +406,7 @@ func TestSecretsRepositoryBackend_UpdateRepository(t *testing.T) { }, } - clientset := getClientset(map[string]string{}, repoSecrets...) + clientset := getClientset(repoSecrets...) testee := &secretsRepositoryBackend{db: &db{ ns: testNamespace, kubeclientset: clientset, @@ -515,7 +515,7 @@ func TestSecretsRepositoryBackend_DeleteRepository(t *testing.T) { }, } - clientset := getClientset(map[string]string{}, repoSecrets...) + clientset := getClientset(repoSecrets...) testee := &secretsRepositoryBackend{db: &db{ ns: testNamespace, kubeclientset: clientset, @@ -547,7 +547,7 @@ func TestSecretsRepositoryBackend_DeleteRepository(t *testing.T) { } func TestSecretsRepositoryBackend_CreateRepoCreds(t *testing.T) { - clientset := getClientset(map[string]string{}) + clientset := getClientset() testee := &secretsRepositoryBackend{db: &db{ ns: testNamespace, kubeclientset: clientset, @@ -676,7 +676,7 @@ func TestSecretsRepositoryBackend_GetRepoCreds(t *testing.T) { }, } - clientset := getClientset(map[string]string{}, repoCredSecrets...) + clientset := getClientset(repoCredSecrets...) testee := &secretsRepositoryBackend{db: &db{ ns: testNamespace, kubeclientset: clientset, @@ -733,7 +733,7 @@ func TestSecretsRepositoryBackend_ListRepoCreds(t *testing.T) { }, } - clientset := getClientset(map[string]string{}, repoCredSecrets...) + clientset := getClientset(repoCredSecrets...) testee := &secretsRepositoryBackend{db: &db{ ns: testNamespace, kubeclientset: clientset, @@ -794,7 +794,7 @@ func TestSecretsRepositoryBackend_UpdateRepoCreds(t *testing.T) { }, } - clientset := getClientset(map[string]string{}, repoCredSecrets...) + clientset := getClientset(repoCredSecrets...) testee := &secretsRepositoryBackend{db: &db{ ns: testNamespace, kubeclientset: clientset, @@ -863,7 +863,7 @@ func TestSecretsRepositoryBackend_DeleteRepoCreds(t *testing.T) { }, } - clientset := getClientset(map[string]string{}, repoSecrets...) + clientset := getClientset(repoSecrets...) testee := &secretsRepositoryBackend{db: &db{ ns: testNamespace, kubeclientset: clientset, @@ -917,7 +917,7 @@ func TestSecretsRepositoryBackend_GetAllHelmRepoCreds(t *testing.T) { }, } - clientset := getClientset(map[string]string{}, repoCredSecrets...) + clientset := getClientset(repoCredSecrets...) testee := &secretsRepositoryBackend{db: &db{ ns: testNamespace, kubeclientset: clientset, diff --git a/util/db/repository_test.go b/util/db/repository_test.go index 48e08eea68bfa..f92ad439460da 100644 --- a/util/db/repository_test.go +++ b/util/db/repository_test.go @@ -14,19 +14,6 @@ import ( "github.com/argoproj/argo-cd/v3/util/settings" ) -const ( - repoArgoProj = ` -- name: OtherRepo - url: git@github.com:argoproj/argoproj.git - usernameSecret: - name: managed-secret - key: username - passwordSecret: - name: managed-secret - key: password - type: git` -) - var repoArgoCD = &corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ Namespace: testNamespace, @@ -47,8 +34,28 @@ var repoArgoCD = &corev1.Secret{ }, } +var repoArgoProj = &corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Namespace: testNamespace, + Name: "some-other-repo-secret", + Annotations: map[string]string{ + common.AnnotationKeyManagedBy: common.AnnotationValueManagedByArgoCD, + }, + Labels: map[string]string{ + common.LabelKeySecretType: common.LabelValueSecretTypeRepository, + }, + }, + Data: map[string][]byte{ + "name": []byte("OtherRepo"), + "url": []byte("git@github.com:argoproj/argoproj.git"), + "username": []byte("someUsername"), + "password": []byte("somePassword"), + "type": []byte("git"), + }, +} + func TestDb_CreateRepository(t *testing.T) { - clientset := getClientset(map[string]string{}) + clientset := getClientset() settingsManager := settings.NewSettingsManager(context.TODO(), clientset, testNamespace) testee := &db{ ns: testNamespace, @@ -68,12 +75,6 @@ func TestDb_CreateRepository(t *testing.T) { require.NoError(t, err) assert.Same(t, input, output) - // New repositories should not be stored in the settings anymore - settingRepositories, err := settingsManager.GetRepositories() - require.NoError(t, err) - assert.Empty(t, settingRepositories) - - // New repositories should be now stored as secrets secret, err := clientset.CoreV1().Secrets(testNamespace).Get( context.TODO(), RepoURLToSecretName(repoSecretPrefix, input.Repo, ""), @@ -84,7 +85,7 @@ func TestDb_CreateRepository(t *testing.T) { } func TestDb_GetRepository(t *testing.T) { - clientset := getClientset(map[string]string{"repositories": repoArgoProj}, newManagedSecret(), repoArgoCD) + clientset := getClientset(repoArgoCD, repoArgoProj) settingsManager := settings.NewSettingsManager(context.TODO(), clientset, testNamespace) testee := &db{ ns: testNamespace, @@ -94,12 +95,12 @@ func TestDb_GetRepository(t *testing.T) { repository, err := testee.GetRepository(context.TODO(), "git@github.com:argoproj/argoproj.git", "") require.NoError(t, err) - assert.NotNil(t, repository) + require.NotNil(t, repository) assert.Equal(t, "OtherRepo", repository.Name) repository, err = testee.GetRepository(context.TODO(), "git@github.com:argoproj/argo-cd.git", "") require.NoError(t, err) - assert.NotNil(t, repository) + require.NotNil(t, repository) assert.Equal(t, "SomeRepo", repository.Name) repository, err = testee.GetRepository(context.TODO(), "git@github.com:argoproj/not-existing.git", "") @@ -109,7 +110,7 @@ func TestDb_GetRepository(t *testing.T) { } func TestDb_ListRepositories(t *testing.T) { - clientset := getClientset(map[string]string{"repositories": repoArgoProj}, newManagedSecret(), repoArgoCD) + clientset := getClientset(repoArgoCD, repoArgoProj) settingsManager := settings.NewSettingsManager(context.TODO(), clientset, testNamespace) testee := &db{ ns: testNamespace, @@ -130,15 +131,8 @@ func TestDb_UpdateRepository(t *testing.T) { Password: "somePassword", Type: "git", } - settingRepository := &appsv1.Repository{ - Name: "OtherRepo", - Repo: "git@github.com:argoproj/argoproj.git", - Username: "otherUsername", - Password: "otherPassword", - Type: "git", - } - clientset := getClientset(map[string]string{"repositories": repoArgoProj}, newManagedSecret(), repoArgoCD) + clientset := getClientset(repoArgoCD) settingsManager := settings.NewSettingsManager(context.TODO(), clientset, testNamespace) testee := &db{ ns: testNamespace, @@ -146,30 +140,13 @@ func TestDb_UpdateRepository(t *testing.T) { settingsMgr: settingsManager, } - // Verify that legacy repository can still be updated - settingRepository.Username = "OtherUpdatedUsername" - repository, err := testee.UpdateRepository(context.TODO(), settingRepository) - require.NoError(t, err) - assert.NotNil(t, repository) - assert.Same(t, settingRepository, repository) - - secret, err := clientset.CoreV1().Secrets(testNamespace).Get( - context.TODO(), - "managed-secret", - metav1.GetOptions{}, - ) - require.NoError(t, err) - assert.NotNil(t, secret) - assert.Equal(t, "OtherUpdatedUsername", string(secret.Data["username"])) - - // Verify that secret-based repository can be updated secretRepository.Username = "UpdatedUsername" - repository, err = testee.UpdateRepository(context.TODO(), secretRepository) + repository, err := testee.UpdateRepository(context.TODO(), secretRepository) require.NoError(t, err) assert.NotNil(t, repository) assert.Same(t, secretRepository, repository) - secret, err = clientset.CoreV1().Secrets(testNamespace).Get( + secret, err := clientset.CoreV1().Secrets(testNamespace).Get( context.TODO(), "some-repo-secret", metav1.GetOptions{}, @@ -180,7 +157,7 @@ func TestDb_UpdateRepository(t *testing.T) { } func TestDb_DeleteRepository(t *testing.T) { - clientset := getClientset(map[string]string{"repositories": repoArgoProj}, newManagedSecret(), repoArgoCD) + clientset := getClientset(repoArgoCD, repoArgoProj) settingsManager := settings.NewSettingsManager(context.TODO(), clientset, testNamespace) testee := &db{ ns: testNamespace, @@ -191,10 +168,6 @@ func TestDb_DeleteRepository(t *testing.T) { err := testee.DeleteRepository(context.TODO(), "git@github.com:argoproj/argoproj.git", "") require.NoError(t, err) - repositories, err := settingsManager.GetRepositories() - require.NoError(t, err) - assert.Empty(t, repositories) - err = testee.DeleteRepository(context.TODO(), "git@github.com:argoproj/argo-cd.git", "") require.NoError(t, err) @@ -203,17 +176,7 @@ func TestDb_DeleteRepository(t *testing.T) { } func TestDb_GetRepositoryCredentials(t *testing.T) { - repositoryCredentialsSettings := ` -- type: git - url: git@github.com:argoproj - usernameSecret: - name: managed-secret - key: username - passwordSecret: - name: managed-secret - key: password -` - repoCredsSecret := &corev1.Secret{ + gitHubRepoCredsSecret := &corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ Namespace: testNamespace, Name: "some-repocreds-secret", @@ -221,6 +184,21 @@ func TestDb_GetRepositoryCredentials(t *testing.T) { common.LabelKeySecretType: common.LabelValueSecretTypeRepoCreds, }, }, + Data: map[string][]byte{ + "type": []byte("git"), + "url": []byte("git@github.com:argoproj"), + "username": []byte("someUsername"), + "password": []byte("somePassword"), + }, + } + gitLabRepoCredsSecret := &corev1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Namespace: testNamespace, + Name: "some-other-repocreds-secret", + Labels: map[string]string{ + common.LabelKeySecretType: common.LabelValueSecretTypeRepoCreds, + }, + }, Data: map[string][]byte{ "type": []byte("git"), "url": []byte("git@gitlab.com"), @@ -229,17 +207,17 @@ func TestDb_GetRepositoryCredentials(t *testing.T) { }, } - clientset := getClientset(map[string]string{"repository.credentials": repositoryCredentialsSettings}, newManagedSecret(), repoCredsSecret) + clientset := getClientset(gitHubRepoCredsSecret, gitLabRepoCredsSecret) testee := NewDB(testNamespace, settings.NewSettingsManager(context.TODO(), clientset, testNamespace), clientset) repoCreds, err := testee.GetRepositoryCredentials(context.TODO(), "git@github.com:argoproj/argoproj.git") require.NoError(t, err) - assert.NotNil(t, repoCreds) + require.NotNil(t, repoCreds) assert.Equal(t, "git@github.com:argoproj", repoCreds.URL) repoCreds, err = testee.GetRepositoryCredentials(context.TODO(), "git@gitlab.com:someorg/foobar.git") require.NoError(t, err) - assert.NotNil(t, repoCreds) + require.NotNil(t, repoCreds) assert.Equal(t, "git@gitlab.com", repoCreds.URL) repoCreds, err = testee.GetRepositoryCredentials(context.TODO(), "git@github.com:example/not-existing.git") @@ -303,9 +281,8 @@ func TestRepoURLToSecretName(t *testing.T) { }} for _, v := range tables { - if sn := RepoURLToSecretName(repoSecretPrefix, v.repoUrl, v.project); sn != v.secretName { - t.Errorf("Expected secret name %q for repo %q; instead, got %q", v.secretName, v.repoUrl, sn) - } + sn := RepoURLToSecretName(repoSecretPrefix, v.repoUrl, v.project) + assert.Equal(t, sn, v.secretName, "Expected secret name %q for repo %q; instead, got %q", v.secretName, v.repoUrl, sn) } } @@ -318,9 +295,8 @@ func Test_CredsURLToSecretName(t *testing.T) { } for k, v := range tables { - if sn := RepoURLToSecretName(credSecretPrefix, k, ""); sn != v { - t.Errorf("Expected secret name %q for repo %q; instead, got %q", v, k, sn) - } + sn := RepoURLToSecretName(credSecretPrefix, k, "") + assert.Equal(t, sn, v, "Expected secret name %q for repo %q; instead, got %q", v, k, sn) } } @@ -354,7 +330,7 @@ func Test_GetProjectRepositories(t *testing.T) { }, } - clientset := getClientset(map[string]string{}, repoSecretWithProject, repoSecretWithoutProject) + clientset := getClientset(repoSecretWithProject, repoSecretWithoutProject) argoDB := NewDB(testNamespace, settings.NewSettingsManager(context.TODO(), clientset, testNamespace), clientset) repos, err := argoDB.GetProjectRepositories("some-project") diff --git a/util/git/client_test.go b/util/git/client_test.go index f66f0b942cb7d..2d721317229d3 100644 --- a/util/git/client_test.go +++ b/util/git/client_test.go @@ -849,7 +849,5 @@ func Test_newAuth_AzureWorkloadIdentity(t *testing.T) { auth, err := newAuth("", creds) require.NoError(t, err) _, ok := auth.(*githttp.TokenAuth) - if !ok { - t.Fatalf("expected TokenAuth but got %T", auth) - } + require.Truef(t, ok, "expected TokenAuth but got %T", auth) } diff --git a/util/git/creds_test.go b/util/git/creds_test.go index bb8f56377bcee..c504ae6c7eb18 100644 --- a/util/git/creds_test.go +++ b/util/git/creds_test.go @@ -435,7 +435,5 @@ func TestGetHelmCredsShouldReturnHelmCredsIfAzureWorkloadIdentityNotSpecified(t var creds Creds = NewAzureWorkloadIdentityCreds(NoopCredsStore{}, new(mocks.TokenProvider)) _, ok := creds.(AzureWorkloadIdentityCreds) - if !ok { - t.Fatalf("expected HelmCreds but got %T", creds) - } + require.Truef(t, ok, "expected HelmCreds but got %T", creds) } diff --git a/util/grpc/sanitizer_test.go b/util/grpc/sanitizer_test.go index 9f7ac92f4a6d6..edd2a7e053caf 100644 --- a/util/grpc/sanitizer_test.go +++ b/util/grpc/sanitizer_test.go @@ -47,5 +47,5 @@ func TestErrorSanitizerUnaryServerInterceptor(t *testing.T) { return nil, status.Error(codes.Internal, "error at /my-random/path/sub-dir: something went wrong") }) - assert.Equal(t, "rpc error: code = Internal desc = error at ./sub-dir: something went wrong", err.Error()) + assert.EqualError(t, err, "rpc error: code = Internal desc = error at ./sub-dir: something went wrong") } diff --git a/util/helm/creds_test.go b/util/helm/creds_test.go index afdb7c152c989..d12275dc29417 100644 --- a/util/helm/creds_test.go +++ b/util/helm/creds_test.go @@ -141,8 +141,7 @@ func TestChallengeAzureContainerRegistryNonBearer(t *testing.T) { creds := NewAzureWorkloadIdentityCreds(mockServer.URL[8:], "", nil, nil, true, workloadIdentityMock) _, err := creds.challengeAzureContainerRegistry(creds.repoUrl) - require.Error(t, err) - assert.Contains(t, err.Error(), "does not allow 'Bearer' authentication") + assert.ErrorContains(t, err, "does not allow 'Bearer' authentication") } func TestChallengeAzureContainerRegistryNoService(t *testing.T) { @@ -159,8 +158,7 @@ func TestChallengeAzureContainerRegistryNoService(t *testing.T) { creds := NewAzureWorkloadIdentityCreds(mockServer.URL[8:], "", nil, nil, true, workloadIdentityMock) _, err := creds.challengeAzureContainerRegistry(creds.repoUrl) - require.Error(t, err) - assert.Contains(t, err.Error(), "service parameter not found in challenge") + assert.ErrorContains(t, err, "service parameter not found in challenge") } func TestChallengeAzureContainerRegistryNoRealm(t *testing.T) { @@ -177,8 +175,7 @@ func TestChallengeAzureContainerRegistryNoRealm(t *testing.T) { creds := NewAzureWorkloadIdentityCreds(mockServer.URL[8:], "", nil, nil, true, workloadIdentityMock) _, err := creds.challengeAzureContainerRegistry(creds.repoUrl) - require.Error(t, err) - assert.Contains(t, err.Error(), "realm parameter not found in challenge") + assert.ErrorContains(t, err, "realm parameter not found in challenge") } func TestGetAccessTokenAfterChallenge_Success(t *testing.T) { @@ -228,8 +225,7 @@ func TestGetAccessTokenAfterChallenge_Failure(t *testing.T) { } refreshToken, err := creds.getAccessTokenAfterChallenge(tokenParams) - require.Error(t, err) - assert.Contains(t, err.Error(), "failed to get refresh token") + require.ErrorContains(t, err, "failed to get refresh token") assert.Empty(t, refreshToken) } @@ -254,7 +250,6 @@ func TestGetAccessTokenAfterChallenge_MalformedResponse(t *testing.T) { } refreshToken, err := creds.getAccessTokenAfterChallenge(tokenParams) - require.Error(t, err) - assert.Contains(t, err.Error(), "failed to unmarshal response body") + require.ErrorContains(t, err, "failed to unmarshal response body") assert.Empty(t, refreshToken) } diff --git a/util/io/files/tar_test.go b/util/io/files/tar_test.go index 74b9127f69b17..cce5bda2e1f8c 100644 --- a/util/io/files/tar_test.go +++ b/util/io/files/tar_test.go @@ -113,10 +113,7 @@ func TestUntgz(t *testing.T) { } deleteTmpDir := func(t *testing.T, dirname string) { t.Helper() - err := os.RemoveAll(dirname) - if err != nil { - t.Errorf("error removing tmpDir: %s", err) - } + assert.NoError(t, os.RemoveAll(dirname), "error removing tmpDir") } createTgz := func(t *testing.T, fromDir, destDir string) *os.File { t.Helper() diff --git a/util/kube/kube_test.go b/util/kube/kube_test.go index 79e41993ca154..5d651387d81a9 100644 --- a/util/kube/kube_test.go +++ b/util/kube/kube_test.go @@ -192,8 +192,7 @@ func TestSetAppInstanceAnnotationWithInvalidData(t *testing.T) { err = yaml.Unmarshal(yamlBytes, &obj) require.NoError(t, err) err = SetAppInstanceAnnotation(&obj, common.LabelKeyAppInstance, "my-app") - require.Error(t, err) - assert.Equal(t, "failed to get annotations from target object /v1, Kind=Service /my-service: .metadata.annotations accessor error: contains non-string value in the map under key \"invalid-annotation\": is of the type , expected string", err.Error()) + assert.EqualError(t, err, "failed to get annotations from target object /v1, Kind=Service /my-service: .metadata.annotations accessor error: contains non-string value in the map under key \"invalid-annotation\": is of the type , expected string") } func TestGetAppInstanceAnnotation(t *testing.T) { @@ -218,8 +217,7 @@ func TestGetAppInstanceAnnotationWithInvalidData(t *testing.T) { require.NoError(t, err) _, err = GetAppInstanceAnnotation(&obj, "valid-annotation") - require.Error(t, err) - assert.Equal(t, "failed to get annotations from target object /v1, Kind=Service /my-service: .metadata.annotations accessor error: contains non-string value in the map under key \"invalid-annotation\": is of the type , expected string", err.Error()) + assert.EqualError(t, err, "failed to get annotations from target object /v1, Kind=Service /my-service: .metadata.annotations accessor error: contains non-string value in the map under key \"invalid-annotation\": is of the type , expected string") } func TestGetAppInstanceLabel(t *testing.T) { @@ -242,8 +240,7 @@ func TestGetAppInstanceLabelWithInvalidData(t *testing.T) { err = yaml.Unmarshal(yamlBytes, &obj) require.NoError(t, err) _, err = GetAppInstanceLabel(&obj, "valid-label") - require.Error(t, err) - assert.Equal(t, "failed to get labels for /v1, Kind=Service /my-service: .metadata.labels accessor error: contains non-string value in the map under key \"invalid-label\": is of the type , expected string", err.Error()) + assert.EqualError(t, err, "failed to get labels for /v1, Kind=Service /my-service: .metadata.labels accessor error: contains non-string value in the map under key \"invalid-label\": is of the type , expected string") } func TestRemoveLabel(t *testing.T) { @@ -268,6 +265,5 @@ func TestRemoveLabelWithInvalidData(t *testing.T) { require.NoError(t, err) err = RemoveLabel(&obj, "valid-label") - require.Error(t, err) - assert.Equal(t, "failed to get labels for /v1, Kind=Service /my-service: .metadata.labels accessor error: contains non-string value in the map under key \"invalid-label\": is of the type , expected string", err.Error()) + assert.EqualError(t, err, "failed to get labels for /v1, Kind=Service /my-service: .metadata.labels accessor error: contains non-string value in the map under key \"invalid-label\": is of the type , expected string") } diff --git a/util/kube/kubectl.go b/util/kube/kubectl.go index c1c1208113661..5c5996bcdd23e 100644 --- a/util/kube/kubectl.go +++ b/util/kube/kubectl.go @@ -3,20 +3,38 @@ package kube import ( "os" + "github.com/go-logr/logr" + "k8s.io/client-go/rest" + "k8s.io/kubectl/pkg/util/openapi" + "github.com/argoproj/argo-cd/v3/util/log" + "github.com/argoproj/gitops-engine/pkg/diff" "github.com/argoproj/gitops-engine/pkg/utils/kube" "github.com/argoproj/gitops-engine/pkg/utils/tracing" ) -var tracer tracing.Tracer = &tracing.NopTracer{} +var ( + tracer tracing.Tracer = &tracing.NopTracer{} + logger logr.Logger = log.NewLogrusLogger(log.NewWithCurrentConfig()) +) func init() { if os.Getenv("ARGOCD_TRACING_ENABLED") == "1" { - tracer = tracing.NewLoggingTracer(log.NewLogrusLogger(log.NewWithCurrentConfig())) + tracer = tracing.NewLoggingTracer(logger) } } func NewKubectl() kube.Kubectl { - return &kube.KubectlCmd{Tracer: tracer, Log: log.NewLogrusLogger(log.NewWithCurrentConfig())} + return &kube.KubectlCmd{Tracer: tracer, Log: logger} +} + +func ManageServerSideDiffDryRuns(config *rest.Config, openAPISchema openapi.Resources, onKubectlRun kube.OnKubectlRunFunc) (diff.KubeApplier, func(), error) { + return kube.ManageServerSideDiffDryRuns( + config, + openAPISchema, + tracer, + logger, + onKubectlRun, + ) } diff --git a/util/kustomize/kustomize.go b/util/kustomize/kustomize.go index ed6417b106d2a..150e83691ebfd 100644 --- a/util/kustomize/kustomize.go +++ b/util/kustomize/kustomize.go @@ -24,6 +24,8 @@ import ( executil "github.com/argoproj/argo-cd/v3/util/exec" "github.com/argoproj/argo-cd/v3/util/git" "github.com/argoproj/argo-cd/v3/util/proxy" + + securejoin "github.com/cyphar/filepath-securejoin" ) // represents a Docker image in the format NAME[:TAG]. @@ -310,8 +312,24 @@ func (k *kustomize) Build(opts *v1alpha1.ApplicationSourceKustomize, kustomizeOp } // add components + foundComponents := opts.Components + if opts.IgnoreMissingComponents { + foundComponents = make([]string, 0) + for _, c := range opts.Components { + resolvedPath, err := securejoin.SecureJoin(k.path, c) + if err != nil { + return nil, nil, nil, fmt.Errorf("Kustomize components path failed: %w", err) + } + _, err = os.Stat(resolvedPath) + if err != nil { + log.Debugf("%s component directory does not exist", resolvedPath) + continue + } + foundComponents = append(foundComponents, c) + } + } args := []string{"edit", "add", "component"} - args = append(args, opts.Components...) + args = append(args, foundComponents...) cmd := exec.Command(k.getBinaryPath(), args...) cmd.Dir = k.path cmd.Env = env diff --git a/util/kustomize/kustomize_test.go b/util/kustomize/kustomize_test.go index bf8d122bd379b..fe67a5dfeafa5 100644 --- a/util/kustomize/kustomize_test.go +++ b/util/kustomize/kustomize_test.go @@ -445,7 +445,15 @@ func TestKustomizeBuildComponents(t *testing.T) { kustomize := NewKustomizeApp(appPath, appPath, git.NopCreds{}, "", "", "", "") kustomizeSource := v1alpha1.ApplicationSourceKustomize{ - Components: []string{"./components"}, + Components: []string{"./components", "./missing-components"}, + IgnoreMissingComponents: false, + } + _, _, _, err = kustomize.Build(&kustomizeSource, nil, nil, nil) + require.Error(t, err) + + kustomizeSource = v1alpha1.ApplicationSourceKustomize{ + Components: []string{"./components", "./missing-components"}, + IgnoreMissingComponents: true, } objs, _, _, err := kustomize.Build(&kustomizeSource, nil, nil, nil) require.NoError(t, err) diff --git a/util/log/logrus.go b/util/log/logrus.go index 6a51cd344ee0a..01ebc27993eb9 100644 --- a/util/log/logrus.go +++ b/util/log/logrus.go @@ -46,8 +46,7 @@ func CreateFormatter(logFormat string) logrus.Formatter { TimestampFormat: checkTimestampFormat(), } default: - formatType = &logrus.TextFormatter{ - FullTimestamp: checkEnableFullTimestamp(), + formatType = &logrus.JSONFormatter{ TimestampFormat: checkTimestampFormat(), } } diff --git a/util/log/logrus_test.go b/util/log/logrus_test.go index 66c8dcfb7512b..f25ab4ca7b526 100644 --- a/util/log/logrus_test.go +++ b/util/log/logrus_test.go @@ -48,6 +48,6 @@ func TestCreateFormatter(t *testing.T) { }) t.Run("log format is not json or text", func(t *testing.T) { result := CreateFormatter("xml") - assert.Equal(t, &logrus.TextFormatter{}, result) + assert.Equal(t, &logrus.JSONFormatter{}, result) }) } diff --git a/util/lua/custom_actions_test.go b/util/lua/custom_actions_test.go index b17c60d9993ea..43ba22ac38642 100644 --- a/util/lua/custom_actions_test.go +++ b/util/lua/custom_actions_test.go @@ -220,9 +220,7 @@ func getExpectedObjectList(t *testing.T, path string) *unstructured.Unstructured // Append each map in objList to the Items field of the new object for i, obj := range objList { unstructuredObj, ok := obj["unstructuredObj"].(map[string]any) - if !ok { - t.Error("Wrong type of unstructuredObj") - } + assert.True(t, ok, "Wrong type of unstructuredObj") unstructuredList.Items[i] = unstructured.Unstructured{Object: unstructuredObj} } } else { diff --git a/util/oidc/oidc.go b/util/oidc/oidc.go index 2633cd8f308c3..7ef37bd0a0d09 100644 --- a/util/oidc/oidc.go +++ b/util/oidc/oidc.go @@ -314,10 +314,13 @@ func (a *ClientApp) HandleLogin(w http.ResponseWriter, r *http.Request) { scopes := make([]string, 0) var opts []oauth2.AuthCodeOption if config := a.settings.OIDCConfig(); config != nil { - scopes = config.RequestedScopes + scopes = GetScopesOrDefault(config.RequestedScopes) opts = AppendClaimsAuthenticationRequestParameter(opts, config.RequestedIDTokenClaims) + } else if a.settings.IsDexConfigured() { + scopes = append(GetScopesOrDefault(nil), common.DexFederatedScope) } - oauth2Config, err := a.oauth2Config(r, GetScopesOrDefault(scopes)) + + oauth2Config, err := a.oauth2Config(r, scopes) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return diff --git a/util/oidc/oidc_test.go b/util/oidc/oidc_test.go index 46d1e1f7904f6..a98d4ed761c6b 100644 --- a/util/oidc/oidc_test.go +++ b/util/oidc/oidc_test.go @@ -21,6 +21,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "golang.org/x/oauth2" + "sigs.k8s.io/yaml" "github.com/argoproj/argo-cd/v3/common" "github.com/argoproj/argo-cd/v3/server/settings/oidc" @@ -204,6 +205,108 @@ requestedScopes: ["oidc"]`, oidcTestServer.URL), assert.NotContains(t, w.Body.String(), "certificate signed by unknown authority") }) + t.Run("OIDC auth", func(t *testing.T) { + cdSettings := &settings.ArgoCDSettings{ + URL: "https://argocd.example.com", + OIDCTLSInsecureSkipVerify: true, + } + oidcConfig := settings.OIDCConfig{ + Name: "Test", + Issuer: oidcTestServer.URL, + ClientID: "xxx", + ClientSecret: "yyy", + } + oidcConfigRaw, err := yaml.Marshal(oidcConfig) + require.NoError(t, err) + cdSettings.OIDCConfigRAW = string(oidcConfigRaw) + + app, err := NewClientApp(cdSettings, dexTestServer.URL, &dex.DexTLSConfig{StrictValidation: false}, "https://argocd.example.com", cache.NewInMemoryCache(24*time.Hour)) + require.NoError(t, err) + + req := httptest.NewRequest(http.MethodGet, "https://argocd.example.com/auth/login", nil) + w := httptest.NewRecorder() + app.HandleLogin(w, req) + + assert.Equal(t, http.StatusSeeOther, w.Code) + location, err := url.Parse(w.Header().Get("Location")) + require.NoError(t, err) + values, err := url.ParseQuery(location.RawQuery) + require.NoError(t, err) + assert.Equal(t, []string{"openid", "profile", "email", "groups"}, strings.Split(values.Get("scope"), " ")) + assert.Equal(t, "xxx", values.Get("client_id")) + assert.Equal(t, "code", values.Get("response_type")) + }) + + t.Run("OIDC auth with custom scopes", func(t *testing.T) { + cdSettings := &settings.ArgoCDSettings{ + URL: "https://argocd.example.com", + OIDCTLSInsecureSkipVerify: true, + } + oidcConfig := settings.OIDCConfig{ + Name: "Test", + Issuer: oidcTestServer.URL, + ClientID: "xxx", + ClientSecret: "yyy", + RequestedScopes: []string{"oidc"}, + } + oidcConfigRaw, err := yaml.Marshal(oidcConfig) + require.NoError(t, err) + cdSettings.OIDCConfigRAW = string(oidcConfigRaw) + + app, err := NewClientApp(cdSettings, dexTestServer.URL, &dex.DexTLSConfig{StrictValidation: false}, "https://argocd.example.com", cache.NewInMemoryCache(24*time.Hour)) + require.NoError(t, err) + + req := httptest.NewRequest(http.MethodGet, "https://argocd.example.com/auth/login", nil) + w := httptest.NewRecorder() + app.HandleLogin(w, req) + + assert.Equal(t, http.StatusSeeOther, w.Code) + location, err := url.Parse(w.Header().Get("Location")) + require.NoError(t, err) + values, err := url.ParseQuery(location.RawQuery) + require.NoError(t, err) + assert.Equal(t, []string{"oidc"}, strings.Split(values.Get("scope"), " ")) + assert.Equal(t, "xxx", values.Get("client_id")) + assert.Equal(t, "code", values.Get("response_type")) + }) + + t.Run("Dex auth", func(t *testing.T) { + cdSettings := &settings.ArgoCDSettings{ + URL: dexTestServer.URL, + } + dexConfig := map[string]any{ + "connectors": []map[string]any{ + { + "type": "github", + "name": "GitHub", + "config": map[string]any{ + "clientId": "aabbccddeeff00112233", + "clientSecret": "aabbccddeeff00112233", + }, + }, + }, + } + dexConfigRaw, err := yaml.Marshal(dexConfig) + require.NoError(t, err) + cdSettings.DexConfig = string(dexConfigRaw) + + app, err := NewClientApp(cdSettings, dexTestServer.URL, &dex.DexTLSConfig{StrictValidation: false}, "https://argocd.example.com", cache.NewInMemoryCache(24*time.Hour)) + require.NoError(t, err) + + req := httptest.NewRequest(http.MethodGet, "https://argocd.example.com/auth/login", nil) + w := httptest.NewRecorder() + app.HandleLogin(w, req) + + assert.Equal(t, http.StatusSeeOther, w.Code) + location, err := url.Parse(w.Header().Get("Location")) + require.NoError(t, err) + values, err := url.ParseQuery(location.RawQuery) + require.NoError(t, err) + assert.Equal(t, []string{"openid", "profile", "email", "groups", common.DexFederatedScope}, strings.Split(values.Get("scope"), " ")) + assert.Equal(t, common.ArgoCDClientAppID, values.Get("client_id")) + assert.Equal(t, "code", values.Get("response_type")) + }) + t.Run("with additional base URL", func(t *testing.T) { cdSettings := &settings.ArgoCDSettings{ URL: "https://argocd.example.com", diff --git a/util/password/password_test.go b/util/password/password_test.go index 3447cdf917289..06d2d16b771c9 100644 --- a/util/password/password_test.go +++ b/util/password/password_test.go @@ -2,6 +2,9 @@ package password import ( "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func testPasswordHasher(t *testing.T, h PasswordHasher) { @@ -12,12 +15,8 @@ func testPasswordHasher(t *testing.T, h PasswordHasher) { pollution = "extradata12345" ) hashedPassword, _ := h.HashPassword(defaultPassword) - if !h.VerifyPassword(defaultPassword, hashedPassword) { - t.Errorf("Password %q should have validated against hash %q", defaultPassword, hashedPassword) - } - if h.VerifyPassword(defaultPassword, pollution+hashedPassword) { - t.Errorf("Password %q should NOT have validated against hash %q", defaultPassword, pollution+hashedPassword) - } + assert.True(t, h.VerifyPassword(defaultPassword, hashedPassword), "Password %q should have validated against hash %q", defaultPassword, hashedPassword) + assert.False(t, h.VerifyPassword(defaultPassword, pollution+hashedPassword), "Password %q should NOT have validated against hash %q", defaultPassword, pollution+hashedPassword) } func TestBcryptPasswordHasher(t *testing.T) { @@ -43,27 +42,15 @@ func TestPasswordHashing(t *testing.T) { hashedPassword, _ := hashPasswordWithHashers(defaultPassword, hashers) valid, stale := verifyPasswordWithHashers(defaultPassword, hashedPassword, hashers) - if !valid { - t.Errorf("Password %q should have validated against hash %q", defaultPassword, hashedPassword) - } - if stale { - t.Errorf("Password %q should not have been marked stale against hash %q", defaultPassword, hashedPassword) - } + assert.True(t, valid, "Password %q should have validated against hash %q", defaultPassword, hashedPassword) + assert.False(t, stale, "Password %q should not have been marked stale against hash %q", defaultPassword, hashedPassword) valid, stale = verifyPasswordWithHashers(defaultPassword, defaultPassword, hashers) - if !valid { - t.Errorf("Password %q should have validated against itself with dummy hasher", defaultPassword) - } - if !stale { - t.Errorf("Password %q should have been acknowledged stale against itself with dummy hasher", defaultPassword) - } + assert.True(t, valid, "Password %q should have validated against itself with dummy hasher", defaultPassword) + assert.True(t, stale, "Password %q should have been acknowledged stale against itself with dummy hasher", defaultPassword) hashedPassword, err := hashPasswordWithHashers(blankPassword, hashers) - if err == nil { - t.Errorf("Blank password should have produced error, rather than hash %q", hashedPassword) - } + require.Error(t, err, "Blank password should have produced error, rather than hash %q", hashedPassword) valid, _ = verifyPasswordWithHashers(blankPassword, "", hashers) - if valid { - t.Errorf("Blank password should have failed verification") - } + assert.False(t, valid, "Blank password should have failed verification") } diff --git a/util/rbac/rbac_test.go b/util/rbac/rbac_test.go index 652b228f2579a..453911f153378 100644 --- a/util/rbac/rbac_test.go +++ b/util/rbac/rbac_test.go @@ -355,39 +355,27 @@ func TestEnforceErrorMessage(t *testing.T) { err := enf.syncUpdate(fakeConfigMap(), noOpUpdate) require.NoError(t, err) - err = enf.EnforceErr("admin", "applications", "get", "foo/bar") - require.Error(t, err) - assert.Equal(t, "rpc error: code = PermissionDenied desc = permission denied: applications, get, foo/bar", err.Error()) + require.EqualError(t, enf.EnforceErr("admin", "applications", "get", "foo/bar"), "rpc error: code = PermissionDenied desc = permission denied: applications, get, foo/bar") - err = enf.EnforceErr() - require.Error(t, err) - assert.Equal(t, "rpc error: code = PermissionDenied desc = permission denied", err.Error()) + require.EqualError(t, enf.EnforceErr(), "rpc error: code = PermissionDenied desc = permission denied") //nolint:staticcheck ctx := context.WithValue(context.Background(), "claims", &jwt.RegisteredClaims{Subject: "proj:default:admin"}) - err = enf.EnforceErr(ctx.Value("claims"), "project") - require.Error(t, err) - assert.Equal(t, "rpc error: code = PermissionDenied desc = permission denied: project, sub: proj:default:admin", err.Error()) + require.EqualError(t, enf.EnforceErr(ctx.Value("claims"), "project"), "rpc error: code = PermissionDenied desc = permission denied: project, sub: proj:default:admin") iat := time.Unix(int64(1593035962), 0).Format(time.RFC3339) exp := "rpc error: code = PermissionDenied desc = permission denied: project, sub: proj:default:admin, iat: " + iat //nolint:staticcheck ctx = context.WithValue(context.Background(), "claims", &jwt.RegisteredClaims{Subject: "proj:default:admin", IssuedAt: jwt.NewNumericDate(time.Unix(int64(1593035962), 0))}) - err = enf.EnforceErr(ctx.Value("claims"), "project") - require.Error(t, err) - assert.Equal(t, exp, err.Error()) + require.EqualError(t, enf.EnforceErr(ctx.Value("claims"), "project"), exp) //nolint:staticcheck ctx = context.WithValue(context.Background(), "claims", &jwt.RegisteredClaims{ExpiresAt: jwt.NewNumericDate(time.Now())}) - err = enf.EnforceErr(ctx.Value("claims"), "project") - require.Error(t, err) - assert.Equal(t, "rpc error: code = PermissionDenied desc = permission denied: project", err.Error()) + require.EqualError(t, enf.EnforceErr(ctx.Value("claims"), "project"), "rpc error: code = PermissionDenied desc = permission denied: project") //nolint:staticcheck ctx = context.WithValue(context.Background(), "claims", &jwt.RegisteredClaims{Subject: "proj:default:admin", IssuedAt: nil}) - err = enf.EnforceErr(ctx.Value("claims"), "project") - require.Error(t, err) - assert.Equal(t, "rpc error: code = PermissionDenied desc = permission denied: project, sub: proj:default:admin", err.Error()) + assert.EqualError(t, enf.EnforceErr(ctx.Value("claims"), "project"), "rpc error: code = PermissionDenied desc = permission denied: project, sub: proj:default:admin") } func TestDefaultGlobMatchMode(t *testing.T) { diff --git a/util/resource/revision_test.go b/util/resource/revision_test.go index 77beb7d120e85..38927fa397544 100644 --- a/util/resource/revision_test.go +++ b/util/resource/revision_test.go @@ -4,6 +4,7 @@ import ( "testing" . "github.com/argoproj/gitops-engine/pkg/utils/testing" + "github.com/stretchr/testify/assert" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "github.com/argoproj/argo-cd/v3/test" @@ -28,9 +29,7 @@ func TestGetRevision(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - if got := GetRevision(tt.args.obj); got != tt.want { - t.Errorf("GetRevision() = %v, want %v", got, tt.want) - } + assert.Equal(t, tt.want, GetRevision(tt.args.obj), "GetRevision()") }) } } diff --git a/util/session/sessionmanager_test.go b/util/session/sessionmanager_test.go index 49f92dd489b24..43f06a1730ba1 100644 --- a/util/session/sessionmanager_test.go +++ b/util/session/sessionmanager_test.go @@ -92,9 +92,7 @@ func TestSessionManager_AdminToken(t *testing.T) { mgr := newSessionManager(settingsMgr, getProjLister(), NewUserStateStorage(redisClient)) token, err := mgr.Create("admin:login", 0, "123") - if err != nil { - t.Errorf("Could not create token: %v", err) - } + require.NoError(t, err, "Could not create token") claims, newToken, err := mgr.Parse(token) require.NoError(t, err) @@ -152,8 +150,7 @@ func TestSessionManager_AdminToken_Revoked(t *testing.T) { require.NoError(t, err) _, _, err = mgr.Parse(token) - require.Error(t, err) - assert.Equal(t, "token is revoked, please re-login", err.Error()) + assert.EqualError(t, err, "token is revoked, please re-login") } func TestSessionManager_AdminToken_Deactivated(t *testing.T) { @@ -161,9 +158,7 @@ func TestSessionManager_AdminToken_Deactivated(t *testing.T) { mgr := newSessionManager(settingsMgr, getProjLister(), NewUserStateStorage(nil)) token, err := mgr.Create("admin:login", 0, "abc") - if err != nil { - t.Errorf("Could not create token: %v", err) - } + require.NoError(t, err, "Could not create token") _, _, err = mgr.Parse(token) assert.ErrorContains(t, err, "account admin is disabled") @@ -174,9 +169,7 @@ func TestSessionManager_AdminToken_LoginCapabilityDisabled(t *testing.T) { mgr := newSessionManager(settingsMgr, getProjLister(), NewUserStateStorage(nil)) token, err := mgr.Create("admin", 0, "abc") - if err != nil { - t.Errorf("Could not create token: %v", err) - } + require.NoError(t, err, "Could not create token") _, _, err = mgr.Parse(token) assert.ErrorContains(t, err, "account admin does not have 'apiKey' capability") diff --git a/util/settings/settings.go b/util/settings/settings.go index 42f3eb980938f..e8f96e9b204eb 100644 --- a/util/settings/settings.go +++ b/util/settings/settings.go @@ -427,12 +427,6 @@ const ( settingURLKey = "url" // settingAdditionalUrlsKey designates the key where Argo CD's additional external URLs are set settingAdditionalUrlsKey = "additionalUrls" - // repositoriesKey designates the key where ArgoCDs repositories list is set - repositoriesKey = "repositories" - // repositoryCredentialsKey designates the key where ArgoCDs repositories credentials list is set - repositoryCredentialsKey = "repository.credentials" - // helmRepositoriesKey designates the key where list of helm repositories is set - helmRepositoriesKey = "helm.repositories" // settingDexConfigKey designates the key for the dex config settingDexConfigKey = "dex.config" // settingsOIDCConfigKey designates the key for OIDC config @@ -1233,111 +1227,6 @@ func addKustomizeVersion(prefix, name, path string, kvMap map[string]KustomizeVe return nil } -// DEPRECATED. Helm repository credentials are now managed using RepoCredentials -func (mgr *SettingsManager) GetHelmRepositories() ([]HelmRepoCredentials, error) { - argoCDCM, err := mgr.getConfigMap() - if err != nil { - return nil, fmt.Errorf("error retrieving config map: %w", err) - } - helmRepositories := make([]HelmRepoCredentials, 0) - helmRepositoriesStr := argoCDCM.Data[helmRepositoriesKey] - if helmRepositoriesStr != "" { - err := yaml.Unmarshal([]byte(helmRepositoriesStr), &helmRepositories) - if err != nil { - return nil, fmt.Errorf("error unmarshalling helm repositories: %w", err) - } - } - return helmRepositories, nil -} - -func (mgr *SettingsManager) GetRepositories() ([]Repository, error) { - mgr.mutex.Lock() - reposCache := mgr.reposCache - mgr.mutex.Unlock() - if reposCache != nil { - return reposCache, nil - } - - // Get the config map outside of the lock - argoCDCM, err := mgr.getConfigMap() - if err != nil { - return nil, fmt.Errorf("failed to get argo-cd config map: %w", err) - } - - mgr.mutex.Lock() - defer mgr.mutex.Unlock() - repositories := make([]Repository, 0) - repositoriesStr := argoCDCM.Data[repositoriesKey] - if repositoriesStr != "" { - err := yaml.Unmarshal([]byte(repositoriesStr), &repositories) - if err != nil { - return nil, fmt.Errorf("failed to unmarshal repositories from config map key %q: %w", repositoriesKey, err) - } - } - mgr.reposCache = repositories - - return mgr.reposCache, nil -} - -func (mgr *SettingsManager) SaveRepositories(repos []Repository) error { - return mgr.updateConfigMap(func(argoCDCM *corev1.ConfigMap) error { - if len(repos) > 0 { - yamlStr, err := yaml.Marshal(repos) - if err != nil { - return err - } - argoCDCM.Data[repositoriesKey] = string(yamlStr) - } else { - delete(argoCDCM.Data, repositoriesKey) - } - return nil - }) -} - -func (mgr *SettingsManager) SaveRepositoryCredentials(creds []RepositoryCredentials) error { - return mgr.updateConfigMap(func(argoCDCM *corev1.ConfigMap) error { - if len(creds) > 0 { - yamlStr, err := yaml.Marshal(creds) - if err != nil { - return err - } - argoCDCM.Data[repositoryCredentialsKey] = string(yamlStr) - } else { - delete(argoCDCM.Data, repositoryCredentialsKey) - } - return nil - }) -} - -func (mgr *SettingsManager) GetRepositoryCredentials() ([]RepositoryCredentials, error) { - mgr.mutex.Lock() - repoCredsCache := mgr.repoCredsCache - mgr.mutex.Unlock() - if repoCredsCache != nil { - return repoCredsCache, nil - } - - // Get the config map outside of the lock - argoCDCM, err := mgr.getConfigMap() - if err != nil { - return nil, fmt.Errorf("error retrieving config map: %w", err) - } - - mgr.mutex.Lock() - defer mgr.mutex.Unlock() - creds := make([]RepositoryCredentials, 0) - credsStr := argoCDCM.Data[repositoryCredentialsKey] - if credsStr != "" { - err := yaml.Unmarshal([]byte(credsStr), &creds) - if err != nil { - return nil, err - } - } - mgr.repoCredsCache = creds - - return mgr.repoCredsCache, nil -} - func (mgr *SettingsManager) GetGoogleAnalytics() (*GoogleAnalytics, error) { argoCDCM, err := mgr.getConfigMap() if err != nil { diff --git a/util/settings/settings_test.go b/util/settings/settings_test.go index 48052833ebf0a..9c9fac424e96d 100644 --- a/util/settings/settings_test.go +++ b/util/settings/settings_test.go @@ -101,15 +101,6 @@ func TestGetSecretByName(t *testing.T) { }) } -func TestGetRepositories(t *testing.T) { - _, settingsManager := fixtures(map[string]string{ - "repositories": "\n - url: http://foo\n", - }) - filter, err := settingsManager.GetRepositories() - require.NoError(t, err) - assert.Equal(t, []Repository{{URL: "http://foo"}}, filter) -} - func TestGetExtensionConfigs(t *testing.T) { type cases struct { name string @@ -156,52 +147,6 @@ func TestGetExtensionConfigs(t *testing.T) { } } -func TestSaveRepositories(t *testing.T) { - kubeClient, settingsManager := fixtures(nil) - err := settingsManager.SaveRepositories([]Repository{{URL: "http://foo"}}) - require.NoError(t, err) - cm, err := kubeClient.CoreV1().ConfigMaps("default").Get(context.Background(), common.ArgoCDConfigMapName, metav1.GetOptions{}) - require.NoError(t, err) - assert.Equal(t, "- url: http://foo\n", cm.Data["repositories"]) - - repos, err := settingsManager.GetRepositories() - require.NoError(t, err) - assert.ElementsMatch(t, repos, []Repository{{URL: "http://foo"}}) -} - -func TestSaveRepositoriesNoConfigMap(t *testing.T) { - kubeClient := fake.NewClientset() - settingsManager := NewSettingsManager(context.Background(), kubeClient, "default") - - err := settingsManager.SaveRepositories([]Repository{{URL: "http://foo"}}) - require.NoError(t, err) - cm, err := kubeClient.CoreV1().ConfigMaps("default").Get(context.Background(), common.ArgoCDConfigMapName, metav1.GetOptions{}) - require.NoError(t, err) - assert.Equal(t, "- url: http://foo\n", cm.Data["repositories"]) -} - -func TestSaveRepositoryCredentials(t *testing.T) { - kubeClient, settingsManager := fixtures(nil) - err := settingsManager.SaveRepositoryCredentials([]RepositoryCredentials{{URL: "http://foo"}}) - require.NoError(t, err) - cm, err := kubeClient.CoreV1().ConfigMaps("default").Get(context.Background(), common.ArgoCDConfigMapName, metav1.GetOptions{}) - require.NoError(t, err) - assert.Equal(t, "- url: http://foo\n", cm.Data["repository.credentials"]) - - creds, err := settingsManager.GetRepositoryCredentials() - require.NoError(t, err) - assert.ElementsMatch(t, creds, []RepositoryCredentials{{URL: "http://foo"}}) -} - -func TestGetRepositoryCredentials(t *testing.T) { - _, settingsManager := fixtures(map[string]string{ - "repository.credentials": "\n - url: http://foo\n", - }) - filter, err := settingsManager.GetRepositoryCredentials() - require.NoError(t, err) - assert.Equal(t, []RepositoryCredentials{{URL: "http://foo"}}, filter) -} - func TestGetResourceFilter(t *testing.T) { data := map[string]string{ "resource.exclusions": "\n - apiGroups: [\"group1\"]\n kinds: [\"kind1\"]\n clusters: [\"cluster1\"]\n", @@ -855,10 +800,10 @@ func TestSettingsManager_GetEventLabelKeys(t *testing.T) { } inKeys := settingsManager.GetIncludeEventLabelKeys() - assert.Equal(t, len(tt.expectedKeys), len(inKeys)) + assert.Len(t, inKeys, len(tt.expectedKeys)) exKeys := settingsManager.GetExcludeEventLabelKeys() - assert.Equal(t, len(tt.expectedKeys), len(exKeys)) + assert.Len(t, exKeys, len(tt.expectedKeys)) for i := range tt.expectedKeys { assert.Equal(t, tt.expectedKeys[i], inKeys[i]) @@ -1949,7 +1894,7 @@ func TestSettingsManager_GetHideSecretAnnotations(t *testing.T) { resourceSensitiveAnnotationsKey: tt.input, }) keys := settingsManager.GetSensitiveAnnotations() - assert.Equal(t, len(tt.output), len(keys)) + assert.Len(t, keys, len(tt.output)) assert.Equal(t, tt.output, keys) }) } diff --git a/util/text/text_test.go b/util/text/text_test.go index 8640df01c8112..bcce240f1fe0f 100644 --- a/util/text/text_test.go +++ b/util/text/text_test.go @@ -23,9 +23,7 @@ func TestTrunc(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - if got := Trunc(tt.args.message, tt.args.n); got != tt.want { - t.Errorf("Trunc() = %v, want %v", got, tt.want) - } + assert.Equal(t, tt.want, Trunc(tt.args.message, tt.args.n), "Trunc()") }) } } diff --git a/util/tls/tls_test.go b/util/tls/tls_test.go index 6ce46af940a5b..3d95b1620196a 100644 --- a/util/tls/tls_test.go +++ b/util/tls/tls_test.go @@ -116,9 +116,7 @@ func TestEncodeX509KeyPairString(t *testing.T) { certChain := decodePem(chain) cert, _ := EncodeX509KeyPairString(certChain) - if strings.TrimSpace(chain) != strings.TrimSpace(cert) { - t.Errorf("Incorrect, got: %s, want: %s", cert, chain) - } + assert.Equal(t, strings.TrimSpace(chain), strings.TrimSpace(cert)) } func TestGetTLSVersionByString(t *testing.T) { diff --git a/util/util_test.go b/util/util_test.go index bbc41f0d13439..59d23a6a3e01f 100644 --- a/util/util_test.go +++ b/util/util_test.go @@ -5,6 +5,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -15,9 +16,7 @@ import ( func TestMakeSignature(t *testing.T) { for size := 1; size <= 64; size++ { s, err := util.MakeSignature(size) - if err != nil { - t.Errorf("Could not generate signature of size %d: %v", size, err) - } + require.NoError(t, err, "Could not generate signature of size %d: %v", size, err) t.Logf("Generated token: %v", s) } } @@ -116,17 +115,11 @@ func TestGenerateCacheKey(t *testing.T) { t.Run(fmt.Sprintf("format=%s args=%v", tc.format, tc.args), func(t *testing.T) { key, err := util.GenerateCacheKey(tc.format, tc.args...) if tc.shouldErr { - if err == nil { - t.Fatalf("expected error but got none") - } + require.Errorf(t, err, "expected error but got none") return } - if err != nil { - t.Fatalf("unexpected error: %v", err) - } - if key != tc.expected { - t.Fatalf("expected %s but got %s", tc.expected, key) - } + require.NoErrorf(t, err, "unexpected error: %v", err) + require.Equalf(t, tc.expected, key, "expected %s but got %s", tc.expected, key) }) } } diff --git a/util/webhook/webhook_test.go b/util/webhook/webhook_test.go index c44e477b02da4..41f8cc039dca9 100644 --- a/util/webhook/webhook_test.go +++ b/util/webhook/webhook_test.go @@ -597,9 +597,8 @@ func Test_affectedRevisionInfo_appRevisionHasChanged(t *testing.T) { t.Run(testCopy.name, func(t *testing.T) { t.Parallel() _, revisionFromHook, _, _, _ := affectedRevisionInfo(testCopy.hookPayload) - if got := sourceRevisionHasChanged(sourceWithRevision(testCopy.targetRevision), revisionFromHook, false); got != testCopy.hasChanged { - t.Errorf("sourceRevisionHasChanged() = %v, want %v", got, testCopy.hasChanged) - } + got := sourceRevisionHasChanged(sourceWithRevision(testCopy.targetRevision), revisionFromHook, false) + assert.Equal(t, got, testCopy.hasChanged, "sourceRevisionHasChanged()") }) } } @@ -635,9 +634,7 @@ func Test_getWebUrlRegex(t *testing.T) { t.Parallel() regexp, err := getWebUrlRegex(testCopy.webURL) require.NoError(t, err) - if matches := regexp.MatchString(testCopy.repo); matches != testCopy.shouldMatch { - t.Errorf("sourceRevisionHasChanged() = %v, want %v", matches, testCopy.shouldMatch) - } + assert.Equal(t, regexp.MatchString(testCopy.repo), testCopy.shouldMatch, "sourceRevisionHasChanged()") }) } }