mirror of
https://github.com/argoproj/argo-cd.git
synced 2026-03-15 12:58:48 +01:00
Compare commits
23 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d855831540 | ||
|
|
6536fd9fb4 | ||
|
|
053bfbe845 | ||
|
|
7b771061e1 | ||
|
|
f8c6bcba65 | ||
|
|
6e9b18ea4b | ||
|
|
7a72b6f2d2 | ||
|
|
51db9bdf79 | ||
|
|
b2c5f5b63c | ||
|
|
7af9dfb352 | ||
|
|
8a39759eb3 | ||
|
|
3981432899 | ||
|
|
af2e16fcaf | ||
|
|
d34bf2cf14 | ||
|
|
194b2894ef | ||
|
|
aab9542f8b | ||
|
|
a85ab6586d | ||
|
|
57abbf95ed | ||
|
|
6a69d737da | ||
|
|
7c98813bb8 | ||
|
|
6868bd4213 | ||
|
|
c7c08426ac | ||
|
|
86d21721a8 |
@@ -62,6 +62,8 @@ COPY --from=builder /usr/local/bin/helm2 /usr/local/bin/helm2
|
||||
COPY --from=builder /usr/local/bin/helm /usr/local/bin/helm
|
||||
COPY --from=builder /usr/local/bin/kustomize /usr/local/bin/kustomize
|
||||
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
|
||||
# keep uid_entrypoint.sh for backward compatibility
|
||||
RUN ln -s /usr/local/bin/entrypoint.sh /usr/local/bin/uid_entrypoint.sh
|
||||
|
||||
# support for mounting configuration from a configmap
|
||||
RUN mkdir -p /app/config/ssh && \
|
||||
|
||||
@@ -3605,6 +3605,9 @@
|
||||
"oidcConfig": {
|
||||
"$ref": "#/definitions/clusterOIDCConfig"
|
||||
},
|
||||
"passwordPattern": {
|
||||
"type": "string"
|
||||
},
|
||||
"plugins": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
|
||||
@@ -63,6 +63,7 @@ func NewCommand() *cobra.Command {
|
||||
frameOptions string
|
||||
repoServerPlaintext bool
|
||||
repoServerStrictTLS bool
|
||||
staticAssetsDir string
|
||||
)
|
||||
var command = &cobra.Command{
|
||||
Use: cliName,
|
||||
@@ -139,6 +140,7 @@ func NewCommand() *cobra.Command {
|
||||
Cache: cache,
|
||||
XFrameOptions: frameOptions,
|
||||
RedisClient: redisClient,
|
||||
StaticAssetsDir: staticAssetsDir,
|
||||
}
|
||||
|
||||
stats.RegisterStackDumper()
|
||||
@@ -157,9 +159,7 @@ func NewCommand() *cobra.Command {
|
||||
|
||||
clientConfig = cli.AddKubectlFlagsToCmd(command)
|
||||
command.Flags().BoolVar(&insecure, "insecure", env.ParseBoolFromEnv("ARGOCD_SERVER_INSECURE", false), "Run server without TLS")
|
||||
var staticAssetsDir string
|
||||
command.Flags().StringVar(&staticAssetsDir, "staticassets", "", "Static assets directory path")
|
||||
_ = command.Flags().MarkDeprecated("staticassets", "The --staticassets flag is not longer supported. Static assets are embedded into binary.")
|
||||
command.Flags().StringVar(&staticAssetsDir, "staticassets", env.StringFromEnv("ARGOCD_SERVER_STATIC_ASSETS", "/shared/app"), "Directory path that contains additional static assets")
|
||||
command.Flags().StringVar(&baseHRef, "basehref", env.StringFromEnv("ARGOCD_SERVER_BASEHREF", "/"), "Value for base href in index.html. Used if Argo CD is running behind reverse proxy under subpath different from /")
|
||||
command.Flags().StringVar(&rootPath, "rootpath", env.StringFromEnv("ARGOCD_SERVER_ROOTPATH", ""), "Used if Argo CD is running behind reverse proxy under subpath different from /")
|
||||
command.Flags().StringVar(&cmdutil.LogFormat, "logformat", env.StringFromEnv("ARGOCD_SERVER_LOGFORMAT", "text"), "Set the logging format. One of: text|json")
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
|
||||
"github.com/argoproj/gitops-engine/pkg/utils/kube"
|
||||
"github.com/ghodss/yaml"
|
||||
"github.com/sirupsen/logrus"
|
||||
log "github.com/sirupsen/logrus"
|
||||
"github.com/spf13/cobra"
|
||||
apierr "k8s.io/apimachinery/pkg/api/errors"
|
||||
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
@@ -88,7 +88,11 @@ func NewExportCommand() *cobra.Command {
|
||||
}
|
||||
applicationSets, err := acdClients.applicationSets.List(context.Background(), v1.ListOptions{})
|
||||
if err != nil && !apierr.IsNotFound(err) {
|
||||
errors.CheckError(err)
|
||||
if apierr.IsForbidden(err) {
|
||||
log.Warn(err)
|
||||
} else {
|
||||
errors.CheckError(err)
|
||||
}
|
||||
}
|
||||
if applicationSets != nil {
|
||||
for _, appSet := range applicationSets.Items {
|
||||
@@ -176,6 +180,17 @@ func NewImportCommand() *cobra.Command {
|
||||
for _, proj := range projects.Items {
|
||||
pruneObjects[kube.ResourceKey{Group: "argoproj.io", Kind: "AppProject", Name: proj.GetName()}] = proj
|
||||
}
|
||||
applicationSets, err := acdClients.applicationSets.List(context.Background(), v1.ListOptions{})
|
||||
if apierr.IsForbidden(err) || apierr.IsNotFound(err) {
|
||||
log.Warnf("argoproj.io/ApplicationSet: %v\n", err)
|
||||
} else {
|
||||
errors.CheckError(err)
|
||||
}
|
||||
if applicationSets != nil {
|
||||
for _, appSet := range applicationSets.Items {
|
||||
pruneObjects[kube.ResourceKey{Group: "argoproj.io", Kind: "ApplicationSet", Name: appSet.GetName()}] = appSet
|
||||
}
|
||||
}
|
||||
|
||||
// Create or replace existing object
|
||||
backupObjects, err := kube.SplitYAML(input)
|
||||
@@ -199,22 +214,39 @@ func NewImportCommand() *cobra.Command {
|
||||
dynClient = acdClients.applicationSets
|
||||
}
|
||||
if !exists {
|
||||
isForbidden := false
|
||||
if !dryRun {
|
||||
_, err = dynClient.Create(context.Background(), bakObj, v1.CreateOptions{})
|
||||
errors.CheckError(err)
|
||||
if apierr.IsForbidden(err) || apierr.IsNotFound(err) {
|
||||
isForbidden = true
|
||||
log.Warnf("%s/%s %s: %v", gvk.Group, gvk.Kind, bakObj.GetName(), err)
|
||||
} else {
|
||||
errors.CheckError(err)
|
||||
}
|
||||
}
|
||||
fmt.Printf("%s/%s %s created%s\n", gvk.Group, gvk.Kind, bakObj.GetName(), dryRunMsg)
|
||||
if !isForbidden {
|
||||
fmt.Printf("%s/%s %s created%s\n", gvk.Group, gvk.Kind, bakObj.GetName(), dryRunMsg)
|
||||
}
|
||||
|
||||
} else if specsEqual(*bakObj, liveObj) {
|
||||
if verbose {
|
||||
fmt.Printf("%s/%s %s unchanged%s\n", gvk.Group, gvk.Kind, bakObj.GetName(), dryRunMsg)
|
||||
}
|
||||
} else {
|
||||
isForbidden := false
|
||||
if !dryRun {
|
||||
newLive := updateLive(bakObj, &liveObj)
|
||||
_, err = dynClient.Update(context.Background(), newLive, v1.UpdateOptions{})
|
||||
errors.CheckError(err)
|
||||
if apierr.IsForbidden(err) || apierr.IsNotFound(err) {
|
||||
isForbidden = true
|
||||
log.Warnf("%s/%s %s: %v", gvk.Group, gvk.Kind, bakObj.GetName(), err)
|
||||
} else {
|
||||
errors.CheckError(err)
|
||||
}
|
||||
}
|
||||
if !isForbidden {
|
||||
fmt.Printf("%s/%s %s updated%s\n", gvk.Group, gvk.Kind, bakObj.GetName(), dryRunMsg)
|
||||
}
|
||||
fmt.Printf("%s/%s %s updated%s\n", gvk.Group, gvk.Kind, bakObj.GetName(), dryRunMsg)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -239,16 +271,24 @@ func NewImportCommand() *cobra.Command {
|
||||
}
|
||||
}
|
||||
}
|
||||
case "ApplicationSet":
|
||||
dynClient = acdClients.applicationSets
|
||||
default:
|
||||
logrus.Fatalf("Unexpected kind '%s' in prune list", key.Kind)
|
||||
log.Fatalf("Unexpected kind '%s' in prune list", key.Kind)
|
||||
}
|
||||
isForbidden := false
|
||||
if !dryRun {
|
||||
err = dynClient.Delete(context.Background(), key.Name, v1.DeleteOptions{})
|
||||
if err != nil && !apierr.IsNotFound(err) {
|
||||
if apierr.IsForbidden(err) || apierr.IsNotFound(err) {
|
||||
isForbidden = true
|
||||
log.Warnf("%s/%s %s: %v\n", key.Group, key.Kind, key.Name, err)
|
||||
} else {
|
||||
errors.CheckError(err)
|
||||
}
|
||||
}
|
||||
fmt.Printf("%s/%s %s pruned%s\n", key.Group, key.Kind, key.Name, dryRunMsg)
|
||||
if !isForbidden {
|
||||
fmt.Printf("%s/%s %s pruned%s\n", key.Group, key.Kind, key.Name, dryRunMsg)
|
||||
}
|
||||
} else {
|
||||
fmt.Printf("%s/%s %s needs pruning\n", key.Group, key.Kind, key.Name)
|
||||
}
|
||||
@@ -304,6 +344,8 @@ func updateLive(bak, live *unstructured.Unstructured) *unstructured.Unstructured
|
||||
if _, ok := bak.Object["status"]; ok {
|
||||
newLive.Object["status"] = bak.Object["status"]
|
||||
}
|
||||
case "ApplicationSet":
|
||||
newLive.Object["spec"] = bak.Object["spec"]
|
||||
}
|
||||
return newLive
|
||||
}
|
||||
|
||||
@@ -70,6 +70,9 @@ const (
|
||||
ChangePasswordSSOTokenMaxAge = time.Minute * 5
|
||||
// GithubAppCredsExpirationDuration is the default time used to cache the GitHub app credentials
|
||||
GithubAppCredsExpirationDuration = time.Minute * 60
|
||||
|
||||
// PasswordPatten is the default password patten
|
||||
PasswordPatten = `^.{8,32}$`
|
||||
)
|
||||
|
||||
// Dex related constants
|
||||
|
||||
@@ -18,6 +18,9 @@ data:
|
||||
# Specifies token expiration duration
|
||||
users.session.duration: "24h"
|
||||
|
||||
# Specifies regex expression for password
|
||||
passwordPattern: "^.{8,32}$"
|
||||
|
||||
# Enables google analytics tracking is specified
|
||||
ga.trackingid: "UA-12345-1"
|
||||
# Unless set to 'false' then user ids are hashed before sending to google analytics
|
||||
|
||||
@@ -48,6 +48,8 @@ data:
|
||||
server.basehref: "/"
|
||||
# Used if Argo CD is running behind reverse proxy under subpath different from /
|
||||
server.rootpath: "/"
|
||||
# Directory path that contains additional static assets
|
||||
server.staticassets: "/shared/app"
|
||||
|
||||
# Set the logging format. One of: text|json (default "text")
|
||||
server.log.format: "text"
|
||||
|
||||
@@ -88,9 +88,10 @@ spec:
|
||||
name: styles
|
||||
```
|
||||
|
||||
Note that the CSS file should be mounted within a subdirectory of the existing "/shared/app" directory
|
||||
Note that the CSS file should be mounted within a subdirectory of the "/shared/app" directory
|
||||
(e.g. "/shared/app/custom"). Otherwise, the file will likely fail to be imported by the browser with an
|
||||
"incorrect MIME type" error.
|
||||
"incorrect MIME type" error. The subdirectory can be changed using `server.staticassets` key of the
|
||||
[argocd-cmd-params-cm.yaml](./argocd-cmd-params-cm.yaml) ConfigMap.
|
||||
|
||||
## Developing Style Overlays
|
||||
The styles specified in the injected CSS file should be specific to components and classes defined in [argo-ui](https://github.com/argoproj/argo-ui).
|
||||
|
||||
@@ -56,6 +56,7 @@ argocd-server [flags]
|
||||
--sentinel stringArray Redis sentinel hostname and port (e.g. argocd-redis-ha-announce-0:6379).
|
||||
--sentinelmaster string Redis sentinel master group name. (default "master")
|
||||
--server string The address and port of the Kubernetes API server
|
||||
--staticassets string Directory path that contains additional static assets (default "/shared/app")
|
||||
--tls-server-name string If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used.
|
||||
--tlsciphers string The list of acceptable ciphers to be used when establishing TLS connections. Use 'list' to list available ciphers. (default "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384:TLS_RSA_WITH_AES_256_GCM_SHA384")
|
||||
--tlsmaxversion string The maximum SSL/TLS version that is acceptable (one of: 1.0|1.1|1.2|1.3) (default "1.3")
|
||||
|
||||
2
go.mod
2
go.mod
@@ -7,7 +7,7 @@ require (
|
||||
github.com/TomOnTime/utfutil v0.0.0-20180511104225-09c41003ee1d
|
||||
github.com/alicebob/miniredis v2.5.0+incompatible
|
||||
github.com/alicebob/miniredis/v2 v2.14.2
|
||||
github.com/argoproj/gitops-engine v0.4.0
|
||||
github.com/argoproj/gitops-engine v0.4.1
|
||||
github.com/argoproj/pkg v0.9.1
|
||||
github.com/bombsimon/logrusr v1.0.0
|
||||
github.com/bradleyfalzon/ghinstallation v1.1.1
|
||||
|
||||
4
go.sum
4
go.sum
@@ -96,8 +96,8 @@ github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo
|
||||
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA=
|
||||
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
|
||||
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
|
||||
github.com/argoproj/gitops-engine v0.4.0 h1:h141jAgWhgp1iGAgfHM1Hg1POvszDNmqyEfTFHsG1CA=
|
||||
github.com/argoproj/gitops-engine v0.4.0/go.mod h1:EdFe8qIOqsmbyxRhtIydU4BUeyZ4VTsY6R3XVQhU9LA=
|
||||
github.com/argoproj/gitops-engine v0.4.1 h1:kBAAWVUBfnhD40sRIEr3XcUcPZHODOmwSXSpySmVWR0=
|
||||
github.com/argoproj/gitops-engine v0.4.1/go.mod h1:EdFe8qIOqsmbyxRhtIydU4BUeyZ4VTsY6R3XVQhU9LA=
|
||||
github.com/argoproj/pkg v0.9.1 h1:osfOS3QkzfRf+W43lbCZb0o0bzrBweQhL+U3rgEg+5M=
|
||||
github.com/argoproj/pkg v0.9.1/go.mod h1:ra+bQPmbVAoEL+gYSKesuigt4m49i3Qa3mE/xQcjCiA=
|
||||
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
|
||||
|
||||
@@ -31,6 +31,7 @@ $KUSTOMIZE version
|
||||
|
||||
cd ${SRCROOT}/manifests/base && $KUSTOMIZE edit set image quay.io/argoproj/argocd=${IMAGE_NAMESPACE}/argocd:${IMAGE_TAG}
|
||||
cd ${SRCROOT}/manifests/ha/base && $KUSTOMIZE edit set image quay.io/argoproj/argocd=${IMAGE_NAMESPACE}/argocd:${IMAGE_TAG}
|
||||
cd ${SRCROOT}/manifests/core-install && $KUSTOMIZE edit set image quay.io/argoproj/argocd=${IMAGE_NAMESPACE}/argocd:${IMAGE_TAG}
|
||||
|
||||
echo "${AUTOGENMSG}" > "${SRCROOT}/manifests/install.yaml"
|
||||
$KUSTOMIZE build "${SRCROOT}/manifests/cluster-install" >> "${SRCROOT}/manifests/install.yaml"
|
||||
|
||||
@@ -5,7 +5,7 @@ kind: Kustomization
|
||||
images:
|
||||
- name: quay.io/argoproj/argocd
|
||||
newName: quay.io/argoproj/argocd
|
||||
newTag: v2.1.0
|
||||
newTag: v2.1.3
|
||||
resources:
|
||||
- ./application-controller
|
||||
- ./dex
|
||||
|
||||
@@ -98,6 +98,12 @@ spec:
|
||||
name: argocd-cmd-params-cm
|
||||
key: reposerver.default.cache.expiration
|
||||
optional: true
|
||||
- name: HELM_CACHE_HOME
|
||||
value: /helm-working-dir
|
||||
- name: HELM_CONFIG_HOME
|
||||
value: /helm-working-dir
|
||||
- name: HELM_DATA_HOME
|
||||
value: /helm-working-dir
|
||||
ports:
|
||||
- containerPort: 8081
|
||||
- containerPort: 8084
|
||||
@@ -134,6 +140,8 @@ spec:
|
||||
mountPath: /app/config/reposerver/tls
|
||||
- name: tmp
|
||||
mountPath: /tmp
|
||||
- mountPath: /helm-working-dir
|
||||
name: helm-working-dir
|
||||
volumes:
|
||||
- name: ssh-known-hosts
|
||||
configMap:
|
||||
@@ -148,6 +156,8 @@ spec:
|
||||
emptyDir: {}
|
||||
- name: tmp
|
||||
emptyDir: {}
|
||||
- name: helm-working-dir
|
||||
emptyDir: {}
|
||||
- name: argocd-repo-server-tls
|
||||
secret:
|
||||
secretName: argocd-repo-server-tls
|
||||
|
||||
@@ -136,6 +136,12 @@ spec:
|
||||
name: argocd-cmd-params-cm
|
||||
key: server.login.attempts.expiration
|
||||
optional: true
|
||||
- name: ARGOCD_SERVER_STATIC_ASSETS
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: argocd-cmd-params-cm
|
||||
key: server.staticassets
|
||||
optional: true
|
||||
- name: ARGOCD_APP_STATE_CACHE_EXPIRATION
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
|
||||
@@ -2982,7 +2982,13 @@ spec:
|
||||
key: reposerver.default.cache.expiration
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:latest
|
||||
- name: HELM_CACHE_HOME
|
||||
value: /helm-working-dir
|
||||
- name: HELM_CONFIG_HOME
|
||||
value: /helm-working-dir
|
||||
- name: HELM_DATA_HOME
|
||||
value: /helm-working-dir
|
||||
image: quay.io/argoproj/argocd:v2.1.3
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
@@ -3021,6 +3027,8 @@ spec:
|
||||
name: argocd-repo-server-tls
|
||||
- mountPath: /tmp
|
||||
name: tmp
|
||||
- mountPath: /helm-working-dir
|
||||
name: helm-working-dir
|
||||
volumes:
|
||||
- configMap:
|
||||
name: argocd-ssh-known-hosts-cm
|
||||
@@ -3035,6 +3043,8 @@ spec:
|
||||
name: gpg-keyring
|
||||
- emptyDir: {}
|
||||
name: tmp
|
||||
- emptyDir: {}
|
||||
name: helm-working-dir
|
||||
- name: argocd-repo-server-tls
|
||||
secret:
|
||||
items:
|
||||
@@ -3175,7 +3185,7 @@ spec:
|
||||
key: controller.default.cache.expiration
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:latest
|
||||
image: quay.io/argoproj/argocd:v2.1.3
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
|
||||
@@ -7,4 +7,8 @@ resources:
|
||||
- ../base/config
|
||||
- ../base/application-controller
|
||||
- ../base/repo-server
|
||||
- ../base/redis
|
||||
- ../base/redis
|
||||
images:
|
||||
- name: quay.io/argoproj/argocd
|
||||
newName: quay.io/argoproj/argocd
|
||||
newTag: v2.1.3
|
||||
|
||||
@@ -11,7 +11,7 @@ patchesStrategicMerge:
|
||||
images:
|
||||
- name: quay.io/argoproj/argocd
|
||||
newName: quay.io/argoproj/argocd
|
||||
newTag: v2.1.0
|
||||
newTag: v2.1.3
|
||||
resources:
|
||||
- ../../base/application-controller
|
||||
- ../../base/dex
|
||||
|
||||
@@ -770,7 +770,7 @@ spec:
|
||||
topologyKey: kubernetes.io/hostname
|
||||
initContainers:
|
||||
- name: config-init
|
||||
image: haproxy:2.0.22-alpine
|
||||
image: haproxy:2.0.25-alpine
|
||||
imagePullPolicy: IfNotPresent
|
||||
resources:
|
||||
{}
|
||||
@@ -790,7 +790,7 @@ spec:
|
||||
runAsUser: 1000
|
||||
containers:
|
||||
- name: haproxy
|
||||
image: haproxy:2.0.22-alpine
|
||||
image: haproxy:2.0.25-alpine
|
||||
imagePullPolicy: IfNotPresent
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
|
||||
@@ -9,7 +9,7 @@ redis-ha:
|
||||
haproxy:
|
||||
enabled: true
|
||||
image:
|
||||
tag: 2.0.22-alpine
|
||||
tag: 2.0.25-alpine
|
||||
timeout:
|
||||
server: 6m
|
||||
client: 6m
|
||||
|
||||
@@ -3684,7 +3684,7 @@ spec:
|
||||
- -n
|
||||
- /usr/local/bin/argocd
|
||||
- /shared/argocd-dex
|
||||
image: quay.io/argoproj/argocd:v2.1.0
|
||||
image: quay.io/argoproj/argocd:v2.1.3
|
||||
imagePullPolicy: Always
|
||||
name: copyutil
|
||||
volumeMounts:
|
||||
@@ -3731,7 +3731,7 @@ spec:
|
||||
app.kubernetes.io/name: argocd-redis-ha-haproxy
|
||||
topologyKey: kubernetes.io/hostname
|
||||
containers:
|
||||
- image: haproxy:2.0.22-alpine
|
||||
- image: haproxy:2.0.25-alpine
|
||||
imagePullPolicy: IfNotPresent
|
||||
lifecycle: {}
|
||||
livenessProbe:
|
||||
@@ -3760,7 +3760,7 @@ spec:
|
||||
- /readonly/haproxy_init.sh
|
||||
command:
|
||||
- sh
|
||||
image: haproxy:2.0.22-alpine
|
||||
image: haproxy:2.0.25-alpine
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: config-init
|
||||
volumeMounts:
|
||||
@@ -3895,7 +3895,13 @@ spec:
|
||||
key: reposerver.default.cache.expiration
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.1.0
|
||||
- name: HELM_CACHE_HOME
|
||||
value: /helm-working-dir
|
||||
- name: HELM_CONFIG_HOME
|
||||
value: /helm-working-dir
|
||||
- name: HELM_DATA_HOME
|
||||
value: /helm-working-dir
|
||||
image: quay.io/argoproj/argocd:v2.1.3
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
@@ -3934,6 +3940,8 @@ spec:
|
||||
name: argocd-repo-server-tls
|
||||
- mountPath: /tmp
|
||||
name: tmp
|
||||
- mountPath: /helm-working-dir
|
||||
name: helm-working-dir
|
||||
volumes:
|
||||
- configMap:
|
||||
name: argocd-ssh-known-hosts-cm
|
||||
@@ -3948,6 +3956,8 @@ spec:
|
||||
name: gpg-keyring
|
||||
- emptyDir: {}
|
||||
name: tmp
|
||||
- emptyDir: {}
|
||||
name: helm-working-dir
|
||||
- name: argocd-repo-server-tls
|
||||
secret:
|
||||
items:
|
||||
@@ -4114,6 +4124,12 @@ spec:
|
||||
key: server.login.attempts.expiration
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
- name: ARGOCD_SERVER_STATIC_ASSETS
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: server.staticassets
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
- name: ARGOCD_APP_STATE_CACHE_EXPIRATION
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
@@ -4138,7 +4154,7 @@ spec:
|
||||
key: server.default.cache.expiration
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.1.0
|
||||
image: quay.io/argoproj/argocd:v2.1.3
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
@@ -4334,7 +4350,7 @@ spec:
|
||||
key: controller.default.cache.expiration
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.1.0
|
||||
image: quay.io/argoproj/argocd:v2.1.3
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
|
||||
@@ -1071,7 +1071,7 @@ spec:
|
||||
- -n
|
||||
- /usr/local/bin/argocd
|
||||
- /shared/argocd-dex
|
||||
image: quay.io/argoproj/argocd:v2.1.0
|
||||
image: quay.io/argoproj/argocd:v2.1.3
|
||||
imagePullPolicy: Always
|
||||
name: copyutil
|
||||
volumeMounts:
|
||||
@@ -1118,7 +1118,7 @@ spec:
|
||||
app.kubernetes.io/name: argocd-redis-ha-haproxy
|
||||
topologyKey: kubernetes.io/hostname
|
||||
containers:
|
||||
- image: haproxy:2.0.22-alpine
|
||||
- image: haproxy:2.0.25-alpine
|
||||
imagePullPolicy: IfNotPresent
|
||||
lifecycle: {}
|
||||
livenessProbe:
|
||||
@@ -1147,7 +1147,7 @@ spec:
|
||||
- /readonly/haproxy_init.sh
|
||||
command:
|
||||
- sh
|
||||
image: haproxy:2.0.22-alpine
|
||||
image: haproxy:2.0.25-alpine
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: config-init
|
||||
volumeMounts:
|
||||
@@ -1282,7 +1282,13 @@ spec:
|
||||
key: reposerver.default.cache.expiration
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.1.0
|
||||
- name: HELM_CACHE_HOME
|
||||
value: /helm-working-dir
|
||||
- name: HELM_CONFIG_HOME
|
||||
value: /helm-working-dir
|
||||
- name: HELM_DATA_HOME
|
||||
value: /helm-working-dir
|
||||
image: quay.io/argoproj/argocd:v2.1.3
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
@@ -1321,6 +1327,8 @@ spec:
|
||||
name: argocd-repo-server-tls
|
||||
- mountPath: /tmp
|
||||
name: tmp
|
||||
- mountPath: /helm-working-dir
|
||||
name: helm-working-dir
|
||||
volumes:
|
||||
- configMap:
|
||||
name: argocd-ssh-known-hosts-cm
|
||||
@@ -1335,6 +1343,8 @@ spec:
|
||||
name: gpg-keyring
|
||||
- emptyDir: {}
|
||||
name: tmp
|
||||
- emptyDir: {}
|
||||
name: helm-working-dir
|
||||
- name: argocd-repo-server-tls
|
||||
secret:
|
||||
items:
|
||||
@@ -1501,6 +1511,12 @@ spec:
|
||||
key: server.login.attempts.expiration
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
- name: ARGOCD_SERVER_STATIC_ASSETS
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: server.staticassets
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
- name: ARGOCD_APP_STATE_CACHE_EXPIRATION
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
@@ -1525,7 +1541,7 @@ spec:
|
||||
key: server.default.cache.expiration
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.1.0
|
||||
image: quay.io/argoproj/argocd:v2.1.3
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
@@ -1721,7 +1737,7 @@ spec:
|
||||
key: controller.default.cache.expiration
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.1.0
|
||||
image: quay.io/argoproj/argocd:v2.1.3
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
|
||||
@@ -3049,7 +3049,7 @@ spec:
|
||||
- -n
|
||||
- /usr/local/bin/argocd
|
||||
- /shared/argocd-dex
|
||||
image: quay.io/argoproj/argocd:v2.1.0
|
||||
image: quay.io/argoproj/argocd:v2.1.3
|
||||
imagePullPolicy: Always
|
||||
name: copyutil
|
||||
volumeMounts:
|
||||
@@ -3224,7 +3224,13 @@ spec:
|
||||
key: reposerver.default.cache.expiration
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.1.0
|
||||
- name: HELM_CACHE_HOME
|
||||
value: /helm-working-dir
|
||||
- name: HELM_CONFIG_HOME
|
||||
value: /helm-working-dir
|
||||
- name: HELM_DATA_HOME
|
||||
value: /helm-working-dir
|
||||
image: quay.io/argoproj/argocd:v2.1.3
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
@@ -3263,6 +3269,8 @@ spec:
|
||||
name: argocd-repo-server-tls
|
||||
- mountPath: /tmp
|
||||
name: tmp
|
||||
- mountPath: /helm-working-dir
|
||||
name: helm-working-dir
|
||||
volumes:
|
||||
- configMap:
|
||||
name: argocd-ssh-known-hosts-cm
|
||||
@@ -3277,6 +3285,8 @@ spec:
|
||||
name: gpg-keyring
|
||||
- emptyDir: {}
|
||||
name: tmp
|
||||
- emptyDir: {}
|
||||
name: helm-working-dir
|
||||
- name: argocd-repo-server-tls
|
||||
secret:
|
||||
items:
|
||||
@@ -3439,6 +3449,12 @@ spec:
|
||||
key: server.login.attempts.expiration
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
- name: ARGOCD_SERVER_STATIC_ASSETS
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: server.staticassets
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
- name: ARGOCD_APP_STATE_CACHE_EXPIRATION
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
@@ -3463,7 +3479,7 @@ spec:
|
||||
key: server.default.cache.expiration
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.1.0
|
||||
image: quay.io/argoproj/argocd:v2.1.3
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
@@ -3653,7 +3669,7 @@ spec:
|
||||
key: controller.default.cache.expiration
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.1.0
|
||||
image: quay.io/argoproj/argocd:v2.1.3
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
|
||||
@@ -436,7 +436,7 @@ spec:
|
||||
- -n
|
||||
- /usr/local/bin/argocd
|
||||
- /shared/argocd-dex
|
||||
image: quay.io/argoproj/argocd:v2.1.0
|
||||
image: quay.io/argoproj/argocd:v2.1.3
|
||||
imagePullPolicy: Always
|
||||
name: copyutil
|
||||
volumeMounts:
|
||||
@@ -611,7 +611,13 @@ spec:
|
||||
key: reposerver.default.cache.expiration
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.1.0
|
||||
- name: HELM_CACHE_HOME
|
||||
value: /helm-working-dir
|
||||
- name: HELM_CONFIG_HOME
|
||||
value: /helm-working-dir
|
||||
- name: HELM_DATA_HOME
|
||||
value: /helm-working-dir
|
||||
image: quay.io/argoproj/argocd:v2.1.3
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
@@ -650,6 +656,8 @@ spec:
|
||||
name: argocd-repo-server-tls
|
||||
- mountPath: /tmp
|
||||
name: tmp
|
||||
- mountPath: /helm-working-dir
|
||||
name: helm-working-dir
|
||||
volumes:
|
||||
- configMap:
|
||||
name: argocd-ssh-known-hosts-cm
|
||||
@@ -664,6 +672,8 @@ spec:
|
||||
name: gpg-keyring
|
||||
- emptyDir: {}
|
||||
name: tmp
|
||||
- emptyDir: {}
|
||||
name: helm-working-dir
|
||||
- name: argocd-repo-server-tls
|
||||
secret:
|
||||
items:
|
||||
@@ -826,6 +836,12 @@ spec:
|
||||
key: server.login.attempts.expiration
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
- name: ARGOCD_SERVER_STATIC_ASSETS
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: server.staticassets
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
- name: ARGOCD_APP_STATE_CACHE_EXPIRATION
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
@@ -850,7 +866,7 @@ spec:
|
||||
key: server.default.cache.expiration
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.1.0
|
||||
image: quay.io/argoproj/argocd:v2.1.3
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
@@ -1040,7 +1056,7 @@ spec:
|
||||
key: controller.default.cache.expiration
|
||||
name: argocd-cmd-params-cm
|
||||
optional: true
|
||||
image: quay.io/argoproj/argocd:v2.1.0
|
||||
image: quay.io/argoproj/argocd:v2.1.3
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
|
||||
@@ -92,6 +92,7 @@ type Settings struct {
|
||||
UiCssURL string `protobuf:"bytes,14,opt,name=uiCssURL,proto3" json:"uiCssURL,omitempty"`
|
||||
UiBannerContent string `protobuf:"bytes,15,opt,name=uiBannerContent,proto3" json:"uiBannerContent,omitempty"`
|
||||
UiBannerURL string `protobuf:"bytes,16,opt,name=uiBannerURL,proto3" json:"uiBannerURL,omitempty"`
|
||||
PasswordPattern string `protobuf:"bytes,17,opt,name=passwordPattern,proto3" json:"passwordPattern,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
@@ -242,6 +243,13 @@ func (m *Settings) GetUiBannerURL() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *Settings) GetPasswordPattern() string {
|
||||
if m != nil {
|
||||
return m.PasswordPattern
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type GoogleAnalyticsConfig struct {
|
||||
TrackingID string `protobuf:"bytes,1,opt,name=trackingID,proto3" json:"trackingID,omitempty"`
|
||||
AnonymizeUsers bool `protobuf:"varint,2,opt,name=anonymizeUsers,proto3" json:"anonymizeUsers,omitempty"`
|
||||
@@ -609,68 +617,70 @@ func init() {
|
||||
func init() { proto.RegisterFile("server/settings/settings.proto", fileDescriptor_a480d494da040caa) }
|
||||
|
||||
var fileDescriptor_a480d494da040caa = []byte{
|
||||
// 976 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xcf, 0x6f, 0x1b, 0xc5,
|
||||
0x17, 0xd7, 0xc6, 0x69, 0x62, 0x3f, 0x37, 0x71, 0x32, 0xdf, 0x2f, 0x61, 0xb1, 0x2a, 0xc7, 0xf8,
|
||||
0x50, 0x19, 0x09, 0x76, 0x89, 0x2b, 0x04, 0x42, 0x48, 0x80, 0xd7, 0x55, 0x6b, 0xea, 0x92, 0x32,
|
||||
0x4d, 0x7a, 0x40, 0x42, 0xd1, 0x64, 0x77, 0xd8, 0x0c, 0xde, 0xcc, 0xac, 0x66, 0x66, 0xad, 0xba,
|
||||
0x47, 0x6e, 0x5c, 0xb8, 0xc0, 0x1f, 0xd5, 0x23, 0x12, 0x77, 0x0b, 0x59, 0xfc, 0x21, 0x68, 0x67,
|
||||
0x7f, 0x64, 0x63, 0x9b, 0x1f, 0x52, 0x6f, 0x6f, 0xde, 0xe7, 0xfd, 0x9a, 0x37, 0x9f, 0x7d, 0x6f,
|
||||
0xa1, 0xa3, 0xa8, 0x9c, 0x51, 0xe9, 0x2a, 0xaa, 0x35, 0xe3, 0xa1, 0x2a, 0x05, 0x27, 0x96, 0x42,
|
||||
0x0b, 0xb4, 0xeb, 0x47, 0x89, 0xd2, 0x54, 0xb6, 0xff, 0x1f, 0x8a, 0x50, 0x18, 0x9d, 0x9b, 0x4a,
|
||||
0x19, 0xdc, 0xbe, 0x17, 0x0a, 0x11, 0x46, 0xd4, 0x25, 0x31, 0x73, 0x09, 0xe7, 0x42, 0x13, 0xcd,
|
||||
0x04, 0xcf, 0x9d, 0xdb, 0x93, 0x90, 0xe9, 0xab, 0xe4, 0xd2, 0xf1, 0xc5, 0xb5, 0x4b, 0xa4, 0x71,
|
||||
0xff, 0xc1, 0x08, 0x1f, 0xf8, 0x81, 0x3b, 0x1b, 0xb8, 0xf1, 0x34, 0x4c, 0x3d, 0x95, 0x4b, 0xe2,
|
||||
0x38, 0x62, 0xbe, 0xf1, 0x75, 0x67, 0x27, 0x24, 0x8a, 0xaf, 0xc8, 0x89, 0x1b, 0x52, 0x4e, 0x25,
|
||||
0xd1, 0x34, 0xc8, 0xa3, 0x7d, 0xf1, 0x2f, 0xd1, 0x56, 0x6f, 0x22, 0x58, 0xe0, 0xbb, 0x7e, 0x44,
|
||||
0xd8, 0x75, 0x5e, 0x4f, 0xaf, 0x05, 0x7b, 0xcf, 0x73, 0xf4, 0x9b, 0x84, 0xca, 0x79, 0xef, 0x75,
|
||||
0x1d, 0xea, 0x85, 0x06, 0xbd, 0x03, 0xb5, 0x44, 0x46, 0xb6, 0xd5, 0xb5, 0xfa, 0x8d, 0xe1, 0xee,
|
||||
0x72, 0x71, 0x5c, 0x3b, 0xc7, 0x13, 0x9c, 0xea, 0xd0, 0x87, 0xd0, 0x08, 0xe8, 0x4b, 0x4f, 0xf0,
|
||||
0xef, 0x59, 0x68, 0x6f, 0x75, 0xad, 0x7e, 0x73, 0x80, 0x9c, 0xbc, 0x33, 0xce, 0xa8, 0x40, 0xf0,
|
||||
0x8d, 0x11, 0xf2, 0x00, 0xd2, 0xfc, 0xb9, 0x4b, 0xcd, 0xb8, 0xfc, 0xaf, 0x74, 0x39, 0x1d, 0x8f,
|
||||
0xbc, 0x0c, 0x1a, 0xee, 0x2f, 0x17, 0xc7, 0x70, 0x73, 0xc6, 0x15, 0x37, 0xd4, 0x85, 0x26, 0x89,
|
||||
0xe3, 0x09, 0xb9, 0xa4, 0xd1, 0x13, 0x3a, 0xb7, 0xb7, 0xd3, 0xca, 0x70, 0x55, 0x85, 0x5e, 0xc0,
|
||||
0xa1, 0xa4, 0x4a, 0x24, 0xd2, 0xa7, 0xa7, 0x33, 0x2a, 0x25, 0x0b, 0xa8, 0xb2, 0xef, 0x74, 0x6b,
|
||||
0xfd, 0xe6, 0xa0, 0x5f, 0x66, 0x2b, 0x6e, 0xe8, 0xe0, 0x55, 0xd3, 0x87, 0x5c, 0xcb, 0x39, 0x5e,
|
||||
0x0f, 0x81, 0x1c, 0x40, 0x4a, 0x13, 0x9d, 0xa8, 0x21, 0x09, 0x42, 0xfa, 0x90, 0x93, 0xcb, 0x88,
|
||||
0x06, 0xf6, 0x4e, 0xd7, 0xea, 0xd7, 0xf1, 0x06, 0x04, 0x3d, 0x86, 0x56, 0xc6, 0x84, 0x2f, 0x39,
|
||||
0x89, 0xe6, 0x9a, 0xf9, 0xca, 0xde, 0x35, 0x77, 0xee, 0x94, 0x55, 0x3c, 0xba, 0x8d, 0xe7, 0xd7,
|
||||
0x5d, 0x75, 0x43, 0xaf, 0xe0, 0x60, 0x9a, 0x28, 0x2d, 0xae, 0xd9, 0x2b, 0x7a, 0x1a, 0x1b, 0x36,
|
||||
0xd9, 0x75, 0x13, 0xea, 0x6b, 0xe7, 0x86, 0x00, 0x4e, 0x41, 0x00, 0x23, 0x5c, 0xf8, 0x81, 0x33,
|
||||
0x1b, 0x38, 0xf1, 0x34, 0x74, 0x52, 0x3a, 0x39, 0x15, 0x3a, 0x39, 0x05, 0x9d, 0x9c, 0x27, 0x2b,
|
||||
0x51, 0xf1, 0x5a, 0x1e, 0xf4, 0x2e, 0x6c, 0x5f, 0xd1, 0x28, 0xb6, 0x1b, 0x26, 0xdf, 0x5e, 0x59,
|
||||
0xfa, 0x63, 0x1a, 0xc5, 0xd8, 0x40, 0xe8, 0x3d, 0xd8, 0x8d, 0xa3, 0x24, 0x64, 0x5c, 0xd9, 0x60,
|
||||
0xda, 0xdc, 0x2a, 0xad, 0x9e, 0x19, 0x3d, 0x2e, 0xf0, 0xb4, 0x87, 0x89, 0xa2, 0x72, 0x22, 0xd2,
|
||||
0xd3, 0x88, 0xa9, 0xac, 0x87, 0xcd, 0xac, 0x87, 0xeb, 0x08, 0xfa, 0xd9, 0x82, 0xb7, 0x7d, 0xd3,
|
||||
0x95, 0xa7, 0x84, 0x93, 0x90, 0x5e, 0x53, 0xae, 0x9f, 0xe5, 0xb9, 0xee, 0x9a, 0x5c, 0x67, 0x6f,
|
||||
0xd6, 0x01, 0x6f, 0x63, 0x70, 0xfc, 0x77, 0x49, 0xd1, 0xfb, 0x70, 0x58, 0xb6, 0xe8, 0x05, 0x95,
|
||||
0xca, 0xbc, 0xc5, 0x5e, 0xb7, 0xd6, 0x6f, 0xe0, 0x75, 0x00, 0xb5, 0xa1, 0x9e, 0x30, 0x4f, 0xa9,
|
||||
0x73, 0x3c, 0xb1, 0xf7, 0x0d, 0x53, 0xcb, 0x33, 0xea, 0x43, 0x2b, 0x61, 0x43, 0xc2, 0x39, 0x95,
|
||||
0x9e, 0xe0, 0x9a, 0x72, 0x6d, 0xb7, 0x8c, 0xc9, 0xaa, 0x3a, 0xa5, 0x7c, 0xa1, 0x4a, 0x03, 0x1d,
|
||||
0x64, 0x94, 0xaf, 0xa8, 0xda, 0xbf, 0x5a, 0x70, 0xb4, 0x99, 0xc8, 0xe8, 0x00, 0x6a, 0x53, 0x3a,
|
||||
0xcf, 0xbe, 0x60, 0x9c, 0x8a, 0x28, 0x80, 0x3b, 0x33, 0x12, 0x25, 0x34, 0xff, 0x68, 0xdf, 0x90,
|
||||
0x42, 0xab, 0x69, 0x71, 0x16, 0xfc, 0xd3, 0xad, 0x4f, 0xac, 0xde, 0x05, 0xbc, 0xb5, 0x91, 0xe1,
|
||||
0xa8, 0x03, 0xa0, 0x25, 0xf1, 0xa7, 0x8c, 0x87, 0xe3, 0x51, 0x5e, 0x5b, 0x45, 0x83, 0xee, 0xc3,
|
||||
0x3e, 0xe1, 0x82, 0xcf, 0xd3, 0x66, 0x9e, 0x2b, 0x2a, 0x95, 0xa9, 0xb5, 0x8e, 0x57, 0xb4, 0xbd,
|
||||
0xcf, 0x60, 0x3b, 0xe5, 0x21, 0xb2, 0x61, 0xd7, 0xbf, 0x22, 0xfa, 0xbc, 0x18, 0x55, 0xb8, 0x38,
|
||||
0xa6, 0x2f, 0x90, 0x8a, 0x67, 0xf4, 0xa5, 0x36, 0x31, 0x1a, 0xb8, 0x3c, 0xf7, 0xee, 0xc1, 0x4e,
|
||||
0xf6, 0xac, 0x08, 0xc1, 0x36, 0x27, 0xd7, 0x34, 0x77, 0x36, 0x72, 0xef, 0x73, 0x68, 0x94, 0x53,
|
||||
0x0c, 0x0d, 0x00, 0x7c, 0xc1, 0x39, 0xf5, 0xb5, 0x90, 0xca, 0xb6, 0x0c, 0xf3, 0x6e, 0xa6, 0x9d,
|
||||
0x57, 0x40, 0xb8, 0x62, 0xd5, 0x7b, 0x00, 0x8d, 0x12, 0xd8, 0x94, 0x21, 0xd5, 0xe9, 0x79, 0x4c,
|
||||
0xf3, 0xba, 0x8c, 0xdc, 0xfb, 0xa9, 0x06, 0x95, 0xc9, 0xb7, 0xd1, 0xed, 0x08, 0x76, 0x98, 0x52,
|
||||
0x09, 0x95, 0xb9, 0x63, 0x7e, 0x42, 0x7d, 0xa8, 0xfb, 0x11, 0xa3, 0x5c, 0x8f, 0x47, 0x66, 0xb8,
|
||||
0x36, 0x86, 0x77, 0x97, 0x8b, 0xe3, 0xba, 0x97, 0xeb, 0x70, 0x89, 0xa2, 0x13, 0x68, 0xfa, 0x11,
|
||||
0x2b, 0x80, 0x6c, 0x86, 0x0e, 0x5b, 0xcb, 0xc5, 0x71, 0xd3, 0x9b, 0x8c, 0x4b, 0xfb, 0xaa, 0x4d,
|
||||
0x9a, 0x54, 0xf9, 0x22, 0xce, 0x27, 0x69, 0x03, 0xe7, 0x27, 0x74, 0x01, 0x7b, 0x2c, 0x38, 0x13,
|
||||
0x53, 0xca, 0x3d, 0xb3, 0x55, 0xec, 0x1d, 0xd3, 0x9b, 0xfb, 0x1b, 0xc6, 0xba, 0x33, 0xae, 0x1a,
|
||||
0x1a, 0x76, 0x0e, 0x0f, 0x97, 0x8b, 0xe3, 0xbd, 0xf1, 0xa8, 0xa2, 0xc7, 0xb7, 0xe3, 0xb5, 0xe7,
|
||||
0x80, 0xd6, 0xfd, 0x36, 0xb0, 0xfa, 0xe9, 0x6d, 0x56, 0x7f, 0xfc, 0x8f, 0xac, 0xce, 0xd6, 0xa2,
|
||||
0x53, 0xee, 0xf5, 0x74, 0xbf, 0x38, 0x26, 0x7e, 0x85, 0xbe, 0x83, 0xef, 0xa0, 0x55, 0xac, 0x89,
|
||||
0xe7, 0x54, 0xce, 0x98, 0x4f, 0xd1, 0x57, 0x50, 0x7b, 0x44, 0x35, 0x3a, 0x5a, 0xdb, 0x23, 0x66,
|
||||
0x77, 0xb6, 0x0f, 0xd7, 0xf4, 0x3d, 0xfb, 0xc7, 0xdf, 0xff, 0xfc, 0x65, 0x0b, 0xa1, 0x03, 0xf3,
|
||||
0x3f, 0x30, 0x3b, 0x29, 0x77, 0xf1, 0xd0, 0x7b, 0xbd, 0xec, 0x58, 0xbf, 0x2d, 0x3b, 0xd6, 0x1f,
|
||||
0xcb, 0x8e, 0xf5, 0xed, 0x47, 0xff, 0xed, 0xbf, 0x20, 0x7b, 0xc3, 0x32, 0xc8, 0xe5, 0x8e, 0xd9,
|
||||
0xe2, 0x0f, 0xfe, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x71, 0x4d, 0xb0, 0xe8, 0xb4, 0x08, 0x00, 0x00,
|
||||
// 996 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0x4f, 0x6f, 0xe3, 0x44,
|
||||
0x14, 0x97, 0x9b, 0x6e, 0x9b, 0xbc, 0x6c, 0x9b, 0x76, 0x80, 0x62, 0xa2, 0x55, 0x1a, 0x72, 0x58,
|
||||
0x05, 0x09, 0x6c, 0x9a, 0x15, 0x02, 0x21, 0x24, 0x20, 0xce, 0x6a, 0x37, 0x6c, 0x96, 0x96, 0xd9,
|
||||
0x76, 0x0f, 0x48, 0xa8, 0x9a, 0xda, 0x83, 0x3b, 0xc4, 0x9d, 0xb1, 0x66, 0xc6, 0x61, 0xb3, 0x47,
|
||||
0x6e, 0x5c, 0xb8, 0xc0, 0x87, 0xe2, 0x88, 0xc4, 0xbd, 0x42, 0x11, 0x9f, 0x80, 0x4f, 0x80, 0x3c,
|
||||
0xfe, 0x53, 0x37, 0x09, 0x7f, 0xa4, 0xbd, 0xbd, 0xf9, 0xbd, 0xf7, 0x7e, 0x6f, 0xfc, 0xfc, 0xf3,
|
||||
0x7b, 0x86, 0x8e, 0xa2, 0x72, 0x46, 0xa5, 0xab, 0xa8, 0xd6, 0x8c, 0x87, 0xaa, 0x34, 0x9c, 0x58,
|
||||
0x0a, 0x2d, 0xd0, 0xb6, 0x1f, 0x25, 0x4a, 0x53, 0xd9, 0x7e, 0x3d, 0x14, 0xa1, 0x30, 0x98, 0x9b,
|
||||
0x5a, 0x99, 0xbb, 0x7d, 0x2f, 0x14, 0x22, 0x8c, 0xa8, 0x4b, 0x62, 0xe6, 0x12, 0xce, 0x85, 0x26,
|
||||
0x9a, 0x09, 0x9e, 0x27, 0xb7, 0x27, 0x21, 0xd3, 0x97, 0xc9, 0x85, 0xe3, 0x8b, 0x2b, 0x97, 0x48,
|
||||
0x93, 0xfe, 0x9d, 0x31, 0xde, 0xf3, 0x03, 0x77, 0x36, 0x70, 0xe3, 0x69, 0x98, 0x66, 0x2a, 0x97,
|
||||
0xc4, 0x71, 0xc4, 0x7c, 0x93, 0xeb, 0xce, 0x8e, 0x48, 0x14, 0x5f, 0x92, 0x23, 0x37, 0xa4, 0x9c,
|
||||
0x4a, 0xa2, 0x69, 0x90, 0xb3, 0x7d, 0xf6, 0x1f, 0x6c, 0xcb, 0x4f, 0x22, 0x58, 0xe0, 0xbb, 0x7e,
|
||||
0x44, 0xd8, 0x55, 0x7e, 0x9f, 0x5e, 0x0b, 0x76, 0x9e, 0xe5, 0xde, 0xaf, 0x12, 0x2a, 0xe7, 0xbd,
|
||||
0xbf, 0xea, 0x50, 0x2f, 0x10, 0xf4, 0x16, 0xd4, 0x12, 0x19, 0xd9, 0x56, 0xd7, 0xea, 0x37, 0x86,
|
||||
0xdb, 0x8b, 0xeb, 0xc3, 0xda, 0x19, 0x9e, 0xe0, 0x14, 0x43, 0xef, 0x43, 0x23, 0xa0, 0x2f, 0x3c,
|
||||
0xc1, 0xbf, 0x65, 0xa1, 0xbd, 0xd1, 0xb5, 0xfa, 0xcd, 0x01, 0x72, 0xf2, 0xce, 0x38, 0xa3, 0xc2,
|
||||
0x83, 0x6f, 0x82, 0x90, 0x07, 0x90, 0xd6, 0xcf, 0x53, 0x6a, 0x26, 0xe5, 0xb5, 0x32, 0xe5, 0x78,
|
||||
0x3c, 0xf2, 0x32, 0xd7, 0x70, 0x77, 0x71, 0x7d, 0x08, 0x37, 0x67, 0x5c, 0x49, 0x43, 0x5d, 0x68,
|
||||
0x92, 0x38, 0x9e, 0x90, 0x0b, 0x1a, 0x3d, 0xa1, 0x73, 0x7b, 0x33, 0xbd, 0x19, 0xae, 0x42, 0xe8,
|
||||
0x39, 0xec, 0x4b, 0xaa, 0x44, 0x22, 0x7d, 0x7a, 0x3c, 0xa3, 0x52, 0xb2, 0x80, 0x2a, 0xfb, 0x4e,
|
||||
0xb7, 0xd6, 0x6f, 0x0e, 0xfa, 0x65, 0xb5, 0xe2, 0x09, 0x1d, 0xbc, 0x1c, 0xfa, 0x90, 0x6b, 0x39,
|
||||
0xc7, 0xab, 0x14, 0xc8, 0x01, 0xa4, 0x34, 0xd1, 0x89, 0x1a, 0x92, 0x20, 0xa4, 0x0f, 0x39, 0xb9,
|
||||
0x88, 0x68, 0x60, 0x6f, 0x75, 0xad, 0x7e, 0x1d, 0xaf, 0xf1, 0xa0, 0xc7, 0xd0, 0xca, 0x94, 0xf0,
|
||||
0x39, 0x27, 0xd1, 0x5c, 0x33, 0x5f, 0xd9, 0xdb, 0xe6, 0x99, 0x3b, 0xe5, 0x2d, 0x1e, 0xdd, 0xf6,
|
||||
0xe7, 0x8f, 0xbb, 0x9c, 0x86, 0x5e, 0xc2, 0xde, 0x34, 0x51, 0x5a, 0x5c, 0xb1, 0x97, 0xf4, 0x38,
|
||||
0x36, 0x6a, 0xb2, 0xeb, 0x86, 0xea, 0x4b, 0xe7, 0x46, 0x00, 0x4e, 0x21, 0x00, 0x63, 0x9c, 0xfb,
|
||||
0x81, 0x33, 0x1b, 0x38, 0xf1, 0x34, 0x74, 0x52, 0x39, 0x39, 0x15, 0x39, 0x39, 0x85, 0x9c, 0x9c,
|
||||
0x27, 0x4b, 0xac, 0x78, 0xa5, 0x0e, 0x7a, 0x1b, 0x36, 0x2f, 0x69, 0x14, 0xdb, 0x0d, 0x53, 0x6f,
|
||||
0xa7, 0xbc, 0xfa, 0x63, 0x1a, 0xc5, 0xd8, 0xb8, 0xd0, 0x3b, 0xb0, 0x1d, 0x47, 0x49, 0xc8, 0xb8,
|
||||
0xb2, 0xc1, 0xb4, 0xb9, 0x55, 0x46, 0x9d, 0x18, 0x1c, 0x17, 0xfe, 0xb4, 0x87, 0x89, 0xa2, 0x72,
|
||||
0x22, 0xd2, 0xd3, 0x88, 0xa9, 0xac, 0x87, 0xcd, 0xac, 0x87, 0xab, 0x1e, 0xf4, 0x93, 0x05, 0x6f,
|
||||
0xfa, 0xa6, 0x2b, 0x4f, 0x09, 0x27, 0x21, 0xbd, 0xa2, 0x5c, 0x9f, 0xe4, 0xb5, 0xee, 0x9a, 0x5a,
|
||||
0xa7, 0xaf, 0xd6, 0x01, 0x6f, 0x2d, 0x39, 0xfe, 0xa7, 0xa2, 0xe8, 0x5d, 0xd8, 0x2f, 0x5b, 0xf4,
|
||||
0x9c, 0x4a, 0x65, 0xde, 0xc5, 0x4e, 0xb7, 0xd6, 0x6f, 0xe0, 0x55, 0x07, 0x6a, 0x43, 0x3d, 0x61,
|
||||
0x9e, 0x52, 0x67, 0x78, 0x62, 0xef, 0x1a, 0xa5, 0x96, 0x67, 0xd4, 0x87, 0x56, 0xc2, 0x86, 0x84,
|
||||
0x73, 0x2a, 0x3d, 0xc1, 0x35, 0xe5, 0xda, 0x6e, 0x99, 0x90, 0x65, 0x38, 0x95, 0x7c, 0x01, 0xa5,
|
||||
0x44, 0x7b, 0x99, 0xe4, 0x2b, 0x50, 0xca, 0x15, 0x13, 0xa5, 0xbe, 0x17, 0x32, 0x38, 0x21, 0x5a,
|
||||
0x53, 0xc9, 0xed, 0xfd, 0x8c, 0x6b, 0x09, 0x6e, 0xff, 0x62, 0xc1, 0xc1, 0x7a, 0xc9, 0xa3, 0x3d,
|
||||
0xa8, 0x4d, 0xe9, 0x3c, 0xfb, 0xd6, 0x71, 0x6a, 0xa2, 0x00, 0xee, 0xcc, 0x48, 0x94, 0xd0, 0xfc,
|
||||
0xf3, 0x7e, 0x45, 0xb1, 0x2d, 0x97, 0xc5, 0x19, 0xf9, 0xc7, 0x1b, 0x1f, 0x59, 0xbd, 0x73, 0x78,
|
||||
0x63, 0xed, 0xb7, 0x80, 0x3a, 0x00, 0x5a, 0x12, 0x7f, 0xca, 0x78, 0x38, 0x1e, 0xe5, 0x77, 0xab,
|
||||
0x20, 0xe8, 0x3e, 0xec, 0x12, 0x2e, 0xf8, 0x3c, 0x6d, 0xfb, 0x99, 0xa2, 0x52, 0x99, 0xbb, 0xd6,
|
||||
0xf1, 0x12, 0xda, 0xfb, 0x04, 0x36, 0x53, 0xc5, 0x22, 0x1b, 0xb6, 0xfd, 0x4b, 0xa2, 0xcf, 0x8a,
|
||||
0xa1, 0x86, 0x8b, 0x63, 0xfa, 0xae, 0x52, 0xf3, 0x94, 0xbe, 0xd0, 0x86, 0xa3, 0x81, 0xcb, 0x73,
|
||||
0xef, 0x1e, 0x6c, 0x65, 0x02, 0x40, 0x08, 0x36, 0x39, 0xb9, 0xa2, 0x79, 0xb2, 0xb1, 0x7b, 0x9f,
|
||||
0x42, 0xa3, 0x9c, 0x77, 0x68, 0x00, 0xe0, 0x0b, 0xce, 0xa9, 0xaf, 0x85, 0x54, 0xb6, 0x65, 0x34,
|
||||
0x7a, 0x33, 0x17, 0xbd, 0xc2, 0x85, 0x2b, 0x51, 0xbd, 0x07, 0xd0, 0x28, 0x1d, 0xeb, 0x2a, 0xa4,
|
||||
0x98, 0x9e, 0xc7, 0x34, 0xbf, 0x97, 0xb1, 0x7b, 0x3f, 0xd6, 0xa0, 0x32, 0x23, 0xd7, 0xa6, 0x1d,
|
||||
0xc0, 0x16, 0x53, 0x2a, 0xa1, 0x32, 0x4f, 0xcc, 0x4f, 0xa8, 0x0f, 0x75, 0x3f, 0x62, 0x94, 0xeb,
|
||||
0xf1, 0xc8, 0x8c, 0xe1, 0xc6, 0xf0, 0xee, 0xe2, 0xfa, 0xb0, 0xee, 0xe5, 0x18, 0x2e, 0xbd, 0xe8,
|
||||
0x08, 0x9a, 0x7e, 0xc4, 0x0a, 0x47, 0x36, 0x6d, 0x87, 0xad, 0xc5, 0xf5, 0x61, 0xd3, 0x9b, 0x8c,
|
||||
0xcb, 0xf8, 0x6a, 0x4c, 0x5a, 0x54, 0xf9, 0x22, 0xce, 0x67, 0x6e, 0x03, 0xe7, 0x27, 0x74, 0x0e,
|
||||
0x3b, 0x2c, 0x38, 0x15, 0x53, 0xca, 0x3d, 0xb3, 0x7f, 0xec, 0x2d, 0xd3, 0x9b, 0xfb, 0x6b, 0x16,
|
||||
0x80, 0x33, 0xae, 0x06, 0x1a, 0x75, 0x0e, 0xf7, 0x17, 0xd7, 0x87, 0x3b, 0xe3, 0x51, 0x05, 0xc7,
|
||||
0xb7, 0xf9, 0xda, 0x73, 0x40, 0xab, 0x79, 0x6b, 0x54, 0xfd, 0xf4, 0xb6, 0xaa, 0x3f, 0xfc, 0x57,
|
||||
0x55, 0x67, 0x0b, 0xd4, 0x29, 0xff, 0x00, 0xd2, 0x4d, 0xe4, 0x18, 0xfe, 0x8a, 0x7c, 0x07, 0xdf,
|
||||
0x40, 0xab, 0x58, 0x28, 0xcf, 0xa8, 0x9c, 0x31, 0x9f, 0xa2, 0x2f, 0xa0, 0xf6, 0x88, 0x6a, 0x74,
|
||||
0xb0, 0xb2, 0x71, 0xcc, 0x96, 0x6d, 0xef, 0xaf, 0xe0, 0x3d, 0xfb, 0x87, 0xdf, 0xff, 0xfc, 0x79,
|
||||
0x03, 0xa1, 0x3d, 0xf3, 0xe7, 0x30, 0x3b, 0x2a, 0xb7, 0xf6, 0xd0, 0xfb, 0x75, 0xd1, 0xb1, 0x7e,
|
||||
0x5b, 0x74, 0xac, 0x3f, 0x16, 0x1d, 0xeb, 0xeb, 0x0f, 0xfe, 0xdf, 0x1f, 0x44, 0xf6, 0x0e, 0x4b,
|
||||
0x92, 0x8b, 0x2d, 0xb3, 0xef, 0x1f, 0xfc, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xcc, 0x31, 0x2c, 0x49,
|
||||
0xde, 0x08, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
@@ -806,6 +816,15 @@ func (m *Settings) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
i -= len(m.XXX_unrecognized)
|
||||
copy(dAtA[i:], m.XXX_unrecognized)
|
||||
}
|
||||
if len(m.PasswordPattern) > 0 {
|
||||
i -= len(m.PasswordPattern)
|
||||
copy(dAtA[i:], m.PasswordPattern)
|
||||
i = encodeVarintSettings(dAtA, i, uint64(len(m.PasswordPattern)))
|
||||
i--
|
||||
dAtA[i] = 0x1
|
||||
i--
|
||||
dAtA[i] = 0x8a
|
||||
}
|
||||
if len(m.UiBannerURL) > 0 {
|
||||
i -= len(m.UiBannerURL)
|
||||
copy(dAtA[i:], m.UiBannerURL)
|
||||
@@ -1386,6 +1405,10 @@ func (m *Settings) Size() (n int) {
|
||||
if l > 0 {
|
||||
n += 2 + l + sovSettings(uint64(l))
|
||||
}
|
||||
l = len(m.PasswordPattern)
|
||||
if l > 0 {
|
||||
n += 2 + l + sovSettings(uint64(l))
|
||||
}
|
||||
if m.XXX_unrecognized != nil {
|
||||
n += len(m.XXX_unrecognized)
|
||||
}
|
||||
@@ -2227,6 +2250,38 @@ func (m *Settings) Unmarshal(dAtA []byte) error {
|
||||
}
|
||||
m.UiBannerURL = string(dAtA[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
case 17:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field PasswordPattern", wireType)
|
||||
}
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowSettings
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
stringLen |= uint64(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
intStringLen := int(stringLen)
|
||||
if intStringLen < 0 {
|
||||
return ErrInvalidLengthSettings
|
||||
}
|
||||
postIndex := iNdEx + intStringLen
|
||||
if postIndex < 0 {
|
||||
return ErrInvalidLengthSettings
|
||||
}
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.PasswordPattern = string(dAtA[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
skippy, err := skipSettings(dAtA[iNdEx:])
|
||||
|
||||
@@ -594,6 +594,7 @@ type RepoServerAppDetailsQuery struct {
|
||||
KustomizeOptions *v1alpha1.KustomizeOptions `protobuf:"bytes,4,opt,name=kustomizeOptions,proto3" json:"kustomizeOptions,omitempty"`
|
||||
AppName string `protobuf:"bytes,5,opt,name=appName,proto3" json:"appName,omitempty"`
|
||||
NoCache bool `protobuf:"varint,6,opt,name=noCache,proto3" json:"noCache,omitempty"`
|
||||
NoRevisionCache bool `protobuf:"varint,7,opt,name=noRevisionCache,proto3" json:"noRevisionCache,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
@@ -674,6 +675,13 @@ func (m *RepoServerAppDetailsQuery) GetNoCache() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (m *RepoServerAppDetailsQuery) GetNoRevisionCache() bool {
|
||||
if m != nil {
|
||||
return m.NoRevisionCache
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// RepoAppDetailsResponse application details
|
||||
type RepoAppDetailsResponse struct {
|
||||
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
|
||||
@@ -1359,94 +1367,95 @@ func init() {
|
||||
}
|
||||
|
||||
var fileDescriptor_dd8723cfcc820480 = []byte{
|
||||
// 1392 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x18, 0xcb, 0x6e, 0xdb, 0xc6,
|
||||
0xd6, 0x94, 0xe4, 0x87, 0x8e, 0x12, 0x5b, 0x9e, 0x3c, 0x2e, 0xaf, 0xae, 0x23, 0x38, 0x04, 0x6e,
|
||||
0xe0, 0x36, 0x0d, 0x85, 0x28, 0x41, 0x1b, 0x24, 0x40, 0x01, 0xd5, 0x49, 0x1c, 0xc0, 0x49, 0xec,
|
||||
0xd2, 0x69, 0x81, 0x16, 0x41, 0x83, 0x31, 0x75, 0x4c, 0x4d, 0x25, 0x91, 0x13, 0x92, 0x52, 0xe1,
|
||||
0x00, 0x5d, 0x16, 0x5d, 0x74, 0xdd, 0xfe, 0x4e, 0x57, 0x7d, 0x2c, 0xdb, 0x3f, 0x28, 0xf2, 0x09,
|
||||
0xfd, 0x82, 0x62, 0x86, 0xaf, 0x21, 0x45, 0xbb, 0x0b, 0x25, 0xce, 0xc6, 0x9e, 0x39, 0xef, 0x73,
|
||||
0xe6, 0xbc, 0x28, 0xb8, 0xe6, 0x23, 0xf7, 0x02, 0xf4, 0xa7, 0xe8, 0x77, 0xe4, 0x91, 0x85, 0x9e,
|
||||
0x7f, 0xac, 0x1c, 0x4d, 0xee, 0x7b, 0xa1, 0x47, 0x20, 0x83, 0xb4, 0x2e, 0x3a, 0x9e, 0xe3, 0x49,
|
||||
0x70, 0x47, 0x9c, 0x22, 0x8a, 0xd6, 0x86, 0xe3, 0x79, 0xce, 0x08, 0x3b, 0x94, 0xb3, 0x0e, 0x75,
|
||||
0x5d, 0x2f, 0xa4, 0x21, 0xf3, 0xdc, 0x20, 0xc6, 0x1a, 0xc3, 0x3b, 0x81, 0xc9, 0x3c, 0x89, 0xb5,
|
||||
0x3d, 0x1f, 0x3b, 0xd3, 0x9b, 0x1d, 0x07, 0x5d, 0xf4, 0x69, 0x88, 0xfd, 0x98, 0xe6, 0xb1, 0xc3,
|
||||
0xc2, 0xc1, 0xe4, 0xd0, 0xb4, 0xbd, 0x71, 0x87, 0xfa, 0x52, 0xc5, 0xd7, 0xf2, 0x70, 0xc3, 0xee,
|
||||
0x77, 0xa6, 0xdd, 0x0e, 0x1f, 0x3a, 0x82, 0x3f, 0xe8, 0x50, 0xce, 0x47, 0xcc, 0x96, 0xf2, 0x3b,
|
||||
0xd3, 0x9b, 0x74, 0xc4, 0x07, 0x74, 0x46, 0x9a, 0xf1, 0xe7, 0x32, 0xac, 0x3d, 0xa1, 0x2e, 0x3b,
|
||||
0xc2, 0x20, 0xb4, 0xf0, 0xe5, 0x04, 0x83, 0x90, 0x3c, 0x87, 0x9a, 0xf0, 0x43, 0xd7, 0x36, 0xb5,
|
||||
0xad, 0x46, 0xf7, 0x91, 0x99, 0x29, 0x34, 0x13, 0x85, 0xf2, 0xf0, 0xc2, 0xee, 0x9b, 0xd3, 0xae,
|
||||
0xc9, 0x87, 0x8e, 0x29, 0x14, 0x9a, 0x8a, 0x42, 0x33, 0x51, 0x68, 0x5a, 0x69, 0x44, 0x2c, 0x29,
|
||||
0x95, 0xb4, 0x60, 0xc5, 0xc7, 0x29, 0x0b, 0x98, 0xe7, 0xea, 0x95, 0x4d, 0x6d, 0xab, 0x6e, 0xa5,
|
||||
0x77, 0xa2, 0xc3, 0xb2, 0xeb, 0x6d, 0x53, 0x7b, 0x80, 0x7a, 0x75, 0x53, 0xdb, 0x5a, 0xb1, 0x92,
|
||||
0x2b, 0xd9, 0x84, 0x06, 0xe5, 0xfc, 0x31, 0x3d, 0xc4, 0xd1, 0x2e, 0x1e, 0xeb, 0x35, 0xc9, 0xa8,
|
||||
0x82, 0x04, 0x2f, 0xe5, 0xfc, 0x29, 0x1d, 0xa3, 0xbe, 0x28, 0xb1, 0xc9, 0x95, 0x6c, 0x40, 0xdd,
|
||||
0xa5, 0x63, 0x0c, 0x38, 0xb5, 0x51, 0x5f, 0x91, 0xb8, 0x0c, 0x40, 0xbe, 0x85, 0x75, 0xc5, 0xf0,
|
||||
0x03, 0x6f, 0xe2, 0xdb, 0xa8, 0x83, 0x74, 0x7d, 0x6f, 0x3e, 0xd7, 0x7b, 0x45, 0xb1, 0xd6, 0xac,
|
||||
0x26, 0xf2, 0x15, 0x2c, 0xca, 0xa4, 0xd1, 0x1b, 0x9b, 0xd5, 0x37, 0x1a, 0xed, 0x48, 0x2c, 0x71,
|
||||
0x61, 0x99, 0x8f, 0x26, 0x0e, 0x73, 0x03, 0xfd, 0x9c, 0xd4, 0xf0, 0x6c, 0x3e, 0x0d, 0xdb, 0x9e,
|
||||
0x7b, 0xc4, 0x9c, 0x27, 0xd4, 0xa5, 0x0e, 0x8e, 0xd1, 0x0d, 0xf7, 0xa5, 0x70, 0x2b, 0x51, 0x42,
|
||||
0x5e, 0x41, 0x73, 0x38, 0x09, 0x42, 0x6f, 0xcc, 0x5e, 0xe1, 0x1e, 0x97, 0xc9, 0xad, 0x9f, 0x97,
|
||||
0xd1, 0x7c, 0x3a, 0x9f, 0xe2, 0xdd, 0x82, 0x54, 0x6b, 0x46, 0x8f, 0x48, 0x92, 0xe1, 0xe4, 0x10,
|
||||
0x3f, 0x47, 0x5f, 0x66, 0xd7, 0x6a, 0x94, 0x24, 0x0a, 0x28, 0x4a, 0x23, 0x16, 0xdf, 0x02, 0x7d,
|
||||
0x6d, 0xb3, 0x1a, 0xa5, 0x51, 0x0a, 0x22, 0x5b, 0xb0, 0x36, 0x45, 0x9f, 0x1d, 0x1d, 0x1f, 0x30,
|
||||
0xc7, 0xa5, 0xe1, 0xc4, 0x47, 0xbd, 0x29, 0x53, 0xb1, 0x08, 0x26, 0x63, 0x38, 0x3f, 0xc0, 0xd1,
|
||||
0x58, 0x84, 0x7c, 0xdb, 0xc7, 0x7e, 0xa0, 0xaf, 0xcb, 0xf8, 0xee, 0xcc, 0xff, 0x82, 0x52, 0x9c,
|
||||
0x95, 0x97, 0x2e, 0x0c, 0x73, 0x3d, 0x2b, 0xae, 0x94, 0xa8, 0x46, 0x48, 0x64, 0x58, 0x01, 0x6c,
|
||||
0x4c, 0xe0, 0xd2, 0x33, 0x59, 0xce, 0x69, 0x2e, 0x9c, 0x45, 0x61, 0x1b, 0x8f, 0xe0, 0x72, 0x51,
|
||||
0x6d, 0xc0, 0x3d, 0x37, 0x40, 0x62, 0x02, 0x91, 0xc1, 0x63, 0xd8, 0xcf, 0xb0, 0xd2, 0x8a, 0x15,
|
||||
0xab, 0x04, 0x63, 0xfc, 0xaa, 0x41, 0x33, 0x6b, 0x4a, 0xb1, 0x90, 0x0d, 0xa8, 0x8f, 0x63, 0x58,
|
||||
0xa0, 0x6b, 0xf2, 0xe1, 0x32, 0x40, 0xbe, 0xc6, 0x2b, 0xc5, 0x1a, 0xbf, 0x0c, 0x4b, 0x51, 0xf7,
|
||||
0x96, 0x6d, 0xa5, 0x6e, 0xc5, 0xb7, 0x5c, 0x2f, 0xaa, 0x15, 0x7a, 0x51, 0x1b, 0x20, 0x90, 0x25,
|
||||
0xfa, 0xec, 0x98, 0xa3, 0xbe, 0x24, 0xb1, 0x0a, 0x84, 0x18, 0x70, 0x2e, 0xca, 0x08, 0x0b, 0x83,
|
||||
0xc9, 0x28, 0xd4, 0x97, 0x25, 0x45, 0x0e, 0x66, 0x78, 0xb0, 0xf6, 0x98, 0x09, 0x1f, 0x8e, 0x82,
|
||||
0xb3, 0x79, 0x83, 0x0f, 0xa1, 0x26, 0x94, 0x09, 0xc7, 0x0e, 0x7d, 0xea, 0xda, 0x03, 0x4c, 0x62,
|
||||
0x95, 0xde, 0x09, 0x81, 0x5a, 0x48, 0x9d, 0x40, 0xaf, 0x48, 0xb8, 0x3c, 0x1b, 0x3f, 0x68, 0x91,
|
||||
0xa5, 0x3d, 0xce, 0x83, 0x77, 0x3e, 0x06, 0x8c, 0x09, 0x2c, 0xf7, 0x38, 0x17, 0xf6, 0x90, 0x9b,
|
||||
0x50, 0xa3, 0x9c, 0x47, 0x4e, 0x34, 0xba, 0x57, 0x4c, 0x65, 0xe4, 0xc6, 0x24, 0xe2, 0x7f, 0xf0,
|
||||
0xc0, 0x0d, 0x85, 0x64, 0x41, 0xda, 0xfa, 0x08, 0xea, 0x29, 0x88, 0x34, 0xa1, 0x3a, 0xc4, 0x28,
|
||||
0xd7, 0xea, 0x96, 0x38, 0x92, 0x8b, 0xb0, 0x38, 0xa5, 0xa3, 0x49, 0x92, 0x25, 0xd1, 0xe5, 0x6e,
|
||||
0xe5, 0x8e, 0x66, 0xfc, 0x5d, 0x85, 0xff, 0x0a, 0x3b, 0x0f, 0x64, 0x72, 0xf4, 0x38, 0xbf, 0x8f,
|
||||
0x21, 0x65, 0xa3, 0xe0, 0xd3, 0x09, 0xfa, 0xc7, 0x6f, 0x39, 0x1c, 0x0e, 0x2c, 0x45, 0xb9, 0x25,
|
||||
0xcd, 0x7a, 0x0b, 0xa3, 0x27, 0x16, 0x9f, 0xcd, 0x9b, 0xea, 0xdb, 0x99, 0x37, 0x65, 0xfd, 0xbf,
|
||||
0x76, 0x46, 0xfd, 0xff, 0xe4, 0x15, 0x40, 0x59, 0x2c, 0x96, 0x72, 0x8b, 0x85, 0xf1, 0x7d, 0x05,
|
||||
0x2e, 0x0b, 0x2f, 0xb2, 0xe7, 0x4e, 0x3b, 0x8e, 0x28, 0x14, 0x51, 0xfb, 0x51, 0xf2, 0xc8, 0x33,
|
||||
0xb9, 0x0d, 0xcb, 0xc3, 0xc0, 0x73, 0x5d, 0x0c, 0xe3, 0x87, 0x6a, 0xa9, 0x29, 0xb9, 0x1b, 0xa1,
|
||||
0x7a, 0x9c, 0x1f, 0x70, 0xb4, 0xad, 0x84, 0x94, 0x5c, 0x87, 0x9a, 0x68, 0xe6, 0xb2, 0xfb, 0x34,
|
||||
0xba, 0xff, 0x51, 0x59, 0x1e, 0xe1, 0x68, 0x9c, 0xd0, 0x4b, 0x22, 0x72, 0x17, 0xea, 0xa9, 0x67,
|
||||
0x71, 0xe8, 0x36, 0x72, 0x4a, 0x12, 0x64, 0xc2, 0x96, 0x91, 0x0b, 0xde, 0x3e, 0xf3, 0xd1, 0x96,
|
||||
0x0d, 0x76, 0x71, 0x96, 0xf7, 0x7e, 0x82, 0x4c, 0x79, 0x53, 0x72, 0xe3, 0x17, 0x0d, 0xae, 0x66,
|
||||
0xe9, 0x9f, 0x8c, 0x94, 0x27, 0x18, 0xd2, 0x3e, 0x0d, 0xe9, 0xbb, 0x5f, 0x0e, 0xaf, 0xc1, 0xaa,
|
||||
0x3d, 0x40, 0x7b, 0x98, 0x0d, 0xe6, 0x68, 0x47, 0x2c, 0x40, 0x8d, 0xdf, 0x2a, 0xb0, 0x9a, 0x7f,
|
||||
0x08, 0xf1, 0x92, 0x62, 0x18, 0x24, 0x2f, 0x29, 0xce, 0x64, 0x1f, 0xce, 0xa1, 0x3b, 0x65, 0xbe,
|
||||
0xe7, 0x8a, 0x35, 0x26, 0xa9, 0x87, 0x0f, 0x4e, 0x7e, 0x4e, 0xf3, 0x81, 0x42, 0x1e, 0x35, 0x9c,
|
||||
0x9c, 0x04, 0xe2, 0x02, 0x70, 0xea, 0xd3, 0x31, 0x86, 0xe8, 0x8b, 0xa4, 0xaf, 0xbe, 0x81, 0xa4,
|
||||
0x8f, 0x2c, 0xd8, 0x4f, 0xc4, 0x5a, 0x8a, 0x86, 0xd6, 0x0b, 0x58, 0x9f, 0x31, 0xa9, 0xa4, 0xe1,
|
||||
0xdd, 0x56, 0x1b, 0x5e, 0xa3, 0xdb, 0x2e, 0xf1, 0x50, 0x11, 0xa3, 0x36, 0xc4, 0x9f, 0x2b, 0xd0,
|
||||
0x50, 0xf2, 0xb3, 0x34, 0x8c, 0x6d, 0x00, 0xc9, 0xf0, 0x90, 0x8d, 0x30, 0x0a, 0x62, 0xdd, 0x52,
|
||||
0x20, 0x64, 0x58, 0x12, 0x94, 0xdd, 0xf9, 0x82, 0x22, 0x4c, 0x2a, 0x8d, 0x88, 0x98, 0xf3, 0x52,
|
||||
0x75, 0x10, 0xd7, 0x7f, 0x7c, 0x23, 0xdf, 0xc0, 0xea, 0x11, 0x1b, 0xe1, 0x7e, 0x66, 0xc8, 0x92,
|
||||
0x34, 0x64, 0x6f, 0x7e, 0x43, 0x1e, 0xaa, 0x72, 0xad, 0x82, 0x1a, 0xe3, 0x7d, 0x68, 0x16, 0xcb,
|
||||
0x55, 0x18, 0xc9, 0xc6, 0xd4, 0x49, 0xa3, 0x15, 0xdf, 0x8c, 0x1f, 0x35, 0x20, 0xb3, 0xef, 0x71,
|
||||
0x52, 0xd0, 0x87, 0x77, 0x82, 0x64, 0xcf, 0x8d, 0x0a, 0x45, 0x81, 0x90, 0x5d, 0x68, 0xf4, 0x31,
|
||||
0x08, 0x99, 0x2b, 0x0d, 0x8e, 0x9b, 0xc8, 0x7b, 0xa7, 0x3f, 0xfc, 0xfd, 0x8c, 0xc1, 0x52, 0xb9,
|
||||
0x8d, 0xcf, 0xe0, 0xca, 0xa9, 0xd4, 0xca, 0x76, 0xa5, 0xe5, 0xb6, 0xab, 0x53, 0x77, 0x32, 0x83,
|
||||
0x40, 0xb3, 0xd8, 0x8d, 0x8c, 0x97, 0xb0, 0x2e, 0x62, 0xba, 0x3d, 0xa0, 0x7e, 0x78, 0x46, 0x1b,
|
||||
0xd3, 0x3d, 0xa8, 0xa7, 0x2a, 0x4b, 0x63, 0xdd, 0x82, 0x95, 0x69, 0xf2, 0xbd, 0x10, 0xad, 0x4c,
|
||||
0xe9, 0xdd, 0xe8, 0x01, 0x51, 0xed, 0x8d, 0xe7, 0xc6, 0x75, 0x58, 0x64, 0x21, 0x8e, 0x93, 0xa5,
|
||||
0xe5, 0x52, 0xb1, 0xdd, 0x4b, 0x72, 0x2b, 0xa2, 0xe9, 0x7e, 0xb7, 0x08, 0xeb, 0x59, 0xd7, 0x15,
|
||||
0x7f, 0x99, 0x8d, 0x64, 0x0f, 0x9a, 0x3b, 0xf1, 0x97, 0x7a, 0xb2, 0x08, 0x93, 0xff, 0xa9, 0x72,
|
||||
0x0a, 0xdf, 0xec, 0xad, 0x8d, 0x72, 0x64, 0x64, 0x91, 0xb1, 0x40, 0xbe, 0x80, 0xd5, 0xfc, 0x72,
|
||||
0x4e, 0xae, 0xaa, 0x1c, 0xa5, 0xdf, 0x0b, 0x2d, 0xe3, 0x34, 0x92, 0x54, 0xf4, 0x3d, 0x58, 0x49,
|
||||
0x96, 0xdc, 0xbc, 0x8d, 0x85, 0xd5, 0xb7, 0xd5, 0x54, 0x91, 0x02, 0x61, 0x2c, 0x90, 0x8f, 0x23,
|
||||
0x66, 0xb1, 0xb0, 0xcd, 0x32, 0x2b, 0xdb, 0x68, 0xeb, 0x42, 0xc9, 0xea, 0x67, 0x2c, 0x90, 0xe7,
|
||||
0x70, 0x7e, 0x47, 0x76, 0xe8, 0x78, 0x78, 0x93, 0xff, 0xe7, 0x95, 0x9c, 0xb0, 0xcd, 0xe5, 0x5d,
|
||||
0x2b, 0x9f, 0xff, 0xc6, 0x02, 0xf9, 0x49, 0x83, 0x0b, 0x3b, 0x18, 0x16, 0x67, 0x21, 0xb9, 0x51,
|
||||
0xae, 0xe4, 0x84, 0x99, 0xd9, 0x7a, 0x3a, 0x6f, 0xce, 0xe6, 0xc5, 0x1a, 0x0b, 0x64, 0x5f, 0xba,
|
||||
0x9d, 0xe5, 0x1e, 0xb9, 0x52, 0x9a, 0x64, 0x69, 0xf4, 0xda, 0x27, 0xa1, 0x13, 0x57, 0x3f, 0xe9,
|
||||
0xfd, 0xfe, 0xba, 0xad, 0xfd, 0xf1, 0xba, 0xad, 0xfd, 0xf5, 0xba, 0xad, 0x7d, 0x79, 0xeb, 0x5f,
|
||||
0x7e, 0x64, 0x52, 0x7e, 0x0f, 0xa3, 0x9c, 0xd9, 0x23, 0x86, 0x6e, 0x78, 0xb8, 0x24, 0x7f, 0x52,
|
||||
0xba, 0xf5, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf6, 0x7e, 0x8e, 0xd3, 0x2e, 0x13, 0x00, 0x00,
|
||||
// 1399 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0x4b, 0x6f, 0xdb, 0xc6,
|
||||
0x16, 0x36, 0x65, 0xd9, 0xb2, 0x8e, 0x12, 0x5b, 0x9e, 0x3c, 0x2e, 0xaf, 0xae, 0x23, 0x38, 0x04,
|
||||
0x6e, 0xe0, 0x36, 0x0d, 0x85, 0x28, 0x41, 0x1b, 0x24, 0x40, 0x01, 0xd5, 0x49, 0x1c, 0xc0, 0x49,
|
||||
0xec, 0xd2, 0x69, 0x81, 0x16, 0x41, 0x83, 0x31, 0x75, 0x4c, 0x4d, 0x25, 0x91, 0x13, 0x92, 0x52,
|
||||
0xe1, 0x00, 0x5d, 0x16, 0x5d, 0x74, 0xdd, 0xae, 0xfa, 0x5f, 0xba, 0xea, 0x63, 0xd9, 0xfe, 0x83,
|
||||
0x22, 0xbf, 0xa4, 0x98, 0xe1, 0x6b, 0x48, 0xd1, 0xee, 0x42, 0x89, 0xb3, 0xb1, 0x67, 0xce, 0x7b,
|
||||
0xce, 0x9c, 0xf3, 0xcd, 0xa1, 0xe0, 0x9a, 0x8f, 0xdc, 0x0b, 0xd0, 0x9f, 0xa2, 0xdf, 0x91, 0x4b,
|
||||
0x16, 0x7a, 0xfe, 0xb1, 0xb2, 0x34, 0xb9, 0xef, 0x85, 0x1e, 0x81, 0x8c, 0xd2, 0xba, 0xe8, 0x78,
|
||||
0x8e, 0x27, 0xc9, 0x1d, 0xb1, 0x8a, 0x24, 0x5a, 0x1b, 0x8e, 0xe7, 0x39, 0x23, 0xec, 0x50, 0xce,
|
||||
0x3a, 0xd4, 0x75, 0xbd, 0x90, 0x86, 0xcc, 0x73, 0x83, 0x98, 0x6b, 0x0c, 0xef, 0x04, 0x26, 0xf3,
|
||||
0x24, 0xd7, 0xf6, 0x7c, 0xec, 0x4c, 0x6f, 0x76, 0x1c, 0x74, 0xd1, 0xa7, 0x21, 0xf6, 0x63, 0x99,
|
||||
0xc7, 0x0e, 0x0b, 0x07, 0x93, 0x43, 0xd3, 0xf6, 0xc6, 0x1d, 0xea, 0x4b, 0x17, 0x5f, 0xcb, 0xc5,
|
||||
0x0d, 0xbb, 0xdf, 0x99, 0x76, 0x3b, 0x7c, 0xe8, 0x08, 0xfd, 0xa0, 0x43, 0x39, 0x1f, 0x31, 0x5b,
|
||||
0xda, 0xef, 0x4c, 0x6f, 0xd2, 0x11, 0x1f, 0xd0, 0x19, 0x6b, 0xc6, 0x5f, 0x35, 0x58, 0x7b, 0x42,
|
||||
0x5d, 0x76, 0x84, 0x41, 0x68, 0xe1, 0xcb, 0x09, 0x06, 0x21, 0x79, 0x0e, 0x55, 0x71, 0x0e, 0x5d,
|
||||
0xdb, 0xd4, 0xb6, 0x1a, 0xdd, 0x47, 0x66, 0xe6, 0xd0, 0x4c, 0x1c, 0xca, 0xc5, 0x0b, 0xbb, 0x6f,
|
||||
0x4e, 0xbb, 0x26, 0x1f, 0x3a, 0xa6, 0x70, 0x68, 0x2a, 0x0e, 0xcd, 0xc4, 0xa1, 0x69, 0xa5, 0x19,
|
||||
0xb1, 0xa4, 0x55, 0xd2, 0x82, 0x15, 0x1f, 0xa7, 0x2c, 0x60, 0x9e, 0xab, 0x57, 0x36, 0xb5, 0xad,
|
||||
0xba, 0x95, 0xee, 0x89, 0x0e, 0x35, 0xd7, 0xdb, 0xa6, 0xf6, 0x00, 0xf5, 0xc5, 0x4d, 0x6d, 0x6b,
|
||||
0xc5, 0x4a, 0xb6, 0x64, 0x13, 0x1a, 0x94, 0xf3, 0xc7, 0xf4, 0x10, 0x47, 0xbb, 0x78, 0xac, 0x57,
|
||||
0xa5, 0xa2, 0x4a, 0x12, 0xba, 0x94, 0xf3, 0xa7, 0x74, 0x8c, 0xfa, 0x92, 0xe4, 0x26, 0x5b, 0xb2,
|
||||
0x01, 0x75, 0x97, 0x8e, 0x31, 0xe0, 0xd4, 0x46, 0x7d, 0x45, 0xf2, 0x32, 0x02, 0xf9, 0x16, 0xd6,
|
||||
0x95, 0xc0, 0x0f, 0xbc, 0x89, 0x6f, 0xa3, 0x0e, 0xf2, 0xe8, 0x7b, 0xf3, 0x1d, 0xbd, 0x57, 0x34,
|
||||
0x6b, 0xcd, 0x7a, 0x22, 0x5f, 0xc1, 0x92, 0x2c, 0x1a, 0xbd, 0xb1, 0xb9, 0xf8, 0x46, 0xb3, 0x1d,
|
||||
0x99, 0x25, 0x2e, 0xd4, 0xf8, 0x68, 0xe2, 0x30, 0x37, 0xd0, 0xcf, 0x49, 0x0f, 0xcf, 0xe6, 0xf3,
|
||||
0xb0, 0xed, 0xb9, 0x47, 0xcc, 0x79, 0x42, 0x5d, 0xea, 0xe0, 0x18, 0xdd, 0x70, 0x5f, 0x1a, 0xb7,
|
||||
0x12, 0x27, 0xe4, 0x15, 0x34, 0x87, 0x93, 0x20, 0xf4, 0xc6, 0xec, 0x15, 0xee, 0x71, 0x59, 0xdc,
|
||||
0xfa, 0x79, 0x99, 0xcd, 0xa7, 0xf3, 0x39, 0xde, 0x2d, 0x58, 0xb5, 0x66, 0xfc, 0x88, 0x22, 0x19,
|
||||
0x4e, 0x0e, 0xf1, 0x73, 0xf4, 0x65, 0x75, 0xad, 0x46, 0x45, 0xa2, 0x90, 0xa2, 0x32, 0x62, 0xf1,
|
||||
0x2e, 0xd0, 0xd7, 0x36, 0x17, 0xa3, 0x32, 0x4a, 0x49, 0x64, 0x0b, 0xd6, 0xa6, 0xe8, 0xb3, 0xa3,
|
||||
0xe3, 0x03, 0xe6, 0xb8, 0x34, 0x9c, 0xf8, 0xa8, 0x37, 0x65, 0x29, 0x16, 0xc9, 0x64, 0x0c, 0xe7,
|
||||
0x07, 0x38, 0x1a, 0x8b, 0x94, 0x6f, 0xfb, 0xd8, 0x0f, 0xf4, 0x75, 0x99, 0xdf, 0x9d, 0xf9, 0x6f,
|
||||
0x50, 0x9a, 0xb3, 0xf2, 0xd6, 0x45, 0x60, 0xae, 0x67, 0xc5, 0x9d, 0x12, 0xf5, 0x08, 0x89, 0x02,
|
||||
0x2b, 0x90, 0x8d, 0x09, 0x5c, 0x7a, 0x26, 0xdb, 0x39, 0xad, 0x85, 0xb3, 0x68, 0x6c, 0xe3, 0x11,
|
||||
0x5c, 0x2e, 0xba, 0x0d, 0xb8, 0xe7, 0x06, 0x48, 0x4c, 0x20, 0x32, 0x79, 0x0c, 0xfb, 0x19, 0x57,
|
||||
0x46, 0xb1, 0x62, 0x95, 0x70, 0x8c, 0xdf, 0x34, 0x68, 0x66, 0xa0, 0x14, 0x1b, 0xd9, 0x80, 0xfa,
|
||||
0x38, 0xa6, 0x05, 0xba, 0x26, 0x2f, 0x2e, 0x23, 0xe4, 0x7b, 0xbc, 0x52, 0xec, 0xf1, 0xcb, 0xb0,
|
||||
0x1c, 0xa1, 0xb7, 0x84, 0x95, 0xba, 0x15, 0xef, 0x72, 0x58, 0x54, 0x2d, 0x60, 0x51, 0x1b, 0x20,
|
||||
0x90, 0x2d, 0xfa, 0xec, 0x98, 0xa3, 0xbe, 0x2c, 0xb9, 0x0a, 0x85, 0x18, 0x70, 0x2e, 0xaa, 0x08,
|
||||
0x0b, 0x83, 0xc9, 0x28, 0xd4, 0x6b, 0x52, 0x22, 0x47, 0x33, 0x3c, 0x58, 0x7b, 0xcc, 0xc4, 0x19,
|
||||
0x8e, 0x82, 0xb3, 0xb9, 0x83, 0x0f, 0xa1, 0x2a, 0x9c, 0x89, 0x83, 0x1d, 0xfa, 0xd4, 0xb5, 0x07,
|
||||
0x98, 0xe4, 0x2a, 0xdd, 0x13, 0x02, 0xd5, 0x90, 0x3a, 0x81, 0x5e, 0x91, 0x74, 0xb9, 0x36, 0x7e,
|
||||
0xd0, 0xa2, 0x48, 0x7b, 0x9c, 0x07, 0xef, 0xfc, 0x19, 0x30, 0x26, 0x50, 0xeb, 0x71, 0x2e, 0xe2,
|
||||
0x21, 0x37, 0xa1, 0x4a, 0x39, 0x8f, 0x0e, 0xd1, 0xe8, 0x5e, 0x31, 0x95, 0x27, 0x37, 0x16, 0x11,
|
||||
0xff, 0x83, 0x07, 0x6e, 0x28, 0x2c, 0x0b, 0xd1, 0xd6, 0x47, 0x50, 0x4f, 0x49, 0xa4, 0x09, 0x8b,
|
||||
0x43, 0x8c, 0x6a, 0xad, 0x6e, 0x89, 0x25, 0xb9, 0x08, 0x4b, 0x53, 0x3a, 0x9a, 0x24, 0x55, 0x12,
|
||||
0x6d, 0xee, 0x56, 0xee, 0x68, 0xc6, 0xcf, 0x55, 0xf8, 0xaf, 0x88, 0xf3, 0x40, 0x16, 0x47, 0x8f,
|
||||
0xf3, 0xfb, 0x18, 0x52, 0x36, 0x0a, 0x3e, 0x9d, 0xa0, 0x7f, 0xfc, 0x96, 0xd3, 0xe1, 0xc0, 0x72,
|
||||
0x54, 0x5b, 0x32, 0xac, 0xb7, 0xf0, 0xf4, 0xc4, 0xe6, 0xb3, 0xf7, 0x66, 0xf1, 0xed, 0xbc, 0x37,
|
||||
0x65, 0xf8, 0x5f, 0x3d, 0x23, 0xfc, 0x3f, 0x79, 0x04, 0x50, 0x06, 0x8b, 0xe5, 0xfc, 0x60, 0x51,
|
||||
0x02, 0xab, 0xb5, 0x72, 0x58, 0xfd, 0xbe, 0x02, 0x97, 0xc5, 0x79, 0xb3, 0xc2, 0x48, 0xb1, 0x49,
|
||||
0xb4, 0x94, 0x40, 0x89, 0xa8, 0xcc, 0xe4, 0x9a, 0xdc, 0x86, 0xda, 0x30, 0xf0, 0x5c, 0x17, 0xc3,
|
||||
0xf8, 0x4a, 0x5b, 0x6a, 0xf1, 0xee, 0x46, 0xac, 0x1e, 0xe7, 0x07, 0x1c, 0x6d, 0x2b, 0x11, 0x25,
|
||||
0xd7, 0xa1, 0x2a, 0x60, 0x5f, 0xe2, 0x54, 0xa3, 0xfb, 0x1f, 0x55, 0xe5, 0x11, 0x8e, 0xc6, 0x89,
|
||||
0xbc, 0x14, 0x22, 0x77, 0xa1, 0x9e, 0xe6, 0x20, 0x4e, 0xf2, 0x46, 0xce, 0x49, 0xc2, 0x4c, 0xd4,
|
||||
0x32, 0x71, 0xa1, 0xdb, 0x67, 0x3e, 0xda, 0x12, 0x8a, 0x97, 0x66, 0x75, 0xef, 0x27, 0xcc, 0x54,
|
||||
0x37, 0x15, 0x37, 0x7e, 0xd5, 0xe0, 0x6a, 0xd6, 0x28, 0x49, 0x96, 0x9e, 0x60, 0x48, 0xfb, 0x34,
|
||||
0xa4, 0xef, 0x7e, 0x8c, 0xbc, 0x06, 0xab, 0xf6, 0x00, 0xed, 0x61, 0xf6, 0x84, 0x47, 0xd3, 0x64,
|
||||
0x81, 0x6a, 0xfc, 0x5e, 0x81, 0xd5, 0xfc, 0x45, 0x88, 0x9b, 0x14, 0xcf, 0x46, 0x72, 0x93, 0x62,
|
||||
0x4d, 0xf6, 0xe1, 0x1c, 0xba, 0x53, 0xe6, 0x7b, 0xae, 0x18, 0x78, 0x92, 0xce, 0xf9, 0xe0, 0xe4,
|
||||
0xeb, 0x34, 0x1f, 0x28, 0xe2, 0x11, 0x34, 0xe5, 0x2c, 0x10, 0x17, 0x80, 0x53, 0x9f, 0x8e, 0x31,
|
||||
0x44, 0x5f, 0xb4, 0xc7, 0xe2, 0x1b, 0x68, 0x8f, 0x28, 0x82, 0xfd, 0xc4, 0xac, 0xa5, 0x78, 0x68,
|
||||
0xbd, 0x80, 0xf5, 0x99, 0x90, 0x4a, 0xa0, 0xf1, 0xb6, 0x0a, 0x8d, 0x8d, 0x6e, 0xbb, 0xe4, 0x84,
|
||||
0x8a, 0x19, 0x15, 0x3a, 0x7f, 0xa9, 0x40, 0x43, 0xa9, 0xcf, 0xd2, 0x34, 0xb6, 0x01, 0xa4, 0xc2,
|
||||
0x43, 0x36, 0xc2, 0x28, 0x89, 0x75, 0x4b, 0xa1, 0x90, 0x61, 0x49, 0x52, 0x76, 0xe7, 0x4b, 0x8a,
|
||||
0x08, 0xa9, 0x34, 0x23, 0x62, 0x22, 0x90, 0xae, 0x83, 0x18, 0x29, 0xe2, 0x1d, 0xf9, 0x06, 0x56,
|
||||
0x8f, 0xd8, 0x08, 0xf7, 0xb3, 0x40, 0x96, 0x65, 0x20, 0x7b, 0xf3, 0x07, 0xf2, 0x50, 0xb5, 0x6b,
|
||||
0x15, 0xdc, 0x18, 0xef, 0x43, 0xb3, 0xd8, 0xae, 0x22, 0x48, 0x36, 0xa6, 0x4e, 0x9a, 0xad, 0x78,
|
||||
0x67, 0xfc, 0xa8, 0x01, 0x99, 0xbd, 0x8f, 0x93, 0x92, 0x3e, 0xbc, 0x13, 0x24, 0x13, 0x71, 0xd4,
|
||||
0x28, 0x0a, 0x85, 0xec, 0x42, 0xa3, 0x8f, 0x41, 0xc8, 0x5c, 0x19, 0x70, 0x0c, 0x22, 0xef, 0x9d,
|
||||
0x7e, 0xf1, 0xf7, 0x33, 0x05, 0x4b, 0xd5, 0x36, 0x3e, 0x83, 0x2b, 0xa7, 0x4a, 0x2b, 0x73, 0x98,
|
||||
0x96, 0x9b, 0xc3, 0x4e, 0x9d, 0xde, 0x0c, 0x02, 0xcd, 0x22, 0x1a, 0x19, 0x2f, 0x61, 0x5d, 0xe4,
|
||||
0x74, 0x7b, 0x40, 0xfd, 0xf0, 0x8c, 0x66, 0xab, 0x7b, 0x50, 0x4f, 0x5d, 0x96, 0xe6, 0xba, 0x05,
|
||||
0x2b, 0xd3, 0xe4, 0xcb, 0x22, 0x1a, 0xae, 0xd2, 0xbd, 0xd1, 0x03, 0xa2, 0xc6, 0x1b, 0xbf, 0x1b,
|
||||
0xd7, 0x61, 0x89, 0x85, 0x38, 0x4e, 0xc6, 0x9b, 0x4b, 0x45, 0xb8, 0x97, 0xe2, 0x56, 0x24, 0xd3,
|
||||
0xfd, 0x6e, 0x09, 0xd6, 0x33, 0xd4, 0x15, 0x7f, 0x99, 0x8d, 0x64, 0x0f, 0x9a, 0x3b, 0xf1, 0x37,
|
||||
0x7d, 0x32, 0x32, 0x93, 0xff, 0xa9, 0x76, 0x0a, 0x5f, 0xf7, 0xad, 0x8d, 0x72, 0x66, 0x14, 0x91,
|
||||
0xb1, 0x40, 0xbe, 0x80, 0xd5, 0xfc, 0x18, 0x4f, 0xae, 0xaa, 0x1a, 0xa5, 0x5f, 0x16, 0x2d, 0xe3,
|
||||
0x34, 0x91, 0xd4, 0xf4, 0x3d, 0x58, 0x49, 0xc6, 0xe1, 0x7c, 0x8c, 0x85, 0x21, 0xb9, 0xd5, 0x54,
|
||||
0x99, 0x82, 0x61, 0x2c, 0x90, 0x8f, 0x23, 0x65, 0x31, 0xda, 0xcd, 0x2a, 0x2b, 0x73, 0x6b, 0xeb,
|
||||
0x42, 0xc9, 0x90, 0x68, 0x2c, 0x90, 0xe7, 0x70, 0x7e, 0x47, 0x22, 0x74, 0xfc, 0x78, 0x93, 0xff,
|
||||
0xe7, 0x9d, 0x9c, 0x30, 0xf7, 0xe5, 0x8f, 0x56, 0xfe, 0xfe, 0x1b, 0x0b, 0xe4, 0x27, 0x0d, 0x2e,
|
||||
0xec, 0x60, 0x58, 0x7c, 0x0b, 0xc9, 0x8d, 0x72, 0x27, 0x27, 0xbc, 0x99, 0xad, 0xa7, 0xf3, 0xd6,
|
||||
0x6c, 0xde, 0xac, 0xb1, 0x40, 0xf6, 0xe5, 0xb1, 0xb3, 0xda, 0x23, 0x57, 0x4a, 0x8b, 0x2c, 0xcd,
|
||||
0x5e, 0xfb, 0x24, 0x76, 0x72, 0xd4, 0x4f, 0x7a, 0x7f, 0xbc, 0x6e, 0x6b, 0x7f, 0xbe, 0x6e, 0x6b,
|
||||
0x7f, 0xbf, 0x6e, 0x6b, 0x5f, 0xde, 0xfa, 0x97, 0x9f, 0xa3, 0x94, 0x5f, 0xce, 0x28, 0x67, 0xf6,
|
||||
0x88, 0xa1, 0x1b, 0x1e, 0x2e, 0xcb, 0x1f, 0x9f, 0x6e, 0xfd, 0x13, 0x00, 0x00, 0xff, 0xff, 0x9e,
|
||||
0x66, 0xb6, 0xa2, 0x58, 0x13, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
@@ -2291,6 +2300,16 @@ func (m *RepoServerAppDetailsQuery) MarshalToSizedBuffer(dAtA []byte) (int, erro
|
||||
i -= len(m.XXX_unrecognized)
|
||||
copy(dAtA[i:], m.XXX_unrecognized)
|
||||
}
|
||||
if m.NoRevisionCache {
|
||||
i--
|
||||
if m.NoRevisionCache {
|
||||
dAtA[i] = 1
|
||||
} else {
|
||||
dAtA[i] = 0
|
||||
}
|
||||
i--
|
||||
dAtA[i] = 0x38
|
||||
}
|
||||
if m.NoCache {
|
||||
i--
|
||||
if m.NoCache {
|
||||
@@ -3199,6 +3218,9 @@ func (m *RepoServerAppDetailsQuery) Size() (n int) {
|
||||
if m.NoCache {
|
||||
n += 2
|
||||
}
|
||||
if m.NoRevisionCache {
|
||||
n += 2
|
||||
}
|
||||
if m.XXX_unrecognized != nil {
|
||||
n += len(m.XXX_unrecognized)
|
||||
}
|
||||
@@ -5105,6 +5127,26 @@ func (m *RepoServerAppDetailsQuery) Unmarshal(dAtA []byte) error {
|
||||
}
|
||||
}
|
||||
m.NoCache = bool(v != 0)
|
||||
case 7:
|
||||
if wireType != 0 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field NoRevisionCache", wireType)
|
||||
}
|
||||
var v int
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowRepository
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
v |= int(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
m.NoRevisionCache = bool(v != 0)
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
skippy, err := skipRepository(dAtA[iNdEx:])
|
||||
|
||||
@@ -490,7 +490,7 @@ func getHelmDependencyRepos(appPath string) ([]*v1alpha1.Repository, error) {
|
||||
if u, err := url.Parse(r.Repository); err == nil && (u.Scheme == "https" || u.Scheme == "oci") {
|
||||
repo := &v1alpha1.Repository{
|
||||
Repo: r.Repository,
|
||||
Name: u.Host,
|
||||
Name: r.Repository,
|
||||
}
|
||||
repos = append(repos, repo)
|
||||
}
|
||||
@@ -1179,7 +1179,7 @@ func (s *Service) GetAppDetails(ctx context.Context, q *apiclient.RepoServerAppD
|
||||
return nil
|
||||
}
|
||||
|
||||
settings := operationSettings{allowConcurrent: q.Source.AllowsConcurrentProcessing(), noCache: q.NoCache, noRevisionCache: q.NoCache}
|
||||
settings := operationSettings{allowConcurrent: q.Source.AllowsConcurrentProcessing(), noCache: q.NoCache, noRevisionCache: q.NoCache || q.NoRevisionCache}
|
||||
err := s.runRepoOperation(ctx, q.Source.TargetRevision, q.Repo, q.Source, false, cacheFn, operation, settings)
|
||||
|
||||
return res, err
|
||||
@@ -1230,14 +1230,18 @@ func populateKsonnetAppDetails(res *apiclient.RepoAppDetailsResponse, appPath st
|
||||
}
|
||||
|
||||
func populateHelmAppDetails(res *apiclient.RepoAppDetailsResponse, appPath string, q *apiclient.RepoServerAppDetailsQuery) error {
|
||||
var valueFiles []string
|
||||
var selectedValueFiles []string
|
||||
|
||||
valueFiles, err := findHelmValueFilesInPath(appPath)
|
||||
if q.Source.Helm != nil {
|
||||
selectedValueFiles = q.Source.Helm.ValueFiles
|
||||
}
|
||||
|
||||
availableValueFiles, err := findHelmValueFilesInPath(appPath)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
res.Helm = &apiclient.HelmAppSpec{ValueFiles: valueFiles}
|
||||
res.Helm = &apiclient.HelmAppSpec{ValueFiles: availableValueFiles}
|
||||
var version string
|
||||
if q.Source.Helm != nil {
|
||||
if q.Source.Helm.Version != "" {
|
||||
@@ -1257,7 +1261,7 @@ func populateHelmAppDetails(res *apiclient.RepoAppDetailsResponse, appPath strin
|
||||
if err := loadFileIntoIfExists(filepath.Join(appPath, "values.yaml"), &res.Helm.Values); err != nil {
|
||||
return err
|
||||
}
|
||||
params, err := h.GetParameters(valueFiles)
|
||||
params, err := h.GetParameters(selectedValueFiles)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -81,6 +81,7 @@ message RepoServerAppDetailsQuery {
|
||||
github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.KustomizeOptions kustomizeOptions = 4;
|
||||
string appName = 5;
|
||||
bool noCache = 6;
|
||||
bool noRevisionCache = 7;
|
||||
}
|
||||
|
||||
// RepoAppDetailsResponse application details
|
||||
|
||||
@@ -3,6 +3,7 @@ package account
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"regexp"
|
||||
"sort"
|
||||
"time"
|
||||
|
||||
@@ -76,6 +77,22 @@ func (s *Server) UpdatePassword(ctx context.Context, q *account.UpdatePasswordRe
|
||||
}
|
||||
}
|
||||
|
||||
//Need to validate password complexity with regular expression
|
||||
passwordPattern, err := s.settingsMgr.GetPasswordPattern()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
validPasswordRegexp, err := regexp.Compile(passwordPattern)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if !validPasswordRegexp.Match([]byte(q.NewPassword)) {
|
||||
err := fmt.Errorf("New password does not match the following expression: %s.", passwordPattern)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
hashedPassword, err := password.HashPassword(q.NewPassword)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"context"
|
||||
"crypto/tls"
|
||||
"fmt"
|
||||
goio "io"
|
||||
"io/fs"
|
||||
"math"
|
||||
"net"
|
||||
@@ -12,7 +11,6 @@ import (
|
||||
"net/url"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
"regexp"
|
||||
"strings"
|
||||
gosync "sync"
|
||||
@@ -134,7 +132,6 @@ var (
|
||||
maxConcurrentLoginRequestsCount = 50
|
||||
replicasCount = 1
|
||||
enableGRPCTimeHistogram = true
|
||||
staticAssets = http.FS(&subDirFs{dir: "dist/app", fs: ui.Embedded})
|
||||
)
|
||||
|
||||
func init() {
|
||||
@@ -167,12 +164,14 @@ type ArgoCDServer struct {
|
||||
indexDataInit gosync.Once
|
||||
indexData []byte
|
||||
indexDataErr error
|
||||
staticAssets http.FileSystem
|
||||
}
|
||||
|
||||
type ArgoCDServerOpts struct {
|
||||
DisableAuth bool
|
||||
EnableGZip bool
|
||||
Insecure bool
|
||||
StaticAssetsDir string
|
||||
ListenPort int
|
||||
MetricsPort int
|
||||
Namespace string
|
||||
@@ -236,6 +235,11 @@ func NewServer(ctx context.Context, opts ArgoCDServerOpts) *ArgoCDServer {
|
||||
policyEnf := rbacpolicy.NewRBACPolicyEnforcer(enf, projLister)
|
||||
enf.SetClaimsEnforcerFunc(policyEnf.EnforceClaims)
|
||||
|
||||
var staticFS fs.FS = io.NewSubDirFS("dist/app", ui.Embedded)
|
||||
if opts.StaticAssetsDir != "" {
|
||||
staticFS = io.NewComposableFS(staticFS, os.DirFS(opts.StaticAssetsDir))
|
||||
}
|
||||
|
||||
return &ArgoCDServer{
|
||||
ArgoCDServerOpts: opts,
|
||||
log: log.NewEntry(log.StandardLogger()),
|
||||
@@ -248,6 +252,7 @@ func NewServer(ctx context.Context, opts ArgoCDServerOpts) *ArgoCDServer {
|
||||
appLister: appLister,
|
||||
policyEnforcer: policyEnf,
|
||||
userStateStorage: userStateStorage,
|
||||
staticAssets: http.FS(staticFS),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -367,6 +372,9 @@ func (a *ArgoCDServer) Run(ctx context.Context, port int, metricsPort int) {
|
||||
a.stopCh = make(chan struct{})
|
||||
<-a.stopCh
|
||||
errors.CheckError(conn.Close())
|
||||
if err := metricsServ.Shutdown(ctx); err != nil {
|
||||
log.Fatalf("Failed to gracefully shutdown metrics server: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func (a *ArgoCDServer) Initialized() bool {
|
||||
@@ -842,8 +850,8 @@ func (s *ArgoCDServer) getIndexData() ([]byte, error) {
|
||||
return s.indexData, s.indexDataErr
|
||||
}
|
||||
|
||||
func uiAssetExists(filename string) bool {
|
||||
f, err := staticAssets.Open(strings.Trim(filename, "/"))
|
||||
func (server *ArgoCDServer) uiAssetExists(filename string) bool {
|
||||
f, err := server.staticAssets.Open(strings.Trim(filename, "/"))
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
@@ -866,7 +874,7 @@ func (server *ArgoCDServer) newStaticAssetsHandler() func(http.ResponseWriter, *
|
||||
}
|
||||
}
|
||||
|
||||
fileRequest := r.URL.Path != "/index.html" && uiAssetExists(r.URL.Path)
|
||||
fileRequest := r.URL.Path != "/index.html" && server.uiAssetExists(r.URL.Path)
|
||||
|
||||
// Set X-Frame-Options according to configuration
|
||||
if server.XFrameOptions != "" {
|
||||
@@ -889,50 +897,13 @@ func (server *ArgoCDServer) newStaticAssetsHandler() func(http.ResponseWriter, *
|
||||
if err != nil {
|
||||
modTime = time.Now()
|
||||
}
|
||||
http.ServeContent(w, r, "index.html", modTime, byteReadSeeker{data: data})
|
||||
http.ServeContent(w, r, "index.html", modTime, io.NewByteReadSeeker(data))
|
||||
} else {
|
||||
http.FileServer(staticAssets).ServeHTTP(w, r)
|
||||
http.FileServer(server.staticAssets).ServeHTTP(w, r)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
type subDirFs struct {
|
||||
dir string
|
||||
fs fs.FS
|
||||
}
|
||||
|
||||
func (s subDirFs) Open(name string) (fs.File, error) {
|
||||
return s.fs.Open(filepath.Join(s.dir, name))
|
||||
}
|
||||
|
||||
type byteReadSeeker struct {
|
||||
data []byte
|
||||
offset int64
|
||||
}
|
||||
|
||||
func (f byteReadSeeker) Read(b []byte) (int, error) {
|
||||
if f.offset >= int64(len(f.data)) {
|
||||
return 0, goio.EOF
|
||||
}
|
||||
n := copy(b, f.data[f.offset:])
|
||||
f.offset += int64(n)
|
||||
return n, nil
|
||||
}
|
||||
|
||||
func (f byteReadSeeker) Seek(offset int64, whence int) (int64, error) {
|
||||
switch whence {
|
||||
case 1:
|
||||
offset += f.offset
|
||||
case 2:
|
||||
offset += int64(len(f.data))
|
||||
}
|
||||
if offset < 0 || offset > int64(len(f.data)) {
|
||||
return 0, &fs.PathError{Op: "seek", Err: fs.ErrInvalid}
|
||||
}
|
||||
f.offset = offset
|
||||
return offset, nil
|
||||
}
|
||||
|
||||
type registerFunc func(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) error
|
||||
|
||||
// mustRegisterGWHandler is a convenience function to register a gateway handler
|
||||
|
||||
@@ -99,6 +99,7 @@ func (s *Server) Get(ctx context.Context, q *settingspkg.SettingsQuery) (*settin
|
||||
UserLoginsDisabled: userLoginsDisabled,
|
||||
KustomizeVersions: kustomizeVersions,
|
||||
UiCssURL: argoCDSettings.UiCssURL,
|
||||
PasswordPattern: argoCDSettings.PasswordPattern,
|
||||
}
|
||||
|
||||
if sessionmgr.LoggedIn(ctx) || s.disableAuth {
|
||||
|
||||
@@ -33,6 +33,7 @@ message Settings {
|
||||
string uiCssURL = 14;
|
||||
string uiBannerContent = 15;
|
||||
string uiBannerURL = 16;
|
||||
string passwordPattern = 17;
|
||||
}
|
||||
|
||||
message GoogleAnalyticsConfig {
|
||||
|
||||
@@ -74,7 +74,7 @@ COPY --from=node /usr/local/bin/node /usr/local/bin
|
||||
COPY --from=node /opt/yarn-v1.22.4 /opt/yarn-v1.22.4
|
||||
|
||||
# Entrypoint is required for container's user management
|
||||
COPY ./test/container/uid_entrypoint.sh /usr/local/bin
|
||||
COPY ./test/container/entrypoint.sh /usr/local/bin
|
||||
|
||||
ARG UID
|
||||
|
||||
@@ -104,4 +104,4 @@ RUN useradd -l -u ${UID} -d /home/user -s /bin/bash user && \
|
||||
ln -s /opt/yarn-v1.22.4/bin/yarnpkg /usr/local/bin/yarnpkg && \
|
||||
mkdir -p /var/lib/registry && chmod -R 777 /var/lib/registry
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/uid_entrypoint.sh"]
|
||||
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
||||
|
||||
@@ -128,6 +128,11 @@ func (c *Context) HTTPSCredentialsUserPassAdded() *Context {
|
||||
return c
|
||||
}
|
||||
|
||||
func (c *Context) HelmHTTPSCredentialsUserPassAdded() *Context {
|
||||
repos.AddHelmHTTPSCredentialsTLSClientCert()
|
||||
return c
|
||||
}
|
||||
|
||||
func (c *Context) HelmoOCICredentialsWithoutUserPassAdded() *Context {
|
||||
repos.AddHelmoOCICredentialsWithoutUserPass()
|
||||
return c
|
||||
|
||||
@@ -86,6 +86,7 @@ const (
|
||||
RepoURLTypeSSHSubmodule = "ssh-sub"
|
||||
RepoURLTypeSSHSubmoduleParent = "ssh-par"
|
||||
RepoURLTypeHelm = "helm"
|
||||
RepoURLTypeHelmParent = "helm-par"
|
||||
RepoURLTypeHelmOCI = "helm-oci"
|
||||
GitUsername = "admin"
|
||||
GitPassword = "password"
|
||||
@@ -246,6 +247,9 @@ func RepoURL(urlType RepoURLType) string {
|
||||
// Default - file based Git repository
|
||||
case RepoURLTypeHelm:
|
||||
return GetEnvWithDefault(EnvRepoURLTypeHelm, "https://localhost:9444/argo-e2e/testdata.git/helm-repo/local")
|
||||
// When Helm Repo has sub repos, this is the parent repo URL
|
||||
case RepoURLTypeHelmParent:
|
||||
return GetEnvWithDefault(EnvRepoURLTypeHelm, "https://localhost:9444/argo-e2e/testdata.git/helm-repo")
|
||||
case RepoURLTypeHelmOCI:
|
||||
return HelmOCIRegistryURL
|
||||
default:
|
||||
|
||||
@@ -116,6 +116,25 @@ func AddHTTPSCredentialsTLSClientCert() {
|
||||
errors.FailOnErr(fixture.RunCli(args...))
|
||||
}
|
||||
|
||||
// AddHelmHTTPSCredentialsTLSClientCert adds credentials for Helm repos to context
|
||||
func AddHelmHTTPSCredentialsTLSClientCert() {
|
||||
certPath, err := filepath.Abs("../fixture/certs/argocd-test-client.crt")
|
||||
errors.CheckError(err)
|
||||
keyPath, err := filepath.Abs("../fixture/certs/argocd-test-client.key")
|
||||
errors.CheckError(err)
|
||||
args := []string{
|
||||
"repocreds",
|
||||
"add",
|
||||
fixture.RepoURL(fixture.RepoURLTypeHelmParent),
|
||||
"--username", fixture.GitUsername,
|
||||
"--password", fixture.GitPassword,
|
||||
"--tls-client-cert-path", certPath,
|
||||
"--tls-client-cert-key-path", keyPath,
|
||||
"--type", "helm",
|
||||
}
|
||||
errors.FailOnErr(fixture.RunCli(args...))
|
||||
}
|
||||
|
||||
// AddHelmoOCICredentialsWithoutUserPass adds credentials for Helm OIC repo to context
|
||||
func AddHelmoOCICredentialsWithoutUserPass() {
|
||||
args := []string{"repocreds", "add", fixture.RepoURL(fixture.RepoURLTypeHelmOCI),
|
||||
|
||||
@@ -350,6 +350,21 @@ func TestHelmWithDependencies(t *testing.T) {
|
||||
testHelmWithDependencies(t, "helm-with-dependencies", false)
|
||||
}
|
||||
|
||||
func TestHelmWithMultipleDependencies(t *testing.T) {
|
||||
SkipOnEnv(t, "HELM")
|
||||
|
||||
Given(t).Path("helm-with-multiple-dependencies").
|
||||
CustomCACertAdded().
|
||||
// these are slow tests
|
||||
Timeout(30).
|
||||
HelmHTTPSCredentialsUserPassAdded().
|
||||
When().
|
||||
Create().
|
||||
Sync().
|
||||
Then().
|
||||
Expect(SyncStatusIs(SyncStatusCodeSynced))
|
||||
}
|
||||
|
||||
func TestHelm2WithDependencies(t *testing.T) {
|
||||
SkipOnEnv(t, "HELM", "HELM2")
|
||||
testHelmWithDependencies(t, "helm2-with-dependencies", false)
|
||||
|
||||
0
test/e2e/testdata/helm-repo/local2/helm-1.0.0.tgz
vendored
Normal file
0
test/e2e/testdata/helm-repo/local2/helm-1.0.0.tgz
vendored
Normal file
0
test/e2e/testdata/helm-repo/local2/helm2-1.0.0.tgz
vendored
Normal file
0
test/e2e/testdata/helm-repo/local2/helm2-1.0.0.tgz
vendored
Normal file
13
test/e2e/testdata/helm-repo/local2/index.yaml
vendored
Normal file
13
test/e2e/testdata/helm-repo/local2/index.yaml
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
apiVersion: v1
|
||||
entries:
|
||||
helm:
|
||||
- created: 2019-07-08T23:26:50.723856689Z
|
||||
urls:
|
||||
- http://127.0.0.1:9080/argo-e2e/testdata.git/helm-repo/helm-1.0.0.tgz
|
||||
version: 1.0.0
|
||||
helm2:
|
||||
- created: "2020-03-02T08:16:19.960425-08:00"
|
||||
name: helm2
|
||||
urls:
|
||||
- http://127.0.0.1:9080/argo-e2e/testdata.git/helm-repo/helm2-1.0.0.tgz
|
||||
version: 1.0.0
|
||||
10
test/e2e/testdata/helm-with-multiple-dependencies/Chart.yaml
vendored
Normal file
10
test/e2e/testdata/helm-with-multiple-dependencies/Chart.yaml
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
apiVersion: v2
|
||||
name: helm-with-dependencies
|
||||
version: v1.0.0
|
||||
dependencies:
|
||||
- name: helm
|
||||
repository: "https://localhost:9444/argo-e2e/testdata.git/helm-repo/local"
|
||||
version: v1.0.0
|
||||
- name: helm2
|
||||
repository: "https://localhost:9444/argo-e2e/testdata.git/helm-repo/local2"
|
||||
version: v1.0.0
|
||||
@@ -36,7 +36,7 @@ COPY ./test/fixture/certs/argocd-e2e-server.key /etc/certs/argocd-test-server.ke
|
||||
COPY ./test/fixture/certs/argocd-test-ca.crt /etc/certs/argocd-test-ca.crt
|
||||
|
||||
# Entrypoint is required for container's user management
|
||||
COPY ./test/remote/uid_entrypoint.sh /usr/local/bin
|
||||
COPY ./test/remote/entrypoint.sh /usr/local/bin
|
||||
COPY ./test/remote/Procfile /Procfile
|
||||
|
||||
# We need goreman
|
||||
@@ -83,4 +83,4 @@ RUN echo "[http]" >> /tmp/argo-e2e/submodule.git/config && \
|
||||
RUN echo "[http]" >> /tmp/argo-e2e/submoduleParent.git/config && \
|
||||
echo " receivepack = true" >> /tmp/argo-e2e/submoduleParent.git/config
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/uid_entrypoint.sh"]
|
||||
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
||||
|
||||
@@ -45,7 +45,7 @@ export const CheckboxRow = (props: {value: boolean; onChange?: (value: boolean)
|
||||
}}
|
||||
/>
|
||||
{props.option.icon && <div style={{marginRight: '5px'}}>{props.option.icon}</div>}
|
||||
<div className='checkbox__item__label'>{props.option.label}</div>
|
||||
<div className='filter__item__label'>{props.option.label}</div>
|
||||
<div style={{marginLeft: 'auto'}}>{props.option.count}</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -114,13 +114,13 @@ export const ResourceDetails = (props: ResourceDetailsProps) => {
|
||||
}
|
||||
]);
|
||||
}
|
||||
if (ExtensionComponent) {
|
||||
if (ExtensionComponent && state) {
|
||||
tabs.push({
|
||||
title: 'More',
|
||||
key: 'extension',
|
||||
content: (
|
||||
<div>
|
||||
<ExtensionComponent node={node} tree={tree} />
|
||||
<ExtensionComponent tree={tree} resource={state} />
|
||||
</div>
|
||||
)
|
||||
});
|
||||
@@ -196,10 +196,16 @@ export const ResourceDetails = (props: ResourceDetailsProps) => {
|
||||
return tabs;
|
||||
};
|
||||
|
||||
const [extension] = useData(() => services.extensions.loadResourceExtension(selectedNode?.group || '', selectedNode?.kind || ''), null, null, [
|
||||
selectedNode?.group,
|
||||
selectedNode?.kind
|
||||
]);
|
||||
const [extension, , error] = useData(
|
||||
async () => {
|
||||
if (selectedNode?.kind && selectedNode?.group) {
|
||||
return await services.extensions.loadResourceExtension(selectedNode?.group || '', selectedNode?.kind || '');
|
||||
}
|
||||
},
|
||||
null,
|
||||
null,
|
||||
[selectedNode]
|
||||
);
|
||||
|
||||
return (
|
||||
<div style={{width: '100%', height: '100%'}}>
|
||||
@@ -272,7 +278,7 @@ export const ResourceDetails = (props: ResourceDetailsProps) => {
|
||||
</div>
|
||||
<Tabs
|
||||
navTransparent={true}
|
||||
tabs={getResourceTabs(selectedNode, data.liveState, data.podState, data.events, extension?.component, [
|
||||
tabs={getResourceTabs(selectedNode, data.liveState, data.podState, data.events, error.state ? null : extension?.component, [
|
||||
{
|
||||
title: 'SUMMARY',
|
||||
icon: 'fa fa-file-alt',
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import * as React from 'react';
|
||||
import {ApplicationTree, ResourceNode} from '../models';
|
||||
import {ApplicationTree, State} from '../models';
|
||||
|
||||
const extensions: {[key: string]: Extension} = {};
|
||||
const cache = new Map<string, Promise<Extension>>();
|
||||
@@ -9,7 +9,7 @@ export interface Extension {
|
||||
}
|
||||
|
||||
export interface ExtensionComponentProps {
|
||||
node: ResourceNode;
|
||||
resource: State;
|
||||
tree: ApplicationTree;
|
||||
}
|
||||
|
||||
|
||||
@@ -240,6 +240,8 @@ func ValidateRepo(
|
||||
Source: &spec.Source,
|
||||
Repos: permittedHelmRepos,
|
||||
KustomizeOptions: kustomizeOptions,
|
||||
// don't use case during application change to make sure to fetch latest git/helm revisions
|
||||
NoRevisionCache: true,
|
||||
})
|
||||
if err != nil {
|
||||
conditions = append(conditions, argoappv1.ApplicationCondition{
|
||||
|
||||
@@ -250,6 +250,7 @@ func TestValidateRepo(t *testing.T) {
|
||||
Source: &app.Spec.Source,
|
||||
Repos: helmRepos,
|
||||
KustomizeOptions: kustomizeOptions,
|
||||
NoRevisionCache: true,
|
||||
}).Return(&apiclient.RepoAppDetailsResponse{}, nil)
|
||||
|
||||
repo.Type = "git"
|
||||
|
||||
38
util/io/bytereadseeker.go
Normal file
38
util/io/bytereadseeker.go
Normal file
@@ -0,0 +1,38 @@
|
||||
package io
|
||||
|
||||
import (
|
||||
"io"
|
||||
"io/fs"
|
||||
)
|
||||
|
||||
func NewByteReadSeeker(data []byte) *byteReadSeeker {
|
||||
return &byteReadSeeker{data: data}
|
||||
}
|
||||
|
||||
type byteReadSeeker struct {
|
||||
data []byte
|
||||
offset int64
|
||||
}
|
||||
|
||||
func (f byteReadSeeker) Read(b []byte) (int, error) {
|
||||
if f.offset >= int64(len(f.data)) {
|
||||
return 0, io.EOF
|
||||
}
|
||||
n := copy(b, f.data[f.offset:])
|
||||
f.offset += int64(n)
|
||||
return n, nil
|
||||
}
|
||||
|
||||
func (f byteReadSeeker) Seek(offset int64, whence int) (int64, error) {
|
||||
switch whence {
|
||||
case 1:
|
||||
offset += f.offset
|
||||
case 2:
|
||||
offset += int64(len(f.data))
|
||||
}
|
||||
if offset < 0 || offset > int64(len(f.data)) {
|
||||
return 0, &fs.PathError{Op: "seek", Err: fs.ErrInvalid}
|
||||
}
|
||||
f.offset = offset
|
||||
return offset, nil
|
||||
}
|
||||
23
util/io/componsablefs.go
Normal file
23
util/io/componsablefs.go
Normal file
@@ -0,0 +1,23 @@
|
||||
package io
|
||||
|
||||
import "io/fs"
|
||||
|
||||
type composableFS struct {
|
||||
innerFS []fs.FS
|
||||
}
|
||||
|
||||
// NewComposableFS creates files system that attempts reading file from multiple wrapped file systems
|
||||
func NewComposableFS(innerFS ...fs.FS) *composableFS {
|
||||
return &composableFS{innerFS: innerFS}
|
||||
}
|
||||
|
||||
// Open attempts open file in wrapped file systems and returns first successful
|
||||
func (c composableFS) Open(name string) (f fs.File, err error) {
|
||||
for i := range c.innerFS {
|
||||
f, err = c.innerFS[i].Open(name)
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
20
util/io/subdirfs.go
Normal file
20
util/io/subdirfs.go
Normal file
@@ -0,0 +1,20 @@
|
||||
package io
|
||||
|
||||
import (
|
||||
"io/fs"
|
||||
"path/filepath"
|
||||
)
|
||||
|
||||
type subDirFs struct {
|
||||
dir string
|
||||
fs fs.FS
|
||||
}
|
||||
|
||||
func (s subDirFs) Open(name string) (fs.File, error) {
|
||||
return s.fs.Open(filepath.Join(s.dir, name))
|
||||
}
|
||||
|
||||
// NewSubDirFS returns file system that represents sub-directory in a wrapped file system
|
||||
func NewSubDirFS(dir string, fs fs.FS) *subDirFs {
|
||||
return &subDirFs{dir: dir, fs: fs}
|
||||
}
|
||||
@@ -82,6 +82,8 @@ type ArgoCDSettings struct {
|
||||
UiBannerContent string `json:"uiBannerContent,omitempty"`
|
||||
// URL for UI Banner
|
||||
UiBannerURL string `json:"uiBannerURL,omitempty"`
|
||||
// PasswordPattern for password regular expression
|
||||
PasswordPattern string `json:"passwordPattern,omitempty"`
|
||||
}
|
||||
|
||||
type GoogleAnalytics struct {
|
||||
@@ -309,6 +311,8 @@ const (
|
||||
externalServerTLSSecretName = "argocd-server-tls"
|
||||
// partOfArgoCDSelector holds label selector that should be applied to config maps and secrets used to manage Argo CD
|
||||
partOfArgoCDSelector = "app.kubernetes.io/part-of=argocd"
|
||||
// settingsPasswordPatternKey is the key to configure user password regular expression
|
||||
settingsPasswordPatternKey = "passwordPattern"
|
||||
)
|
||||
|
||||
// SettingsManager holds config info for a new manager with which to access Kubernetes ConfigMaps.
|
||||
@@ -515,6 +519,18 @@ func (mgr *SettingsManager) GetAppInstanceLabelKey() (string, error) {
|
||||
return label, nil
|
||||
}
|
||||
|
||||
func (mgr *SettingsManager) GetPasswordPattern() (string, error) {
|
||||
argoCDCM, err := mgr.getConfigMap()
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
label := argoCDCM.Data[settingsPasswordPatternKey]
|
||||
if label == "" {
|
||||
return common.PasswordPatten, nil
|
||||
}
|
||||
return label, nil
|
||||
}
|
||||
|
||||
func (mgr *SettingsManager) GetConfigManagementPlugins() ([]v1alpha1.ConfigManagementPlugin, error) {
|
||||
argoCDCM, err := mgr.getConfigMap()
|
||||
if err != nil {
|
||||
@@ -1039,6 +1055,10 @@ func updateSettingsFromConfigMap(settings *ArgoCDSettings, argoCDCM *apiv1.Confi
|
||||
} else {
|
||||
settings.UserSessionDuration = time.Hour * 24
|
||||
}
|
||||
settings.PasswordPattern = argoCDCM.Data[settingsPasswordPatternKey]
|
||||
if settings.PasswordPattern == "" {
|
||||
settings.PasswordPattern = common.PasswordPatten
|
||||
}
|
||||
}
|
||||
|
||||
// validateExternalURL ensures the external URL that is set on the configmap is valid
|
||||
|
||||
Reference in New Issue
Block a user