Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A way to cause resources to be deleted and recreated #5882

Closed
mikebryant opened this issue Mar 26, 2021 · 41 comments · Fixed by #17866
Closed

A way to cause resources to be deleted and recreated #5882

mikebryant opened this issue Mar 26, 2021 · 41 comments · Fixed by #17866
Labels
enhancement New feature or request

Comments

@mikebryant
Copy link
Contributor

Summary

There should be a way to specify that resources should be deleted and recreated on a change to all/part of the spec

Motivation

Some resources can't be changed in place, e.g.

        Group:       iam.cnrm.cloud.google.com
        Hook Phase:  Failed
        Kind:        IAMPolicyMember
        Message:     admission webhook "deny-immutable-field-updates.cnrm.cloud.google.com" denied the request: the IAMPolicyMember's spec is immutable
        Name:       key-access
        Namespace:   default
        Status:      SyncFailed
        Sync Phase:  Sync
        Version:     v1beta1

Proposal

Add an option to the argocd.argoproj.io/sync-options annotation for this behaviour?

@mikebryant mikebryant added the enhancement New feature or request label Mar 26, 2021
@alexmt
Copy link
Collaborator

alexmt commented Mar 26, 2021

We've recently introduced Replace=true sync option: https://argo-cd.readthedocs.io/en/latest/user-guide/sync-options/#replace-resource-instead-of-applying-changes . The kubectl replace works this way: if update fails it deletes and recreates deployment. The feature is available in v2.0-rc1

@alexmt alexmt added the answered label Apr 5, 2021
@sgielen
Copy link

sgielen commented May 20, 2021

@alexmt What I'm still missing in the documentation you linked: Can the Replace=true option be added into the argocd.argoproj.io/sync-options annotation for a single resource as well?

@sgielen
Copy link

sgielen commented May 20, 2021

I just performed the following test:

Add this Pod to ArgoCD:

apiVersion: v1
kind: Pod
metadata:
  namespace: default
  name: argocd-pod-test
spec:
  containers:
  - command: ['sh', '-c', 'date; sleep 5; date; sleep 3600']
    image: ubuntu:bionic
    name: default

Wait until it is running, then change the manifest to this:

apiVersion: v1
kind: Pod
metadata:
  namespace: default
  name: argocd-pod-test
  annotations:
    argocd.argoproj.io/sync-options: Replace=true
spec:
  containers:
  - command: ['sh', '-c', 'date; sleep 5; date; sleep 3600']
    image: ubuntu:xenial # <-- changed
    name: default
    env: # <-- changed
    - name: TEST_ENV
      value: TEST_VALUE

Unfortunately, the change fails to apply because Kubernetes responds with Forbidden: pod updates may not change fields other than ``spec.containers[*].image``., so ArgoCD attempted to update the Pod instead of Replacing it according to annotations...

@alexmt
Copy link
Collaborator

alexmt commented Jun 10, 2021

Sorry for delay in response @sgielen . You added annotation to the Pod spec stored in Git, correct? Which Argo CD version are you using?

@alexmt alexmt added more-information-needed Further information is requested and removed answered labels Jun 10, 2021
@mmerrill3
Copy link
Contributor

mmerrill3 commented Jun 16, 2021

Hi @alexmt I tried this to, by just updating a deployment (in github) with version 2.0.2 of argocd. I added the annotation for Replace=true to my deployment, and added a new label to the selector, but that still doesn't work. argo give the error

error when replacing "/dev/shm/105286521": Deployment.apps "gatekeeper-controller-manager" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app":"gatekeeper", "chart":"gatekeeper", "control-plane":"controller-manager", "gatekeeper.sh/operation":"webhook", "gatekeeper.sh/system":"yes", "heritage":"tiller", "mike":"1", "release":"docker-desktop-apps"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable

Desired manifest from the argcd UI:

apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    argocd.argoproj.io/sync-options: Replace=true
  labels:
    app: gatekeeper
    app.kubernetes.io/instance: docker-desktop-apps
    chart: gatekeeper
    control-plane: controller-manager
    gatekeeper.sh/operation: webhook
    gatekeeper.sh/system: 'yes'
    heritage: tiller
    release: docker-desktop-apps
  name: gatekeeper-controller-manager
  namespace: gatekeeper
spec:
  replicas: 3
  selector:
    matchLabels:
      app: gatekeeper
      chart: gatekeeper
      control-plane: controller-manager
      gatekeeper.sh/operation: webhook
      gatekeeper.sh/system: 'yes'
      heritage: tiller
      mike: '1'
      release: docker-desktop-apps
  template:
    metadata:
      annotations:
        container.seccomp.security.alpha.kubernetes.io/manager: runtime/default
      labels:
        app: gatekeeper
        chart: gatekeeper
        control-plane: controller-manager
        gatekeeper.sh/operation: webhook
        gatekeeper.sh/system: 'yes'
        heritage: tiller
        mike: '1'
        release: docker-desktop-apps
    spec:
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - podAffinityTerm:
                labelSelector:
                  matchExpressions:
                    - key: gatekeeper.sh/operation
                      operator: In
                      values:
                        - webhook
                topologyKey: kubernetes.io/hostname
              weight: 100
      automountServiceAccountToken: true
      containers:
        - args:
            - '--port=8443'
            - '--logtostderr'
            - '--log-denies=false'
            - '--emit-admission-events=false'
            - '--log-level=INFO'
            - '--exempt-namespace=gatekeeper'
            - '--operation=webhook'
            - '--enable-mutation=false'
          command:
            - /manager
          env:
            - name: POD_NAMESPACE
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.namespace
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
          image: 'openpolicyagent/gatekeeper:v3.5.0-rc.1'
          imagePullPolicy: IfNotPresent
          livenessProbe:
            httpGet:
              path: /healthz
              port: 9090
          name: manager
          ports:
            - containerPort: 8443
              name: webhook-server
              protocol: TCP
            - containerPort: 8888
              name: metrics
              protocol: TCP
            - containerPort: 9090
              name: healthz
              protocol: TCP
          readinessProbe:
            httpGet:
              path: /readyz
              port: 9090
          resources:
            limits:
              cpu: 1000m
              memory: 512Mi
            requests:
              cpu: 100m
              memory: 256Mi
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
                - all
            readOnlyRootFilesystem: true
            runAsGroup: 999
            runAsNonRoot: true
            runAsUser: 1000
          volumeMounts:
            - mountPath: /certs
              name: cert
              readOnly: true
      hostNetwork: false
      imagePullSecrets: []
      nodeSelector:
        kubernetes.io/os: linux
      priorityClassName: system-cluster-critical
      serviceAccountName: gatekeeper-admin
      terminationGracePeriodSeconds: 60
      tolerations: []
      volumes:
        - name: cert
          secret:
            defaultMode: 420
            secretName: gatekeeper-webhook-server-cert

@mmerrill3
Copy link
Contributor

I don't think this option is setup for individual resources, but rather only at the application CRD level. I don't see this annotation getting read, or used, anywhere.

@no-response
Copy link

no-response bot commented Jun 24, 2021

This issue has been automatically closed because there has been no response to our request for more information from the original author. With only the information that is currently in the issue, we don't have enough information to take action. Please reach out if you have or find the answers we need so that we can investigate further.

@no-response no-response bot closed this as completed Jun 24, 2021
@mikebryant
Copy link
Contributor Author

/reopen

@no-response no-response bot removed the more-information-needed Further information is requested label Aug 12, 2021
@no-response no-response bot reopened this Aug 12, 2021
@renaudguerin
Copy link
Contributor

Like I'm @mikebryant I have some immutable GCP ConfigConnector resources (DNSRecordSet in dns.cnrm.cloud.google.com/v1beta1) where even "Replace" doesn't seem to be good enough :

error when replacing "/dev/shm/438125077": admission webhook "deny-immutable-field-updates.cnrm.cloud.google.com" denied the request: annotation cnrm.cloud.google.com/state-into-spec is immutable

As @mmerrill3 mentioned, a first problem is that "Replace" might not be set up for individual resources, but I'm getting the sync error above when triggering a manual sync with Replace for this resource in the UI.

Is there a need for a "delete + apply" sync option for when "replace" won't do, or am I missing something ?

@renaudguerin
Copy link
Contributor

Hi @alexmt, should this be labelled as a bug rather than an enhancement ?

The stable documentation suggests this should be working at the resource level, but it isn't for me (ArgoCD v2.1.1+aab9542) :

error when replacing "/dev/shm/515177248": admission webhook "deny-immutable-field-updates.cnrm.cloud.google.com" denied the request: annotation cnrm.cloud.google.com/state-into-spec is immutable

Resource :

apiVersion: dns.cnrm.cloud.google.com/v1beta1
kind: DNSRecordSet
metadata:
  name: api
  annotations:
    argocd.argoproj.io/sync-options: Replace=true

@zmx
Copy link

zmx commented Oct 5, 2021

DO NOT work for Job

apiVersion: batch/v1
kind: Job
metadata:
  name: styx
  annotations:
    argocd.argoproj.io/sync-wave: "0"
    argocd.argoproj.io/sync-options: Replace=true
{
    "Version": "v2.1.3+d855831",
    "BuildDate": "2021-09-29T21:51:21Z",
    "GitCommit": "d855831540e51d8a90b1006d2eb9f49ab1b088af",
    "GitTreeState": "clean",
    "GoVersion": "go1.16.5",
    "Compiler": "gc",
    "Platform": "linux/amd64",
    "KsonnetVersion": "v0.13.1",
    "KustomizeVersion": "v4.2.0 2021-06-30T22:49:26Z",
    "HelmVersion": "v3.6.0+g7f2df64",
    "KubectlVersion": "v0.21.0",
    "JsonnetVersion": "v0.17.0"
}

@sgielen
Copy link

sgielen commented Oct 24, 2021

@alexmt A gentle nudge regarding this issue, your question has been answered and it appears multiple people are running into this :-)

@DanielHajduk2-TomTom
Copy link

DanielHajduk2-TomTom commented Nov 2, 2021

Just run into the same issue. Cannot change spec of job despite using "Replace=true" syncOption...
What I expected it to do is to remove resource first and then create it again, completely skipping Kubernetes Spec validation issues.

Edit. - For anyone struggling with this issue in case of kubernetes jobs -> calculate a checksum of immutable fields and simply append substr of it to name of the job.

@renaudguerin
Copy link
Contributor

Hi @alexmt, is there anything else blocking this ?
Thanks!

@w4rgrum
Copy link

w4rgrum commented Nov 4, 2021

Seems from the UI using force allows the sync of the Job to succeed (delete+recreate).
Is there a way to annotate resources to use "Force"?

The annotation below could be nice to have:

  annotations:
    argocd.argoproj.io/sync-options: Force=true

@renaudguerin
Copy link
Contributor

Happy new year ! Any update on this please ?

@sathieu
Copy link
Contributor

sathieu commented Feb 2, 2022

To fix the Job spec being immutable, I added the following annotations in the Helm chart:

apiVersion: batch/v1
kind: Job
metadata:
  name: generate-ca-bundle
  annotations:
    "helm.sh/hook": post-install,post-upgrade
    "helm.sh/hook-delete-policy": before-hook-creation

Which maps to:

apiVersion: batch/v1
kind: Job
metadata:
  name: generate-ca-bundle
  annotations:
    argocd.argoproj.io/hook: PostSync
    argocd.argoproj.io/hook-delete-policy: BeforeHookCreation

Refs:

@lamebear
Copy link

lamebear commented Feb 3, 2022

I needed to have the Job specified in a sync wave, so what I did was create a Job that runs in a PreSync hook that deletes the Job that wouldn't update. The only other change I needed to do was to create a Role and RoleBinding allowing the SA to delete the Job. It's a bit of a hack, but it works.

apiVersion: batch/v1
kind: Job
metadata:
  annotations:    
    argocd.argoproj.io/hook: PreSync
    argocd.argoproj.io/hook-delete-policy: BeforeHookCreation
  name: vault-config-remove-job
  namespace: vault
spec:
  template:
    spec:
      serviceAccountName: vault-config
      containers:
      - name: delete-job
        image: bitnami/kubectl:latest
        command: 
          - kubectl
          - delete
          - jobs
          - -n
          - vault
          - vault-config
          - --ignore-not-found=true
      restartPolicy: Never
  backoffLimit: 4

@sathieu
Copy link
Contributor

sathieu commented Feb 3, 2022

@lamebear I don't understand why you need to delete the configmap (there is no immutable fields in a configmap)...

@dntosas
Copy link

dntosas commented Mar 18, 2022

Seems from the UI using force allows the sync of the Job to succeed (delete+recreate). Is there a way to annotate resources to use "Force"?

The annotation below could be nice to have:

  annotations:
    argocd.argoproj.io/sync-options: Force=true

+1

@waylonm
Copy link

waylonm commented May 6, 2022

Hitting the same on ArgoCD v2.2.8 via gitops operator. Testing SyncOption Replace=True on a Job resource without any hooks, both at Argocd Application level and specific resource level via annotation does not work and sync fails due to immutability.

@WorldIsM
Copy link

Hi, any updates on this issue? I have similar problem!

@sathieu
Copy link
Contributor

sathieu commented Jul 21, 2022

@aldycool Have you tried using a Deployment with spec.strategy.type==Recreate or a stafulset?

@aldycool
Copy link

@sathieu Yes you're right, I've tested your approach (Deployment with Recreate) and it works fine, thanks.

I actually knew about this from the kubernetes docs, but this statement threw me off:

This will only guarantee Pod termination previous to creation for upgrades. If you upgrade a Deployment, all Pods of the old revision will be terminated immediately.

I thought that in order to kill the pods, the Deployment manifest must somehow be different than the existing one (to be considered an upgrade), but evidently it works evem though the Deployment is exactly the same as it was.

@ktzsolt
Copy link

ktzsolt commented Nov 18, 2022

@aldycool the problem never really was with Deployments but with immutable types like job or cronjob to update their image spec to newer images for example myjobimage:1.0.0 to myjobimage:2.0.0

Any news about my proposed solution on this comment? #5882 (comment)

We need "Force" support in the manifest annotation, not just on the UI:

  annotations:
    argocd.argoproj.io/sync-options: Replace=true, Force=true

@lamebear
Copy link

lamebear commented Jan 4, 2023

Is there any update on this issue? This issue has been open for almost 2 years at this point.

For those finding this issue now, there are currently three work arounds each with drawbacks:

  1. Proposed by @sathieu, place the job in a post install/upgrade hook with a hook delete policy of delete-before-creation. (comment)
    This has the downside of not being able to specify the job in a sync wave.

  2. Proposed by myself, use a job in a pre install/upgrade hook to delete the job. (comment)
    This allows the job to be placed into a sync-wave, but requires an additional hook as well as RBAC config to allow the pre-hook job to delete the required job.

  3. Proposed by @w4rgrum, update the source helm chart to generate a new name for the job every time it renders and enable pruning in sync-options. (comment)
    This also allows the job to be placed into a sync-wave, but the job name is now no-longer constant and this may not be an option for third-party charts that do not allow overriding the name of the job in this way.

There is a solution proposed by @ktzsolt to allow setting Force=true in the sync-options that would behave as checking the Force box in the UI would. This would allow the syncing of jobs without one of these work-arounds and their associated drawbacks.

@lamebear
Copy link

lamebear commented Jan 4, 2023

@lamebear I don't understand why you need to delete the configmap (there is no immutable fields in a configmap)...

@sathieu Sorry I didn't see your comment when you wrote it, but my code is not deleting a ConfigMap, it is deleting a Job named vault-config.

@ndlanier
Copy link

@aldycool the problem never really was with Deployments but with immutable types like job or cronjob to update their image spec to newer images for example myjobimage:1.0.0 to myjobimage:2.0.0

Any news about my proposed solution on this comment? #5882 (comment)

We need "Force" support in the manifest annotation, not just on the UI:

  annotations:
    argocd.argoproj.io/sync-options: Replace=true, Force=true

Adding my two cents to this issue, I believe this is a much needed feature. I am trying to get secrets to update in a similar fashion. The secrets are created from an application set and when the values are updated they are not shown out of sync so I have to delete the secrets and re-create them whenever they get updated. Have a replace and force annotation to add to these secrets would be ideal.

@brunocascio
Copy link

@aldycool the problem never really was with Deployments but with immutable types like job or cronjob to update their image spec to newer images for example myjobimage:1.0.0 to myjobimage:2.0.0
Any news about my proposed solution on this comment? #5882 (comment)
We need "Force" support in the manifest annotation, not just on the UI:

  annotations:
    argocd.argoproj.io/sync-options: Replace=true, Force=true

Adding my two cents to this issue, I believe this is a much needed feature. I am trying to get secrets to update in a similar fashion. The secrets are created from an application set and when the values are updated they are not shown out of sync so I have to delete the secrets and re-create them whenever they get updated. Have a replace and force annotation to add to these secrets would be ideal.

Adding also my 2c here, I need to re-run jobs after a configmap get changed, but the only way of using Replace+Force via UI.
If we can add feature would be awesome...

@divyangjp
Copy link
Contributor

I found a workaround which works for the job only resource type.

  • Using helm chart with a job and a dummy configmap
  • Job with argocd.argoproj.io/hook: PostSync and argocd.argoproj.io/hook-delete-policy: HookSucceeded annotations
  • Job with metadata generateName
  • dummy configmap has a data field which populates using job's docker image tag (in our case, new job is dependent on new docker image tag)
  • Application with Replace=true

With this setup, everytime new job docker container image is updated, the configmap gets updated as well which triggers PostSync hook.

Example Configmap

apiVersion: v1
kind: ConfigMap
metadata:
  name: docker-tag
data:
  job_docker_tag: {{ .Values.image.tag }}

Partial example of Job resource template

apiVersion: batch/v1
kind: Job
metadata:
  generateName: {{ .Chart.Name }}-
  namespace: {{ .Values.namespace }}
  annotations:
    argocd.argoproj.io/hook: PostSync
    argocd.argoproj.io/hook-delete-policy: HookSucceeded
spec:
  template:

@n9
Copy link

n9 commented May 30, 2023

@alexmt I have drafted a PR for Force=true argoproj/gitops-engine#526. It needs some refactoring to reduce a cognitive complexity. But is this solution, ok for you?

@ArjonBu
Copy link

ArjonBu commented Aug 21, 2023

Any updates on this?

@crenshaw-dev
Copy link
Member

Working with @n9 on the prerequisite gitops-engine PR.

@yukccy
Copy link

yukccy commented Oct 19, 2023

Working with @n9 on the prerequisite gitops-engine PR.

Is there any updates for the Force=true option? Really need a force pod recreation for each ConfigMap change.

@janosmiko
Copy link

@yukccy you can achieve that with https://github.com/stakater/Reloader

pasha-codefresh added a commit that referenced this issue Apr 17, 2024
* chore: update gitops engine version

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>

* add: e2e and docs for force sync options

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>

* docs: Add warning description of force sync options

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>

---------

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
Co-authored-by: pasha-codefresh <pavel@codefresh.io>
pasha-codefresh added a commit to pasha-codefresh/argo-cd that referenced this issue May 8, 2024
Signed-off-by: pashakostohrys <pavel@codefresh.io>
pasha-codefresh pushed a commit to pasha-codefresh/argo-cd that referenced this issue May 8, 2024
Signed-off-by: pashakostohrys <pavel@codefresh.io>
pasha-codefresh added a commit that referenced this issue May 8, 2024
)

Signed-off-by: pashakostohrys <pavel@codefresh.io>
Co-authored-by: Kota Kimura <86363983+kkk777-7@users.noreply.github.com>
pasha-codefresh added a commit that referenced this issue May 8, 2024
)

Signed-off-by: pashakostohrys <pavel@codefresh.io>
pasha-codefresh added a commit to codefresh-io/argo-cd that referenced this issue May 14, 2024
* fix: elements should be optional (argoproj#17424) (argoproj#17510)

A bug was reported, where an applicationset with an empty elements
array, when created with `argocd appset create <filename>.yaml` gets a
`...list.elements: Required value` error.

My hypothesis is that when calling the K8s API, golang JSON marshalling
mangles the empty `elements` array to `nil`, rather than creating an
empty array when submitting the `POST`.

Still need to figure out why the same setup seemingly works fine when
the same appset is in an app-of-apps.

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>

* Merge pull request from GHSA-jhwx-mhww-rgc3

* sec: limit helm index max size

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* sec: limit helm index max size

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: fix tests and linter

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* Bump version to 2.10.5 (argoproj#17654)

Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: pasha-codefresh <pasha-codefresh@users.noreply.github.com>

* fix cosign (argoproj#17656)

Signed-off-by: Justin Marquis <justin@akuity.io>

* chore(deps): bump webpack-dev-middleware from 5.3.1 to 5.3.4 in /ui (argoproj#17598) (argoproj#17686)

Bumps [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) from 5.3.1 to 5.3.4.
- [Release notes](https://github.com/webpack/webpack-dev-middleware/releases)
- [Changelog](https://github.com/webpack/webpack-dev-middleware/blob/v5.3.4/CHANGELOG.md)
- [Commits](webpack/webpack-dev-middleware@v5.3.1...v5.3.4)

---
updated-dependencies:
- dependency-name: webpack-dev-middleware
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(ui): Fix color generation for pod name in logs viewer. Fixes argoproj#17704 (argoproj#17706) (argoproj#17710)

* Fix color generation for pod name in logs viewer



* Add rebuy to users.md



---------

Signed-off-by: Philipp Trulson <der-eismann@users.noreply.github.com>
Co-authored-by: Philipp Trulson <der-eismann@users.noreply.github.com>

* fix: fix calculating patch for respect ignore diff feature (argoproj#17693)

* test: unit test for respectIgnoreDifferences bug

Signed-off-by: Jesse Suen <jesse@akuity.io>

* test: simplify unit test

Signed-off-by: Jesse Suen <jesse@akuity.io>

* fix: fix calculating patch for respect ignore diff feature

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>

---------

Signed-off-by: Jesse Suen <jesse@akuity.io>
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Co-authored-by: Jesse Suen <jesse@akuity.io>

* fix(security): use Chainguard fork of git-urls (argoproj#17732) (argoproj#17735)

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* Bump version to 2.10.6 (argoproj#17744)

Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: alexmt <alexmt@users.noreply.github.com>

* Merge pull request from GHSA-2gvw-w6fj-7m3c

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* Bump version to 2.10.7 (argoproj#17831)

Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: pasha-codefresh <pasha-codefresh@users.noreply.github.com>

* fix: docker build fails due to "The repository 'http://deb.debian.org/debian buster-backports Release' does not have a Release file."

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* fix: codegen and e2e tests in release-2.10 (argoproj#17844)

* fix: codegen and e2e tests

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* fix: codegen and e2e tests

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* chore: upgrade redis to 7.0.15 (argoproj#17666)

Upgrade to latest stable 7.0.x version to fix CVEs:

CVE-2023-41056

Signed-off-by: Tais P. Hansen <taishansen@gmail.com>

* Merge pull request from GHSA-9m6p-x4h2-6frq

* feat: limit jq.Run with timeout

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: ignore normalizer jq execution timeout as env variable

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: customize error message and add doc section

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: improve log and change a way how to get variable

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* chore: fix import`s order

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* chore: rename variable inside sts

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* chore: fix import order

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* chore: fix import`s order

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* Merge pull request from GHSA-9m6p-x4h2-6frq

* feat: limit jq.Run with timeout

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: ignore normalizer jq execution timeout as env variable

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: customize error message and add doc section

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: improve log and change a way how to get variable

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* chore: fix import`s order

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* chore: rename variable inside sts

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* chore: fix import order

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* chore: fix import`s order

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* fix: codegen after security fix - 2.10 (argoproj#17985)

* fix: codegen after security fix

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* fix: codegen after security fix

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* Bump version to 2.10.8 (argoproj#17990)

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: pasha-codefresh <39732895+pasha-codefresh@users.noreply.github.com>

* fix: enable sha256 and sha512 for git ssh (argoproj#18028) (argoproj#18029)

* fix: bumping the knownhosts to v1.2.2 since this contains a fix that allows for sha256 and sha512 algorithms when using git ssh




* chore: remove older version of module from go sum



---------

Signed-off-by: Marc Arndt <marc@marcarndt.com>
Signed-off-by: Marc Arndt <m.arndt@evana.de>
Co-authored-by: Marc Arndt <marc@marcarndt.com>
Co-authored-by: Marc Arndt <m.arndt@evana.de>

* Bump version to 2.10.9 (argoproj#18033)

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: jannfis <3942683+jannfis@users.noreply.github.com>

* fix: status.sync.comparedTo should use replace patch strategy (argoproj#18061) (argoproj#18075)

* fix: status.sync.comparedTo should use replace patch strategy



* add e2e tests



---------

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>

* chore: bump go-jose from 3.0.1 to 3.0.3 (argoproj#18102)

Signed-off-by: Jayendra Parsai <jparsai@jparsai-thinkpadp1gen4i.remote.csb>
Co-authored-by: Jayendra Parsai <jparsai@jparsai-thinkpadp1gen4i.remote.csb>

* docs: fix 404 styling (argoproj#18094) (argoproj#18105)

* docs: fix 404 styling



* hack around custom tag destruction



---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* chore: update gitops engine for force sync option (argoproj#5882) - 2.10 (argoproj#18123)

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* fix: Enable Redis authentication in the default installation

* fix: linter issue

* fix: linter issue

---------

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
Signed-off-by: pashakostohrys <pavel@codefresh.io>
Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: Justin Marquis <justin@akuity.io>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Philipp Trulson <der-eismann@users.noreply.github.com>
Signed-off-by: Jesse Suen <jesse@akuity.io>
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Tais P. Hansen <taishansen@gmail.com>
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Signed-off-by: Marc Arndt <marc@marcarndt.com>
Signed-off-by: Marc Arndt <m.arndt@evana.de>
Signed-off-by: Jayendra Parsai <jparsai@jparsai-thinkpadp1gen4i.remote.csb>
Co-authored-by: gcp-cherry-pick-bot[bot] <98988430+gcp-cherry-pick-bot[bot]@users.noreply.github.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: pasha-codefresh <pasha-codefresh@users.noreply.github.com>
Co-authored-by: Justin Marquis <76892343+34fathombelow@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Philipp Trulson <der-eismann@users.noreply.github.com>
Co-authored-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Co-authored-by: Jesse Suen <jesse@akuity.io>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: alexmt <alexmt@users.noreply.github.com>
Co-authored-by: Tais P. Hansen <taisph@users.noreply.github.com>
Co-authored-by: Marc Arndt <marc@marcarndt.com>
Co-authored-by: Marc Arndt <m.arndt@evana.de>
Co-authored-by: jannfis <3942683+jannfis@users.noreply.github.com>
Co-authored-by: Jayendra Parsai <jparsai@redhat.com>
Co-authored-by: Jayendra Parsai <jparsai@jparsai-thinkpadp1gen4i.remote.csb>
Co-authored-by: May Zhang <may_zhang@intuit.com>
mkieweg pushed a commit to mkieweg/argo-cd that referenced this issue Jun 11, 2024
…goproj#17866)

* chore: update gitops engine version

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>

* add: e2e and docs for force sync options

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>

* docs: Add warning description of force sync options

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>

---------

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
Co-authored-by: pasha-codefresh <pavel@codefresh.io>
Hariharasuthan99 pushed a commit to AmadeusITGroup/argo-cd that referenced this issue Jun 16, 2024
…goproj#17866)

* chore: update gitops engine version

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>

* add: e2e and docs for force sync options

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>

* docs: Add warning description of force sync options

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>

---------

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
Co-authored-by: pasha-codefresh <pavel@codefresh.io>
the-technat pushed a commit to swisspost/argo-cd that referenced this issue Jun 18, 2024
….11 (argoproj#18125)

Signed-off-by: pashakostohrys <pavel@codefresh.io>
Co-authored-by: Kota Kimura <86363983+kkk777-7@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.