mirror of
https://github.com/argoproj/argo-cd.git
synced 2026-04-07 17:28:49 +02:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
03600ae7ac | ||
|
|
c6112c05fe | ||
|
|
49771c1d4f |
@@ -181,12 +181,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)
|
||||
|
||||
@@ -5,7 +5,7 @@ kind: Kustomization
|
||||
images:
|
||||
- name: quay.io/argoproj/argocd
|
||||
newName: quay.io/argoproj/argocd
|
||||
newTag: v2.13.4
|
||||
newTag: v2.13.5
|
||||
resources:
|
||||
- ./application-controller
|
||||
- ./dex
|
||||
|
||||
10
manifests/core-install.yaml
generated
10
manifests/core-install.yaml
generated
@@ -22571,7 +22571,7 @@ spec:
|
||||
key: applicationsetcontroller.webhook.parallelism.limit
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
name: argocd-applicationset-controller
|
||||
ports:
|
||||
@@ -22689,7 +22689,7 @@ spec:
|
||||
- argocd
|
||||
- admin
|
||||
- redis-initial-password
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: secret-init
|
||||
securityContext:
|
||||
@@ -22942,7 +22942,7 @@ spec:
|
||||
value: /helm-working-dir
|
||||
- name: HELM_DATA_HOME
|
||||
value: /helm-working-dir
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
@@ -22994,7 +22994,7 @@ spec:
|
||||
- -n
|
||||
- /usr/local/bin/argocd
|
||||
- /var/run/argocd/argocd-cmp-server
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
name: copyutil
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
@@ -23284,7 +23284,7 @@ spec:
|
||||
key: controller.ignore.normalizer.jq.timeout
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
name: argocd-application-controller
|
||||
ports:
|
||||
|
||||
@@ -12,4 +12,4 @@ resources:
|
||||
images:
|
||||
- name: quay.io/argoproj/argocd
|
||||
newName: quay.io/argoproj/argocd
|
||||
newTag: v2.13.4
|
||||
newTag: v2.13.5
|
||||
|
||||
@@ -12,7 +12,7 @@ patches:
|
||||
images:
|
||||
- name: quay.io/argoproj/argocd
|
||||
newName: quay.io/argoproj/argocd
|
||||
newTag: v2.13.4
|
||||
newTag: v2.13.5
|
||||
resources:
|
||||
- ../../base/application-controller
|
||||
- ../../base/applicationset-controller
|
||||
|
||||
16
manifests/ha/install.yaml
generated
16
manifests/ha/install.yaml
generated
@@ -23914,7 +23914,7 @@ spec:
|
||||
key: applicationsetcontroller.webhook.parallelism.limit
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
name: argocd-applicationset-controller
|
||||
ports:
|
||||
@@ -24049,7 +24049,7 @@ spec:
|
||||
- -n
|
||||
- /usr/local/bin/argocd
|
||||
- /shared/argocd-dex
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
name: copyutil
|
||||
securityContext:
|
||||
@@ -24137,7 +24137,7 @@ spec:
|
||||
key: notificationscontroller.repo.server.plaintext
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
@@ -24256,7 +24256,7 @@ spec:
|
||||
- argocd
|
||||
- admin
|
||||
- redis-initial-password
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: secret-init
|
||||
securityContext:
|
||||
@@ -24537,7 +24537,7 @@ spec:
|
||||
value: /helm-working-dir
|
||||
- name: HELM_DATA_HOME
|
||||
value: /helm-working-dir
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
@@ -24589,7 +24589,7 @@ spec:
|
||||
- -n
|
||||
- /usr/local/bin/argocd
|
||||
- /var/run/argocd/argocd-cmp-server
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
name: copyutil
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
@@ -24943,7 +24943,7 @@ spec:
|
||||
key: applicationsetcontroller.enable.scm.providers
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
@@ -25269,7 +25269,7 @@ spec:
|
||||
key: controller.ignore.normalizer.jq.timeout
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
name: argocd-application-controller
|
||||
ports:
|
||||
|
||||
16
manifests/ha/namespace-install.yaml
generated
16
manifests/ha/namespace-install.yaml
generated
@@ -1694,7 +1694,7 @@ spec:
|
||||
key: applicationsetcontroller.webhook.parallelism.limit
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
name: argocd-applicationset-controller
|
||||
ports:
|
||||
@@ -1829,7 +1829,7 @@ spec:
|
||||
- -n
|
||||
- /usr/local/bin/argocd
|
||||
- /shared/argocd-dex
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
name: copyutil
|
||||
securityContext:
|
||||
@@ -1917,7 +1917,7 @@ spec:
|
||||
key: notificationscontroller.repo.server.plaintext
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
@@ -2036,7 +2036,7 @@ spec:
|
||||
- argocd
|
||||
- admin
|
||||
- redis-initial-password
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: secret-init
|
||||
securityContext:
|
||||
@@ -2317,7 +2317,7 @@ spec:
|
||||
value: /helm-working-dir
|
||||
- name: HELM_DATA_HOME
|
||||
value: /helm-working-dir
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
@@ -2369,7 +2369,7 @@ spec:
|
||||
- -n
|
||||
- /usr/local/bin/argocd
|
||||
- /var/run/argocd/argocd-cmp-server
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
name: copyutil
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
@@ -2723,7 +2723,7 @@ spec:
|
||||
key: applicationsetcontroller.enable.scm.providers
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
@@ -3049,7 +3049,7 @@ spec:
|
||||
key: controller.ignore.normalizer.jq.timeout
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
name: argocd-application-controller
|
||||
ports:
|
||||
|
||||
16
manifests/install.yaml
generated
16
manifests/install.yaml
generated
@@ -23031,7 +23031,7 @@ spec:
|
||||
key: applicationsetcontroller.webhook.parallelism.limit
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
name: argocd-applicationset-controller
|
||||
ports:
|
||||
@@ -23166,7 +23166,7 @@ spec:
|
||||
- -n
|
||||
- /usr/local/bin/argocd
|
||||
- /shared/argocd-dex
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
name: copyutil
|
||||
securityContext:
|
||||
@@ -23254,7 +23254,7 @@ spec:
|
||||
key: notificationscontroller.repo.server.plaintext
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
@@ -23354,7 +23354,7 @@ spec:
|
||||
- argocd
|
||||
- admin
|
||||
- redis-initial-password
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: secret-init
|
||||
securityContext:
|
||||
@@ -23607,7 +23607,7 @@ spec:
|
||||
value: /helm-working-dir
|
||||
- name: HELM_DATA_HOME
|
||||
value: /helm-working-dir
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
@@ -23659,7 +23659,7 @@ spec:
|
||||
- -n
|
||||
- /usr/local/bin/argocd
|
||||
- /var/run/argocd/argocd-cmp-server
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
name: copyutil
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
@@ -24011,7 +24011,7 @@ spec:
|
||||
key: applicationsetcontroller.enable.scm.providers
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
@@ -24337,7 +24337,7 @@ spec:
|
||||
key: controller.ignore.normalizer.jq.timeout
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
name: argocd-application-controller
|
||||
ports:
|
||||
|
||||
16
manifests/namespace-install.yaml
generated
16
manifests/namespace-install.yaml
generated
@@ -811,7 +811,7 @@ spec:
|
||||
key: applicationsetcontroller.webhook.parallelism.limit
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
name: argocd-applicationset-controller
|
||||
ports:
|
||||
@@ -946,7 +946,7 @@ spec:
|
||||
- -n
|
||||
- /usr/local/bin/argocd
|
||||
- /shared/argocd-dex
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
name: copyutil
|
||||
securityContext:
|
||||
@@ -1034,7 +1034,7 @@ spec:
|
||||
key: notificationscontroller.repo.server.plaintext
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
@@ -1134,7 +1134,7 @@ spec:
|
||||
- argocd
|
||||
- admin
|
||||
- redis-initial-password
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: secret-init
|
||||
securityContext:
|
||||
@@ -1387,7 +1387,7 @@ spec:
|
||||
value: /helm-working-dir
|
||||
- name: HELM_DATA_HOME
|
||||
value: /helm-working-dir
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
@@ -1439,7 +1439,7 @@ spec:
|
||||
- -n
|
||||
- /usr/local/bin/argocd
|
||||
- /var/run/argocd/argocd-cmp-server
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
name: copyutil
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
@@ -1791,7 +1791,7 @@ spec:
|
||||
key: applicationsetcontroller.enable.scm.providers
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
@@ -2117,7 +2117,7 @@ spec:
|
||||
key: controller.ignore.normalizer.jq.timeout
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.13.4
|
||||
image: quay.io/argoproj/argocd:v2.13.5
|
||||
imagePullPolicy: Always
|
||||
name: argocd-application-controller
|
||||
ports:
|
||||
|
||||
@@ -640,6 +640,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
|
||||
}
|
||||
|
||||
|
||||
@@ -369,7 +369,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,
|
||||
}
|
||||
@@ -499,11 +500,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()
|
||||
|
||||
@@ -511,7 +514,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"})
|
||||
@@ -691,7 +694,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"})
|
||||
@@ -758,7 +761,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
|
||||
@@ -770,17 +773,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 {
|
||||
|
||||
@@ -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 => (
|
||||
<li key={app.metadata.name} onClick={() => ctx.navigation.goto(getAppUrl(app))}>
|
||||
<li key={app.metadata.name} onClick={() => ctx.navigation.goto(`/${getAppUrl(app)}`)}>
|
||||
{app.metadata.name} {app.metadata.name === props.appName && ' (current)'}
|
||||
</li>
|
||||
))
|
||||
|
||||
Reference in New Issue
Block a user