-
Notifications
You must be signed in to change notification settings - Fork 6.3k
Description
Checklist:
- I've searched in the docs and FAQ for my answer: https://bit.ly/argocd-faq.
- I've included steps to reproduce the bug.
- I've pasted the output of
argocd version
.
Describe the bug
After an upgrade from 2.12 to 3.0.5, a delete of an AppSet sets the deletion timestamp, but the application that the AppSet owns is untouched - no deletion timestamp, and no apparent effort to delete it.
We noticed that a few times, after several hours, the deletion did complete.
The quickest way to resolve it is to restart the ApplicationSet Controller - that results in an immediate deletion of the Application, followed by the AppSet.
To Reproduce
I tried to get this setup in Kind, but I suspect our corporate proxy might be causing me grief. I am assuming this can be reproduced with the manifests I provide.
AppSet (redacted somewhat), showing the deletion timestamp
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
annotations:
changeId: CHG27818975
product.e.com/name: rcp-cpu-test
creationTimestamp: "2025-07-09T22:02:09Z"
deletionGracePeriodSeconds: 0
deletionTimestamp: "2025-07-09T22:03:16Z"
finalizers:
- resources-finalizer.argocd.argoproj.io
generation: 3
labels:
app.kubernetes.io/managed-by: rcp-api
app.kubernetes.io/name: rcp-api-test-app
appdata.e.com/name: rcp-api-test-app
k8s.e.com/application: rcp-api-test-app
k8s.e.com/cloud-provider: aws
k8s.e.com/environment-scope: commerce
k8s.e.com/environment-tier: test
k8s.e.com/experience: advanced
k8s.e.com/instance: advanced
k8s.e.com/island: runtime
k8s.e.com/pci-category: oos
k8s.e.com/region: us-east-1
k8s.e.com/short-name: rcp
k8s.e.com/suffix: test-us-east-1
product.e.com/name: rcp-cpu-test
name: rcp-api-test-app-test-us-east-1-advanced
namespace: argocd
resourceVersion: "1451671523"
uid: 94035066-47d6-4589-8759-242979574c02
spec:
generators:
- matrix:
generators:
- clusters:
selector:
matchExpressions:
- key: k8s.e.com/short-name
operator: NotIn
values:
- rcp-core
- rcp-core-sandbox
- rcp-core-dev
matchLabels:
k8s.e.com/cloud-provider: aws
k8s.e.com/environment-scope: commerce
k8s.e.com/environment-tier: test
k8s.e.com/island: runtime
k8s.e.com/pci-category: oos
k8s.e.com/region: us-east-1
k8s.e.com/short-name: rcp
template:
metadata: {}
spec:
destination: {}
project: ""
- list:
elements:
- application:
instance: advanced
name: rcp-api-test-app
release: test-us-east-1
releaseName: rcp-api-test-app-advanced
cluster:
account: '{{ index .metadata.annotations "account" }}'
accountAlias: '{{ index .metadata.annotations "accountAlias" }}'
appSubnets: '{{ index .metadata.annotations "appSubnets" }}'
cloudProvider: '{{ index .metadata.annotations "cloudProvider" }}'
cluster: '{{ index .metadata.annotations "cluster" }}'
clusterFullName: '{{ index .metadata.annotations "clusterFullName" }}'
dnsSuffix: '{{ index .metadata.annotations "dnsSuffix" }}'
environmentCategory: '{{ index .metadata.annotations "environmentCategory"
}}'
environmentScope: '{{ index .metadata.annotations "environmentScope"
}}'
environmentTier: '{{ index .metadata.annotations "environmentTier" }}'
fcAccountEnv: '{{ index .metadata.annotations "fcAccountEnv" }}'
ingressSubnets: '{{ index .metadata.annotations "ingressSubnets" }}'
island: '{{ index .metadata.annotations "island" }}'
oidcUrl: '{{ index .metadata.annotations "oidcIssuerUrl" }}'
pciCategory: '{{ index .metadata.annotations "pciCategory" }}'
region: '{{ index .metadata.annotations "region" }}'
segment: '{{ index .metadata.annotations "segment" }}'
vpcId: '{{ index .metadata.annotations "vpcId" }}'
egdata:
artifactoryHost: '{{ index .metadata.annotations "artifactoryHost" }}'
vaultIslandNamespace: '{{ index .metadata.annotations "vaultIslandNamespace"
}}'
vaultNamespace: '{{ index .metadata.annotations "vaultNamespace" }}'
template:
metadata: {}
spec:
destination: {}
project: ""
template:
metadata: {}
spec:
destination: {}
project: ""
goTemplate: true
syncPolicy: {}
template:
metadata:
annotations:
changeId: CHG27818975
product.e.com/name: rcp-cpu-test
labels:
app.kubernetes.io/managed-by: rcp-api
app.kubernetes.io/name: rcp-api-test-app
appdata.e.com/name: rcp-api-test-app
k8s.e.com/application: rcp-api-test-app
k8s.e.com/cloud-provider: aws
k8s.e.com/environment-scope: commerce
k8s.e.com/environment-tier: test
k8s.e.com/experience: advanced
k8s.e.com/instance: advanced
k8s.e.com/island: runtime
k8s.e.com/pci-category: oos
k8s.e.com/region: us-east-1
k8s.e.com/short-name: rcp
k8s.e.com/suffix: test-us-east-1
product.e.com/name: rcp-cpu-test
name: rcp-api-test-app-advanced-{{ .metadata.annotations.clusterFullName }}
namespace: argocd
spec:
destination:
name: '{{ .metadata.annotations.clusterFullName }}'
namespace: rcp-cpu-test
project: rcp-api-test-app
revisionHistoryLimit: 1
sources:
- chart: paved-road-service
helm:
parameters:
- forceString: true
name: global.account
value: '{{ .cluster.account }}'
- name: global.accountAlias
value: '{{ .cluster.accountAlias }}'
- name: global.appSubnets
value: '{{ .cluster.appSubnets }}'
- name: global.cloudProvider
value: '{{ .cluster.cloudProvider }}'
- name: global.clusterShortName
value: '{{ .cluster.cluster }}'
- name: global.clusterFullName
value: '{{ .cluster.clusterFullName }}'
- name: global.dnsSuffix
value: '{{ .cluster.dnsSuffix }}'
- name: global.environmentCategory
value: '{{ .cluster.environmentCategory }}'
- name: global.environmentScope
value: '{{ .cluster.environmentScope }}'
- name: global.environmentTier
value: '{{ .cluster.environmentTier }}'
- name: global.fcAccountEnv
value: '{{ .cluster.fcAccountEnv }}'
- name: global.helmTests.enabled
value: "false"
- name: global.ingressSubnets
value: '{{ .cluster.ingressSubnets }}'
- name: global.island
value: '{{ .cluster.island }}'
- name: global.pciCategory
value: '{{ .cluster.pciCategory }}'
- name: global.region
value: '{{ .cluster.region }}'
- name: global.segment
value: '{{ .cluster.segment }}'
- name: global.oidcUrl
value: '{{ .cluster.oidcUrl }}'
- name: global.vault.namespace
value: '{{ .egdata.vaultNamespace }}'
- name: global.vault.islandNamespace
value: '{{ .egdata.vaultIslandNamespace }}'
- name: global.vpcId
value: '{{ .cluster.vpcId }}'
- name: global.artifactoryHost
value: artifactory-edge.e.biz
- name: global.artifactoryRepository
value: internal-docker-virtual
- name: global.application
value: rcp-api-test-app
- forceString: true
name: global.release
value: test-us-east-1
- name: global.instance
value: advanced
releaseName: rcp-api-test-app-advanced
values: |
datadog:
openmetrics:
- endpoint: "/metrics"
port: 8080
metricsToFetch: []
deployment:
replicas:
max: 2
min: 1
resources:
limits:
cpu: "0.3"
memory: "1024Mi"
requests:
cpu: "0.3"
memory: "1024Mi"
global:
application: rcp-api-test-app
version: 1a2268af50cbd3ef56fe585f1b3d933a9dc15994
portMappings:
- name: http
port: 8080
pathPrefixes:
- /
paved-road-auth:
workloadAuth:
server:
enableDryRun: true
management:
livenessProbe:
httpGet:
path: /ping
port: 8080
initialDelaySeconds: 30
readinessProbe:
httpGet:
path: /ping
port: 8080
initialDelaySeconds: 30
repoURL: artifactory-edge.e.biz/all-oci-virtual
targetRevision: 13.21.2
syncPolicy:
automated:
prune: true
selfHeal: true
retry:
backoff:
duration: 5m
factor: 2
maxDuration: 30m
limit: 4
syncOptions:
- CreateNamespace=true
- RespectIgnoreDifferences=false
status:
conditions:
- lastTransitionTime: "2025-07-09T22:02:09Z"
message: Successfully generated parameters for all Applications
reason: ApplicationSetUpToDate
status: "False"
type: ErrorOccurred
- lastTransitionTime: "2025-07-09T22:02:09Z"
message: Successfully generated parameters for all Applications
reason: ParametersGenerated
status: "True"
type: ParametersGenerated
- lastTransitionTime: "2025-07-09T22:02:09Z"
message: ApplicationSet up to date
reason: ApplicationSetUpToDate
status: "True"
type: ResourcesUpToDate
resources:
- group: argoproj.io
health:
lastTransitionTime: "2025-07-09T22:03:01Z"
status: Healthy
kind: Application
name: rcp-api-test-app-advanced-runtime-test-rcp-us-east-1
namespace: argocd
status: Synced
version: v1alpha1
Application (somewhat redacted)
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
annotations:
changeId: CHG27818975
notified.notifications.argoproj.io: '{"sync-operation-change:[0].ViP4fdsA_UkVGfTOrAqWTa8q8Wk:datadog-events:":1752098529}'
product.e.com/name: rcp-cpu-test
creationTimestamp: "2025-07-09T22:02:09Z"
finalizers:
- resources-finalizer.argocd.argoproj.io
generation: 16
labels:
app.kubernetes.io/managed-by: rcp-api
app.kubernetes.io/name: rcp-api-test-app
appdata.e.com/name: rcp-api-test-app
k8s.e.com/application: rcp-api-test-app
k8s.e.com/cloud-provider: aws
k8s.e.com/environment-scope: commerce
k8s.e.com/environment-tier: test
k8s.e.com/experience: advanced
k8s.e.com/instance: advanced
k8s.e.com/island: runtime
k8s.e.com/pci-category: oos
k8s.e.com/region: us-east-1
k8s.e.com/short-name: rcp
k8s.e.com/suffix: test-us-east-1
product.e.com/name: rcp-cpu-test
name: rcp-api-test-app-advanced-runtime-test-rcp-us-east-1
namespace: argocd
ownerReferences:
- apiVersion: argoproj.io/v1alpha1
blockOwnerDeletion: true
controller: true
kind: ApplicationSet
name: rcp-api-test-app-test-us-east-1-advanced
uid: 94035066-47d6-4589-8759-242979574c02
resourceVersion: "1451681675"
uid: ae9b1575-ec8e-41ef-94af-2e7638cf323e
spec:
destination:
name: runtime-test-rcp-us-east-1
namespace: rcp-cpu-test
project: rcp-api-test-app
revisionHistoryLimit: 1
sources:
- chart: paved-road-service
helm:
parameters:
- forceString: true
name: global.account
value: "344791879147"
- name: global.accountAlias
value: runtime-test
- name: global.appSubnets
value: subnet-09db0fa4bb983ab35,subnet-0fc4c46eb36e37653,subnet-05c5532bfd6ebf6cc
- name: global.cloudProvider
value: aws
- name: global.clusterShortName
value: rcp
- name: global.clusterFullName
value: runtime-test-rcp-us-east-1
- name: global.dnsSuffix
value: rcp.us-east-1.runtime.test.e-aws.net
- name: global.environmentCategory
value: test
- name: global.environmentScope
value: commerce
- name: global.environmentTier
value: test
- name: global.fcAccountEnv
value: lab
- name: global.helmTests.enabled
value: "false"
- name: global.ingressSubnets
value: subnet-0058d93ed83749b65,subnet-0512e425c9b344fb8,subnet-096dae0d0a9e0d54e
- name: global.island
value: runtime
- name: global.pciCategory
value: oos
- name: global.region
value: us-east-1
- name: global.segment
value: runtime
- name: global.oidcUrl
value: oidc.eks.us-east-1.amazonaws.com/id/F88FFF58B9A204AD295B89567BB1B4C6
- name: global.vault.namespace
value: lab/islands
- name: global.vault.islandNamespace
value: runtime
- name: global.vpcId
value: vpc-009df3012365b2b0a
- name: global.artifactoryHost
value: artifactory-edge.e.biz
- name: global.artifactoryRepository
value: internal-docker-virtual
- name: global.application
value: rcp-api-test-app
- forceString: true
name: global.release
value: test-us-east-1
- name: global.instance
value: advanced
releaseName: rcp-api-test-app-advanced
values: |
datadog:
openmetrics:
- endpoint: "/metrics"
port: 8080
metricsToFetch: []
deployment:
replicas:
max: 2
min: 1
resources:
limits:
cpu: "0.3"
memory: "1024Mi"
requests:
cpu: "0.3"
memory: "1024Mi"
global:
application: rcp-api-test-app
version: 1a2268af50cbd3ef56fe585f1b3d933a9dc15994
portMappings:
- name: http
port: 8080
pathPrefixes:
- /
paved-road-auth:
workloadAuth:
server:
enableDryRun: true
management:
livenessProbe:
httpGet:
path: /ping
port: 8080
initialDelaySeconds: 30
readinessProbe:
httpGet:
path: /ping
port: 8080
initialDelaySeconds: 30
repoURL: artifactory-edge.e.biz/all-oci-virtual
targetRevision: 13.21.2
syncPolicy:
automated:
prune: true
selfHeal: true
retry:
backoff:
duration: 5m
factor: 2
maxDuration: 30m
limit: 4
syncOptions:
- CreateNamespace=true
- RespectIgnoreDifferences=false
status:
controllerNamespace: argocd
health:
lastTransitionTime: "2025-07-09T22:03:01Z"
status: Healthy
history:
- deployStartedAt: "2025-07-09T22:02:09Z"
deployedAt: "2025-07-09T22:02:11Z"
id: 0
initiatedBy:
automated: true
revisions:
- 13.21.2
source:
repoURL: ""
sources:
- chart: paved-road-service
helm:
parameters:
- forceString: true
name: global.account
value: "344791879147"
- name: global.accountAlias
value: runtime-test
- name: global.appSubnets
value: subnet-09db0fa4bb983ab35,subnet-0fc4c46eb36e37653,subnet-05c5532bfd6ebf6cc
- name: global.cloudProvider
value: aws
- name: global.clusterShortName
value: rcp
- name: global.clusterFullName
value: runtime-test-rcp-us-east-1
- name: global.dnsSuffix
value: rcp.us-east-1.runtime.test.e-aws.net
- name: global.environmentCategory
value: test
- name: global.environmentScope
value: commerce
- name: global.environmentTier
value: test
- name: global.fcAccountEnv
value: lab
- name: global.helmTests.enabled
value: "false"
- name: global.ingressSubnets
value: subnet-0058d93ed83749b65,subnet-0512e425c9b344fb8,subnet-096dae0d0a9e0d54e
- name: global.island
value: runtime
- name: global.pciCategory
value: oos
- name: global.region
value: us-east-1
- name: global.segment
value: runtime
- name: global.oidcUrl
value: oidc.eks.us-east-1.amazonaws.com/id/F88FFF58B9A204AD295B89567BB1B4C6
- name: global.vault.namespace
value: lab/islands
- name: global.vault.islandNamespace
value: runtime
- name: global.vpcId
value: vpc-009df3012365b2b0a
- name: global.artifactoryHost
value: artifactory-edge.e.biz
- name: global.artifactoryRepository
value: internal-docker-virtual
- name: global.application
value: rcp-api-test-app
- forceString: true
name: global.release
value: test-us-east-1
- name: global.instance
value: advanced
releaseName: rcp-api-test-app-advanced
values: |
datadog:
openmetrics:
- endpoint: "/metrics"
port: 8080
metricsToFetch: []
deployment:
replicas:
max: 2
min: 1
resources:
limits:
cpu: "0.3"
memory: "1024Mi"
requests:
cpu: "0.3"
memory: "1024Mi"
global:
application: rcp-api-test-app
version: 1a2268af50cbd3ef56fe585f1b3d933a9dc15994
portMappings:
- name: http
port: 8080
pathPrefixes:
- /
paved-road-auth:
workloadAuth:
server:
enableDryRun: true
management:
livenessProbe:
httpGet:
path: /ping
port: 8080
initialDelaySeconds: 30
readinessProbe:
httpGet:
path: /ping
port: 8080
initialDelaySeconds: 30
repoURL: artifactory-edge.e.biz/all-oci-virtual
targetRevision: 13.21.2
operationState:
finishedAt: "2025-07-09T22:02:11Z"
message: successfully synced (all tasks run)
operation:
initiatedBy:
automated: true
retry:
backoff:
duration: 5m
factor: 2
maxDuration: 30m
limit: 4
sync:
prune: true
revisions:
- 13.21.2
syncOptions:
- CreateNamespace=true
- RespectIgnoreDifferences=false
phase: Succeeded
startedAt: "2025-07-09T22:02:09Z"
syncResult:
resources:
- group: ""
hookPhase: Running
kind: ServiceAccount
message: serviceaccount/rcp-api-test-app-test-us-east-1-advanced-template
created
name: rcp-api-test-app-test-us-east-1-advanced-template
namespace: rcp-cpu-test
status: Synced
syncPhase: Sync
version: v1
- group: ""
hookPhase: Running
kind: Service
message: service/rcp-api-test-app-advanced created
name: rcp-api-test-app-advanced
namespace: rcp-cpu-test
status: Synced
syncPhase: Sync
version: v1
- group: apps
hookPhase: Running
kind: Deployment
message: deployment.apps/rcp-api-test-app-test-us-east-1-advanced-template
created
name: rcp-api-test-app-test-us-east-1-advanced-template
namespace: rcp-cpu-test
status: Synced
syncPhase: Sync
version: v1
- group: autoscaling
hookPhase: Running
kind: HorizontalPodAutoscaler
message: horizontalpodautoscaler.autoscaling/rcp-api-test-app-advanced created
name: rcp-api-test-app-advanced
namespace: rcp-cpu-test
status: Synced
syncPhase: Sync
version: v2
- group: networking.istio.io
hookPhase: Running
kind: VirtualService
message: virtualservice.networking.istio.io/rcp-api-test-app-advanced created
name: rcp-api-test-app-advanced
namespace: rcp-cpu-test
status: Synced
syncPhase: Sync
version: v1alpha3
- group: networking.istio.io
hookPhase: Running
kind: Gateway
message: gateway.networking.istio.io/rcp-api-test-app-advanced created
name: rcp-api-test-app-advanced
namespace: rcp-cpu-test
status: Synced
syncPhase: Sync
version: v1alpha3
- group: security.istio.io
hookPhase: Running
kind: PeerAuthentication
message: peerauthentication.security.istio.io/rcp-api-test-app-advanced created
name: rcp-api-test-app-advanced
namespace: rcp-cpu-test
status: Synced
syncPhase: Sync
version: v1beta1
- group: security.istio.io
hookPhase: Running
kind: AuthorizationPolicy
message: authorizationpolicy.security.istio.io/rcp-api-test-app-advanced-allow-authenticated
created
name: rcp-api-test-app-advanced-allow-authenticated
namespace: rcp-cpu-test
status: Synced
syncPhase: Sync
version: v1beta1
- group: networking.istio.io
hookPhase: Running
kind: VirtualService
message: virtualservice.networking.istio.io/rcp-api-test-app-advanced-global
created
name: rcp-api-test-app-advanced-global
namespace: rcp-cpu-test
status: Synced
syncPhase: Sync
version: v1alpha3
- group: cert-manager.io
hookPhase: Running
kind: Certificate
message: certificate.cert-manager.io/rcp-api-test-app-rcp-cpu-test--test-us-east-1-advanced-cert
created
name: rcp-api-test-app-rcp-cpu-test--test-us-east-1-advanced-cert
namespace: istio-system
status: Synced
syncPhase: Sync
version: v1
revision: ""
revisions:
- 13.21.2
source:
repoURL: ""
sources:
- chart: paved-road-service
helm:
parameters:
- forceString: true
name: global.account
value: "344791879147"
- name: global.accountAlias
value: runtime-test
- name: global.appSubnets
value: subnet-09db0fa4bb983ab35,subnet-0fc4c46eb36e37653,subnet-05c5532bfd6ebf6cc
- name: global.cloudProvider
value: aws
- name: global.clusterShortName
value: rcp
- name: global.clusterFullName
value: runtime-test-rcp-us-east-1
- name: global.dnsSuffix
value: rcp.us-east-1.runtime.test.e-aws.net
- name: global.environmentCategory
value: test
- name: global.environmentScope
value: commerce
- name: global.environmentTier
value: test
- name: global.fcAccountEnv
value: lab
- name: global.helmTests.enabled
value: "false"
- name: global.ingressSubnets
value: subnet-0058d93ed83749b65,subnet-0512e425c9b344fb8,subnet-096dae0d0a9e0d54e
- name: global.island
value: runtime
- name: global.pciCategory
value: oos
- name: global.region
value: us-east-1
- name: global.segment
value: runtime
- name: global.oidcUrl
value: oidc.eks.us-east-1.amazonaws.com/id/F88FFF58B9A204AD295B89567BB1B4C6
- name: global.vault.namespace
value: lab/islands
- name: global.vault.islandNamespace
value: runtime
- name: global.vpcId
value: vpc-009df3012365b2b0a
- name: global.artifactoryHost
value: artifactory-edge.e.biz
- name: global.artifactoryRepository
value: internal-docker-virtual
- name: global.application
value: rcp-api-test-app
- forceString: true
name: global.release
value: test-us-east-1
- name: global.instance
value: advanced
releaseName: rcp-api-test-app-advanced
values: |
datadog:
openmetrics:
- endpoint: "/metrics"
port: 8080
metricsToFetch: []
deployment:
replicas:
max: 2
min: 1
resources:
limits:
cpu: "0.3"
memory: "1024Mi"
requests:
cpu: "0.3"
memory: "1024Mi"
global:
application: rcp-api-test-app
version: 1a2268af50cbd3ef56fe585f1b3d933a9dc15994
portMappings:
- name: http
port: 8080
pathPrefixes:
- /
paved-road-auth:
workloadAuth:
server:
enableDryRun: true
management:
livenessProbe:
httpGet:
path: /ping
port: 8080
initialDelaySeconds: 30
readinessProbe:
httpGet:
path: /ping
port: 8080
initialDelaySeconds: 30
repoURL: artifactory-edge.e.biz/all-oci-virtual
targetRevision: 13.21.2
reconciledAt: "2025-07-09T22:06:54Z"
resourceHealthSource: appTree
resources:
- kind: Service
name: rcp-api-test-app-advanced
namespace: rcp-cpu-test
status: Synced
version: v1
- kind: ServiceAccount
name: rcp-api-test-app-test-us-east-1-advanced-template
namespace: rcp-cpu-test
status: Synced
version: v1
- group: apps
kind: Deployment
name: rcp-api-test-app-test-us-east-1-advanced-template
namespace: rcp-cpu-test
status: Synced
version: v1
- group: autoscaling
kind: HorizontalPodAutoscaler
name: rcp-api-test-app-advanced
namespace: rcp-cpu-test
status: Synced
version: v2
- group: cert-manager.io
kind: Certificate
name: rcp-api-test-app-rcp-cpu-test--test-us-east-1-advanced-cert
namespace: istio-system
status: Synced
version: v1
- group: networking.istio.io
kind: Gateway
name: rcp-api-test-app-advanced
namespace: rcp-cpu-test
status: Synced
version: v1alpha3
- group: networking.istio.io
kind: VirtualService
name: rcp-api-test-app-advanced
namespace: rcp-cpu-test
status: Synced
version: v1alpha3
- group: networking.istio.io
kind: VirtualService
name: rcp-api-test-app-advanced-global
namespace: rcp-cpu-test
status: Synced
version: v1alpha3
- group: security.istio.io
kind: AuthorizationPolicy
name: rcp-api-test-app-advanced-allow-authenticated
namespace: rcp-cpu-test
status: Synced
version: v1beta1
- group: security.istio.io
kind: PeerAuthentication
name: rcp-api-test-app-advanced
namespace: rcp-cpu-test
status: Synced
version: v1beta1
sourceHydrator: {}
sourceTypes:
- Helm
summary:
images:
- 782273268637.dkr.ecr.us-east-1.amazonaws.com/public-docker-virtual/istio/proxyv2:1.22.8-distroless
- artifactory-edge.e.biz/internal-docker-virtual/library/rcp-api-test-app:1a2268af50cbd3ef56fe585f1b3d933a9dc15994
sync:
comparedTo:
destination:
name: runtime-test-rcp-us-east-1
namespace: rcp-cpu-test
source:
repoURL: ""
sources:
- chart: paved-road-service
helm:
parameters:
- forceString: true
name: global.account
value: "344791879147"
- name: global.accountAlias
value: runtime-test
- name: global.appSubnets
value: subnet-09db0fa4bb983ab35,subnet-0fc4c46eb36e37653,subnet-05c5532bfd6ebf6cc
- name: global.cloudProvider
value: aws
- name: global.clusterShortName
value: rcp
- name: global.clusterFullName
value: runtime-test-rcp-us-east-1
- name: global.dnsSuffix
value: rcp.us-east-1.runtime.test.e-aws.net
- name: global.environmentCategory
value: test
- name: global.environmentScope
value: commerce
- name: global.environmentTier
value: test
- name: global.fcAccountEnv
value: lab
- name: global.helmTests.enabled
value: "false"
- name: global.ingressSubnets
value: subnet-0058d93ed83749b65,subnet-0512e425c9b344fb8,subnet-096dae0d0a9e0d54e
- name: global.island
value: runtime
- name: global.pciCategory
value: oos
- name: global.region
value: us-east-1
- name: global.segment
value: runtime
- name: global.oidcUrl
value: oidc.eks.us-east-1.amazonaws.com/id/F88FFF58B9A204AD295B89567BB1B4C6
- name: global.vault.namespace
value: lab/islands
- name: global.vault.islandNamespace
value: runtime
- name: global.vpcId
value: vpc-009df3012365b2b0a
- name: global.artifactoryHost
value: artifactory-edge.e.biz
- name: global.artifactoryRepository
value: internal-docker-virtual
- name: global.application
value: rcp-api-test-app
- forceString: true
name: global.release
value: test-us-east-1
- name: global.instance
value: advanced
releaseName: rcp-api-test-app-advanced
values: |
datadog:
openmetrics:
- endpoint: "/metrics"
port: 8080
metricsToFetch: []
deployment:
replicas:
max: 2
min: 1
resources:
limits:
cpu: "0.3"
memory: "1024Mi"
requests:
cpu: "0.3"
memory: "1024Mi"
global:
application: rcp-api-test-app
version: 1a2268af50cbd3ef56fe585f1b3d933a9dc15994
portMappings:
- name: http
port: 8080
pathPrefixes:
- /
paved-road-auth:
workloadAuth:
server:
enableDryRun: true
management:
livenessProbe:
httpGet:
path: /ping
port: 8080
initialDelaySeconds: 30
readinessProbe:
httpGet:
path: /ping
port: 8080
initialDelaySeconds: 30
repoURL: artifactory-edge.e.biz/all-oci-virtual
targetRevision: 13.21.2
revisions:
- 13.21.2
status: Synced
argocd-cm config map, in case that helps, lightly redacted:
apiVersion: v1
data:
accounts.rcpapi: apiKey, login
accounts.rollback-controller: apiKey,login
accounts.teleport-token-refresher: apiKey
accounts.venafi-token-refresher: apiKey
admin.enabled: "true"
application.instanceLabelKey: argocd.argoproj.io/instance
application.resourceTrackingMethod: annotation+label
application.sync.impersonation.enabled: "false"
controller.log.level: debug
exec.enabled: "false"
globalProjects: |
- projectName: global-default-app-permissions
labelSelector:
matchExpressions:
- key: argocd.egroup.com/default-app-permissions
operator: In
values:
- enabled
- projectName: global-default-contributor-permissions
labelSelector:
matchExpressions:
- key: argocd.egroup.com/default-contributor-permissions
operator: In
values:
- enabled
oidc.config: |
name: Okta
issuer: https://egroup.okta.com
clientID: 0oa16cd99qkgHZ2qi358
clientSecret: $argocd-okta-oidc:oidc.auth0.clientSecret
requestedScopes: ["openid", "profile", "email", "groups"]
requestedIDTokenClaims: {"groups": {"essential": true}}
resource.compareoptions: |
ignoreDifferencesOnResourceUpdates: true
resource.customizations: |
argoproj.io/Application:
health.lua: |
hs = {}
hs.status = "Progressing"
hs.message = ""
if obj.status ~= nil then
if obj.status.health ~= nil then
hs.status = obj.status.health.status
if obj.status.health.message ~= nil then
hs.message = obj.status.health.message
end
end
end
return hs
keda.sh/ScaledObject:
health.lua: |
-- from https://github.com/argoproj/argo-cd/blob/master/resource_customizations/keda.sh/ScaledObject/health.lua, but we keep status as healhty if condition.type = "Paused"
hs = {}
healthy = false
degraded = false
suspended = false
if obj.status ~= nil then
if obj.status.conditions ~= nil then
for i, condition in ipairs(obj.status.conditions) do
if condition.status == "False" and condition.type == "Ready" then
hs.message = condition.message
degraded = true
end
if condition.status == "True" and condition.type == "Ready" then
hs.message = condition.message
healthy = true
end
if condition.status == "True" and condition.type == "Paused" then
hs.message = condition.message
suspended = true
end
end
end
end
if degraded == true then
hs.status = "Degraded"
return hs
elseif healthy == true and suspended == false then
hs.status = "Healthy"
return hs
elseif healthy == true and suspended == true then
-- We don't set suspended to true because this may block Progressive Deployment's method of managing multiple ScaledObjects
hs.status = "Healthy"
return hs
end
hs.status = "Progressing"
hs.message = "Creating HorizontalPodAutoscaler Object"
return hs
egroup.com/RolePolicy:
health.lua: |
if obj.status == nil or obj.status.conditions == nil or obj.status.observed == nil then
return {status = "Progressing", message="Waiting on dependencies or current resource to be healthy"}
else
for key, value in pairs(obj.status.observed) do
local ready = false
local synced = false
local suspended = false
for _, condition in ipairs(value.conditions) do
if condition.type == "Ready" then
ready = condition.status == "True"
elseif condition.type == "Synced" then
synced = condition.status == "True"
if condition.reason == "ReconcileError" then
synced_message = condition.message
elseif condition.reason == "ReconcilePaused" then
suspended = true
suspended_message = condition.reason
end
end
end
if ready ~= true or synced ~= true then
if synced == false and suspended == true then
return {status="Suspended", message="Waiting on " .. (key or "rsc") .. " due to " .. (suspended_message or "'no message reported'")}
elseif ready == false and synced == true and suspended == false then
return {status="Progressing", message="Waiting on " .. (key or "rsc") .. " to become available"}
else
return {status="Degraded", message="Waiting on " .. (key or "rsc") .. " due to " .. (synced_message or "'no message reported'")}
end
end
end
return {status="Healthy", message="all observed resources have status 'Healthy'"}
end
egroup.com/S3BucketPolicy:
health.lua: |
local hs = {}
if obj.status ~= nil then
if obj.status.conditions ~= nil then
local ready = false
local synced = false
local suspended = false
for i, condition in ipairs(obj.status.conditions) do
if condition.type == "Ready" then
ready = condition.status == "True"
ready_message = condition.reason
elseif condition.type == "Synced" then
synced = condition.status == "True"
if condition.reason == "ReconcileError" then
synced_message = condition.message
elseif condition.reason == "ReconcilePaused" then
suspended = true
suspended_message = condition.reason
end
end
end
if ready and synced then
hs.status = "Healthy"
hs.message = ready_message
elseif synced == false and suspended == true then
hs.status = "Suspended"
hs.message = suspended_message
elseif ready == false and synced == true and suspended == false then
hs.status = "Progressing"
hs.message = "Waiting for Bucket to be available"
else
hs.status = "Degraded"
hs.message = synced_message
end
return hs
end
end
hs.status = "Progressing"
hs.message = "Waiting for Bucket to be created"
return hs
egroup.com/RCPQueue:
health.lua: |
if obj.status == nil or obj.status.conditions == nil or obj.status.observed == nil then
return {status = "Progressing", message="Waiting on queue to be healthy"}
else
local ready = false
local synced = false
local suspended = false
local hs = {}
for key, value in pairs(obj.status.observed) do
for _, condition in ipairs(value.conditions) do
if condition.type == "Ready" then
ready = condition.status == "True"
ready_message = condition.reason
elseif condition.type == "Synced" then
synced = condition.status == "True"
if condition.reason == "ReconcileError" then
synced_message = condition.message
elseif condition.reason == "ReconcilePaused" then
suspended = true
suspended_message = condition.reason
end
end
if ready and synced then
hs.status = "Healthy"
hs.message = ready_message
elseif synced == false and suspended == true then
hs.status = "Suspended"
hs.message = suspended_message
elseif ready == false and synced == true and suspended == false then
hs.status = "Progressing"
hs.message = "Waiting for queue to be available"
else
hs.status = "Degraded"
hs.message = synced_message
end
end
return hs
end
end
resource.customizations.ignoreDifferences.Service: |
jqPathExpressions:
- '.metadata.annotations | to_entries | map(select(.key!="aws-load-balancer-additional-resource-tags")) | .[].value'
resource.customizations.ignoreDifferences.admissionregistration.k8s.io_MutatingWebhookConfiguration: |
jqPathExpressions:
- '.webhooks[]?.clientConfig.caBundle'
resource.customizations.ignoreDifferences.admissionregistration.k8s.io_ValidatingWebhookConfiguration: |
jqPathExpressions:
- '.webhooks[]?.clientConfig.caBundle'
resource.customizations.ignoreDifferences.all: |
managedFieldsManagers:
- kube-controller-manager
jsonPointers:
- /spec/replicas
- /spec/forProvider/tags
jqPathExpressions:
- '.spec.template.spec.containers[]?.resources'
- '.spec.jobTemplate.spec.template.spec.containers[]?.resources'
resource.customizations.ignoreDifferences.apiextensions.k8s.io_CustomResourceDefinition: |
jsonPointers:
- /status/storedVersions
resource.customizations.ignoreDifferences.apps_Deployment: |
jsonPointers:
- /spec/replicas
- /spec/template/metadata/annotations/sidecar.istio.io~1bootstrapOverride
jqPathExpressions:
- '.metadata.annotations | to_entries | map(select(.key!="workload-auth.k8s.egroup.com/egress-hosts")) | .[].value'
resource.customizations.ignoreDifferences.autoscaling_HorizontalPodAutoscaler: |
jsonPointers:
- /metadata/annotations
- /spec/minReplicas
- /spec/maxReplicas
resource.customizations.ignoreDifferences.iam.aws.crossplane.io_Policy: |
jsonPointers:
- /spec/providerRef
resource.customizations.ignoreDifferences.iam.aws.crossplane.io_Role: |
jsonPointers:
- /spec/providerRef
resource.customizations.ignoreDifferences.iam.aws.crossplane.io_RolePolicyAttachment: |
jsonPointers:
- /spec/providerRef
resource.customizations.ignoreDifferences.keda.sh_ScaledObject: |
jsonPointers:
- /spec/minReplicaCount
- /spec/maxReplicaCount
resource.customizations.ignoreDifferences.networking.istio.io_VirtualService: |
jsonPointers:
- /metadata/annotations
- /spec/http
- /spec/gateways
- /spec/hosts
resource.customizations.ignoreDifferences.policy_PodDisruptionBudget: |
jsonPointers:
- /spec/minAvailable
- /spec/maxUnavailable
resource.customizations.ignoreDifferences.progressivedeployment.egroup.com_ProgressiveDeployment: |
jsonPointers:
- /spec
- /status
resource.customizations.ignoreDifferences.s3.aws.crossplane.io_Bucket: |
jsonPointers:
- /spec/providerRef
resource.customizations.ignoreDifferences.s3.aws.crossplane.io_BucketPolicy: |
jsonPointers:
- /spec/providerRef
resource.customizations.ignoreDifferences.serving.kserve.io_InferenceService: |
jsonPointers:
- /spec
resource.customizations.ignoreDifferences.sns.aws.crossplane.io_Subscription: |
jsonPointers:
- /spec/providerRef
resource.customizations.ignoreDifferences.sns.aws.crossplane.io_Topic: |
jsonPointers:
- /spec/providerRef
resource.customizations.ignoreDifferences.sqs.aws.crossplane.io_Queue: |
jsonPointers:
- /spec/providerRef
resource.customizations.ignoreResourceUpdates.ConfigMap: |
jqPathExpressions:
# Ignore the cluster-autoscaler status
- '.metadata.annotations."cluster-autoscaler.kubernetes.io/last-updated"'
# Ignore the annotation of the legacy Leases election
- '.metadata.annotations."control-plane.alpha.kubernetes.io/leader"'
resource.customizations.ignoreResourceUpdates.Endpoints: |
jsonPointers:
- /metadata
- /subsets
resource.customizations.ignoreResourceUpdates.all: |
jsonPointers:
- /metadata/generation
- /metadata/resourceVersion
- /status/conditions
- /status/lastScheduleTime
- /status/lastSuccessfulTime
resource.customizations.ignoreResourceUpdates.apps_ReplicaSet: |
jqPathExpressions:
- '.metadata.annotations."deployment.kubernetes.io/desired-replicas"'
- '.metadata.annotations."deployment.kubernetes.io/max-replicas"'
- '.metadata.annotations."rollout.argoproj.io/desired-replicas"'
resource.customizations.ignoreResourceUpdates.argoproj.io_Application: |
jqPathExpressions:
- '.metadata.annotations."notified.notifications.argoproj.io"'
- '.metadata.annotations."argocd.argoproj.io/refresh"'
- '.metadata.annotations."argocd.argoproj.io/hydrate"'
- '.operation'
resource.customizations.ignoreResourceUpdates.argoproj.io_Rollout: |
jqPathExpressions:
- '.metadata.annotations."notified.notifications.argoproj.io"'
resource.customizations.ignoreResourceUpdates.autoscaling_HorizontalPodAutoscaler: |
jqPathExpressions:
- '.metadata.annotations."autoscaling.alpha.kubernetes.io/behavior"'
- '.metadata.annotations."autoscaling.alpha.kubernetes.io/conditions"'
- '.metadata.annotations."autoscaling.alpha.kubernetes.io/metrics"'
- '.metadata.annotations."autoscaling.alpha.kubernetes.io/current-metrics"'
resource.customizations.ignoreResourceUpdates.discovery.k8s.io_EndpointSlice: |
jsonPointers:
- /metadata
- /endpoints
- /ports
resource.exclusions: |
- apiGroups:
- "*"
kinds:
- ClusterPolicyReport
- EphemeralReport
- EndpointSlice
- PolicyReport
- ClusterEphemeralReport
- Node
- Endpoints
clusters:
- "*"
resource.ignoreResourceUpdatesEnabled: "true"
server.rbac.disableApplicationFineGrainedRBACInheritance: "false"
server.rbac.log.enforce.enable: "false"
statusbadge.enabled: "true"
statusbadge.url: https://argocd.example.com/
timeout.hard.reconciliation: 0s
timeout.reconciliation: 180s
ui.bannercontent: dev-us-east-1 - us-east-1
ui.bannerpermanent: "true"
ui.cssurl: ./custom/custom.styles.css
url: https://argocd.rcp-core-dev.us-east-1.runtime.test.e-aws.net
kind: ConfigMap
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1","data":{"accounts.rcpapi":"apiKey,login","accounts.teleport-token-refresher":"apiKey","accounts.venafi-token-refresher":"apiKey","admin.enabled":"true","application.instanceLabelKey":"argocd.argoproj.io/instance","application.resourceTrackingMethod":"annotation+label","controller.log.level":"debug","exec.enabled":"false","globalProjects":"- projectName: global-default-app-permissions\n labelSelector:\n matchExpressions:\n - key: argocd.egroup.com/default-app-permissions\n operator: In\n values:\n - enabled\n- projectName: global-default-contributor-permissions\n labelSelector:\n matchExpressions:\n - key: argocd.egroup.com/default-contributor-permissions\n operator: In\n values:\n - enabled\n","oidc.config":"name: Okta\nissuer: https://egroup.okta.com\nclientID: 0oa16cd99qkgHZ2qi358\nclientSecret: $argocd-okta-oidc:oidc.auth0.clientSecret\nrequestedScopes: [\"openid\", \"profile\", \"email\", \"groups\"]\nrequestedIDTokenClaims: {\"groups\": {\"essential\": true}}\n","resource.compareoptions":"ignoreDifferencesOnResourceUpdates: true\n","resource.customizations":"argoproj.io/Application:\n health.lua: |\n hs = {}\n hs.status = \"Progressing\"\n hs.message = \"\"\n if obj.status ~= nil then\n if obj.status.health ~= nil then\n hs.status = obj.status.health.status\n if obj.status.health.message ~= nil then\n hs.message = obj.status.health.message\n end\n end\n end\n return hs\nkeda.sh/ScaledObject:\n health.lua: |\n -- from https://github.com/argoproj/argo-cd/blob/master/resource_customizations/keda.sh/ScaledObject/health.lua, but we keep status as healhty if condition.type = \"Paused\"\n hs = {}\n healthy = false\n degraded = false\n suspended = false\n if obj.status ~= nil then\n if obj.status.conditions ~= nil then\n for i, condition in ipairs(obj.status.conditions) do\n if condition.status == \"False\" and condition.type == \"Ready\" then\n hs.message = condition.message\n degraded = true\n end\n if condition.status == \"True\" and condition.type == \"Ready\" then\n hs.message = condition.message\n healthy = true\n end\n if condition.status == \"True\" and condition.type == \"Paused\" then\n hs.message = condition.message\n suspended = true\n end\n end\n end\n end\n if degraded == true then\n hs.status = \"Degraded\"\n return hs\n elseif healthy == true and suspended == false then\n hs.status = \"Healthy\"\n return hs\n elseif healthy == true and suspended == true then\n -- We don't set suspended to true because this may block Progressive Deployment's method of managing multiple ScaledObjects\n hs.status = \"Healthy\"\n return hs\n end\n hs.status = \"Progressing\"\n hs.message = \"Creating HorizontalPodAutoscaler Object\"\n return hs\negroup.com/RolePolicy:\n health.lua: |\n if obj.status == nil or obj.status.conditions == nil or obj.status.observed == nil then\n return {status = \"Progressing\", message=\"Waiting on dependencies or current resource to be healthy\"}\n else\n for key, value in pairs(obj.status.observed) do\n local ready = false\n local synced = false\n local suspended = false\n for _, condition in ipairs(value.conditions) do\n if condition.type == \"Ready\" then\n ready = condition.status == \"True\"\n elseif condition.type == \"Synced\" then\n synced = condition.status == \"True\"\n if condition.reason == \"ReconcileError\" then\n synced_message = condition.message\n elseif condition.reason == \"ReconcilePaused\" then\n suspended = true\n suspended_message = condition.reason\n end\n end\n end\n if ready ~= true or synced ~= true then\n if synced == false and suspended == true then\n return {status=\"Suspended\", message=\"Waiting on \" .. (key or \"rsc\") .. \" due to \" .. (suspended_message or \"'no message reported'\")}\n elseif ready == false and synced == true and suspended == false then\n return {status=\"Progressing\", message=\"Waiting on \" .. (key or \"rsc\") .. \" to become available\"}\n else\n return {status=\"Degraded\", message=\"Waiting on \" .. (key or \"rsc\") .. \" due to \" .. (synced_message or \"'no message reported'\")}\n end\n end\n end\n return {status=\"Healthy\", message=\"all observed resources have status 'Healthy'\"}\n end\negroup.com/S3BucketPolicy:\n health.lua: |\n local hs = {}\n if obj.status ~= nil then\n if obj.status.conditions ~= nil then\n local ready = false\n local synced = false\n local suspended = false\n for i, condition in ipairs(obj.status.conditions) do\n\n if condition.type == \"Ready\" then\n ready = condition.status == \"True\"\n ready_message = condition.reason\n elseif condition.type == \"Synced\" then\n synced = condition.status == \"True\"\n if condition.reason == \"ReconcileError\" then\n synced_message = condition.message\n elseif condition.reason == \"ReconcilePaused\" then\n suspended = true\n suspended_message = condition.reason\n end\n end\n end\n if ready and synced then\n hs.status = \"Healthy\"\n hs.message = ready_message\n elseif synced == false and suspended == true then\n hs.status = \"Suspended\"\n hs.message = suspended_message\n elseif ready == false and synced == true and suspended == false then\n hs.status = \"Progressing\"\n hs.message = \"Waiting for Bucket to be available\"\n else\n hs.status = \"Degraded\"\n hs.message = synced_message\n end\n return hs\n end\n end\n hs.status = \"Progressing\"\n hs.message = \"Waiting for Bucket to be created\"\n return hs\negroup.com/RCPQueue:\n health.lua: |\n if obj.status == nil or obj.status.conditions == nil or obj.status.observed == nil then\n return {status = \"Progressing\", message=\"Waiting on queue to be healthy\"}\n else\n local ready = false\n local synced = false\n local suspended = false\n local hs = {}\n for key, value in pairs(obj.status.observed) do\n for _, condition in ipairs(value.conditions) do\n if condition.type == \"Ready\" then\n ready = condition.status == \"True\"\n ready_message = condition.reason\n elseif condition.type == \"Synced\" then\n synced = condition.status == \"True\"\n if condition.reason == \"ReconcileError\" then\n synced_message = condition.message\n elseif condition.reason == \"ReconcilePaused\" then\n suspended = true\n suspended_message = condition.reason\n end\n end\n if ready and synced then\n hs.status = \"Healthy\"\n hs.message = ready_message\n elseif synced == false and suspended == true then\n hs.status = \"Suspended\"\n hs.message = suspended_message\n elseif ready == false and synced == true and suspended == false then\n hs.status = \"Progressing\"\n hs.message = \"Waiting for queue to be available\"\n else\n hs.status = \"Degraded\"\n hs.message = synced_message\n end\n end\n return hs\n end\n end\n","resource.customizations.ignoreDifferences.Service":"jsonPointers:\n- /metadata/annotations\n","resource.customizations.ignoreDifferences.admissionregistration.k8s.io_MutatingWebhookConfiguration":"jqPathExpressions:\n- '.webhooks[]?.clientConfig.caBundle'\n","resource.customizations.ignoreDifferences.admissionregistration.k8s.io_ValidatingWebhookConfiguration":"jqPathExpressions:\n- '.webhooks[]?.clientConfig.caBundle'\n","resource.customizations.ignoreDifferences.all":"managedFieldsManagers:\n- kube-controller-manager\njsonPointers:\n- /spec/replicas\n- /spec/forProvider/tags\njqPathExpressions:\n- '.spec.template.spec.containers[]?.resources'\n- '.spec.jobTemplate.spec.template.spec.containers[]?.resources'\n","resource.customizations.ignoreDifferences.apiextensions.k8s.io_CustomResourceDefinition":"jsonPointers:\n- /status/storedVersions\n","resource.customizations.ignoreDifferences.apps_Deployment":"jsonPointers:\n- /metadata/annotations\n- /spec/replicas\n","resource.customizations.ignoreDifferences.autoscaling_HorizontalPodAutoscaler":"jsonPointers:\n- /metadata/annotations\n- /spec/minReplicas\n- /spec/maxReplicas\n","resource.customizations.ignoreDifferences.iam.aws.crossplane.io_Policy":"jsonPointers:\n - /spec/providerRef\n","resource.customizations.ignoreDifferences.iam.aws.crossplane.io_Role":"jsonPointers:\n - /spec/providerRef\n","resource.customizations.ignoreDifferences.iam.aws.crossplane.io_RolePolicyAttachment":"jsonPointers:\n - /spec/providerRef\n","resource.customizations.ignoreDifferences.keda.sh_ScaledObject":"jsonPointers:\n- /spec/minReplicaCount\n- /spec/maxReplicaCount\n","resource.customizations.ignoreDifferences.networking.istio.io_VirtualService":"jsonPointers:\n- /metadata/annotations\n- /spec/http\n- /spec/gateways\n- /spec/hosts\n","resource.customizations.ignoreDifferences.policy_PodDisruptionBudget":"jsonPointers:\n- /spec/minAvailable\n- /spec/maxUnavailable\n","resource.customizations.ignoreDifferences.progressivedeployment.egroup.com_ProgressiveDeployment":"jsonPointers:\n- /spec\n- /status\n","resource.customizations.ignoreDifferences.s3.aws.crossplane.io_Bucket":"jsonPointers:\n - /spec/providerRef\n","resource.customizations.ignoreDifferences.s3.aws.crossplane.io_BucketPolicy":"jsonPointers:\n - /spec/providerRef\n","resource.customizations.ignoreDifferences.serving.kserve.io_InferenceService":"jsonPointers:\n - /spec\n","resource.customizations.ignoreDifferences.sns.aws.crossplane.io_Subscription":"jsonPointers:\n - /spec/providerRef\n","resource.customizations.ignoreDifferences.sns.aws.crossplane.io_Topic":"jsonPointers:\n - /spec/providerRef\n","resource.customizations.ignoreDifferences.sqs.aws.crossplane.io_Queue":"jsonPointers:\n - /spec/providerRef\n","resource.customizations.ignoreResourceUpdates.all":"jsonPointers:\n- /metadata/generation\n- /metadata/resourceVersion\n- /status/conditions\n- /status/lastScheduleTime\n- /status/lastSuccessfulTime\n","resource.exclusions":"- apiGroups:\n - \"*\"\n kinds:\n - ClusterPolicyReport\n - EphemeralReport\n - EndpointSlice\n - PolicyReport\n - ClusterEphemeralReport\n - Node\n - Endpoints\n clusters:\n - \"*\"\n","resource.ignoreResourceUpdatesEnabled":"true","server.rbac.log.enforce.enable":"false","statusbadge.enabled":"true","statusbadge.url":"https://argocd.example.com/","timeout.hard.reconciliation":"0s","timeout.reconciliation":"180s","ui.bannercontent":"dev-us-east-1 - us-east-1","ui.bannerpermanent":"true","ui.cssurl":"./custom/custom.styles.css","url":"https://argocd.rcp-core-dev.us-east-1.runtime.test.e-aws.net"},"kind":"ConfigMap","metadata":{"annotations":{"meta.helm.sh/release-name":"argocd","meta.helm.sh/release-namespace":"argocd"},"creationTimestamp":"2024-04-19T10:05:41Z","labels":{"app.kubernetes.io/component":"server","app.kubernetes.io/instance":"argocd","app.kubernetes.io/managed-by":"Helm","app.kubernetes.io/name":"argocd-cm","app.kubernetes.io/part-of":"argocd","app.kubernetes.io/version":"v2.12.7","helm.sh/chart":"argo-cd-7.6.12","k8slens-edit-resource-version":"v1"},"name":"argocd-cm","namespace":"argocd","resourceVersion":"1254666363","uid":"ca664c6c-98e1-4b9a-bfbf-bb0f2ba5f188"}}
meta.helm.sh/release-name: argocd
meta.helm.sh/release-namespace: argocd
creationTimestamp: "2024-04-19T10:05:41Z"
labels:
app.kubernetes.io/component: server
app.kubernetes.io/instance: argocd
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: argocd-cm
app.kubernetes.io/part-of: argocd
app.kubernetes.io/version: v3.0.5
helm.sh/chart: argo-cd-8.0.16
k8slens-edit-resource-version: v1
name: argocd-cm
namespace: argocd
resourceVersion: "1478717097"
uid: ca664c6c-98e1-4b9a-bfbf-bb0f2ba5f188
Expected behavior
Deletes ought to be pretty much immediate.
Screenshots
Version
argocd-server: v3.0.5+af9ebac
Logs
Logs, again redacted somewhat. These are from the same app, in a different environment/cluster. Timeline:
13:15:24 - appset created
13:18:11 - appset deletion performed (deletion timestamp set, app unaffected)
13:21:23 - appset controller restarted, app and appset disappear
"target" cluster (where the Application landed):
control plane cluster, from argocd
namespace only: