2801 lines
114 KiB
JSON
2801 lines
114 KiB
JSON
{
|
|
"title": "Chart Values",
|
|
"type": "object",
|
|
"properties": {
|
|
"namespace": {
|
|
"type": "string",
|
|
"description": "The name of the namespace in which Speckle will be deployed.",
|
|
"default": "speckle-test"
|
|
},
|
|
"create_namespace": {
|
|
"type": "boolean",
|
|
"description": "Enabling this will create a new namespace into which Speckle will be deployed",
|
|
"default": false
|
|
},
|
|
"domain": {
|
|
"type": "string",
|
|
"description": "The DNS host name at which this Speckle deployment will be reachable",
|
|
"default": "localhost"
|
|
},
|
|
"ssl_canonical_url": {
|
|
"type": "boolean",
|
|
"description": "HTTPS protocol will be the preferred protocol for serving this Speckle deployment",
|
|
"default": true
|
|
},
|
|
"tlsRejectUnauthorized": {
|
|
"type": "string",
|
|
"description": "If '1' (true), Speckle will reject any SSL certificates that are not signed by a trusted Certificate Authority. Should only be disabled in a trusted local development environment. https://nodejs.org/api/cli.html#node_tls_reject_unauthorizedvalue",
|
|
"default": "1"
|
|
},
|
|
"cert_manager_issuer": {
|
|
"type": "string",
|
|
"description": "The name of the ClusterIssuer kubernetes resource that provides the SSL Certificate",
|
|
"default": "letsencrypt-staging"
|
|
},
|
|
"featureFlags": {
|
|
"type": "object",
|
|
"properties": {
|
|
"automateModuleEnabled": {
|
|
"type": "boolean",
|
|
"description": "High level flag fully toggles the integrated automate module",
|
|
"default": false
|
|
},
|
|
"gendoAIModuleEnabled": {
|
|
"type": "boolean",
|
|
"description": "High level flag that toggles the Gendo AI render module",
|
|
"default": false
|
|
},
|
|
"workspacesModuleEnabled": {
|
|
"type": "boolean",
|
|
"description": "High level flag fully toggles the workspaces module",
|
|
"default": false
|
|
},
|
|
"personalProjectLimitsEnabled": {
|
|
"type": "boolean",
|
|
"description": "High level flag toggles personal (non-workspace) project limits",
|
|
"default": false
|
|
},
|
|
"workspacesSSOEnabled": {
|
|
"type": "boolean",
|
|
"description": "High level flag fully toggles the workspaces dynamic sso",
|
|
"default": false
|
|
},
|
|
"multipleEmailsModuleEnabled": {
|
|
"type": "boolean",
|
|
"description": "High level flag fully toggles multiple emails",
|
|
"default": false
|
|
},
|
|
"gatekeeperModuleEnabled": {
|
|
"type": "boolean",
|
|
"description": "High level flag that enables the gatekeeper module",
|
|
"default": false
|
|
},
|
|
"billingIntegrationEnabled": {
|
|
"type": "boolean",
|
|
"description": "High level flag that enables the billing integration",
|
|
"default": false
|
|
},
|
|
"workspacesMultiRegionEnabled": {
|
|
"type": "boolean",
|
|
"description": "Toggles whether multi-region is available within workspaces. workspacesModuleEnabled must also be enabled.",
|
|
"default": false
|
|
},
|
|
"forceEmailVerification": {
|
|
"type": "boolean",
|
|
"description": "Forces email verification for all users",
|
|
"default": false
|
|
},
|
|
"forceOnboarding": {
|
|
"type": "boolean",
|
|
"description": "Forces onboarding for all users",
|
|
"default": false
|
|
},
|
|
"workspacesNewPlanEnabled": {
|
|
"type": "boolean",
|
|
"description": "Toggles whether the new (Q1 2025) plans for workspaces are available. workspacesModuleEnabled must also be enabled for this to take effect.",
|
|
"default": false
|
|
},
|
|
"moveProjectRegionEnabled": {
|
|
"type": "boolean",
|
|
"description": "Enables the ability to move a project region (manually or automatically)",
|
|
"default": false
|
|
},
|
|
"retryErroredPreviewsEnabled": {
|
|
"type": "boolean",
|
|
"description": "Toggles whether the system periodically retries preview requests which have previously errored.",
|
|
"default": false
|
|
},
|
|
"nextGenFileImporterEnabled": {
|
|
"type": "boolean",
|
|
"description": "Enables the next generation file importer. Requires ifc_import_service to be enabled and configured.",
|
|
"default": false
|
|
},
|
|
"legacyFileImportsEnabled": {
|
|
"type": "boolean",
|
|
"description": "Enables the legacy file upload mechanism, using REST API to proxy file uploads via the server",
|
|
"default": false
|
|
},
|
|
"accIntegrationEnabled": {
|
|
"type": "boolean",
|
|
"description": "Enables the ability to import data from ACC",
|
|
"default": false
|
|
},
|
|
"dashboardsModuleEnabled": {
|
|
"type": "boolean",
|
|
"description": "Enables the ability to create and manage dashboards",
|
|
"default": false
|
|
},
|
|
"rhinoFileImporterEnabled": {
|
|
"type": "boolean",
|
|
"description": "Enables the dedicated Rhino based file importer. This is not part of the deployment.",
|
|
"default": false
|
|
},
|
|
"savedViewsEnabled": {
|
|
"type": "boolean",
|
|
"description": "Enables the ability to create and manage saved views",
|
|
"default": false
|
|
},
|
|
"usersInviteScopeIsPublic": {
|
|
"type": "boolean",
|
|
"description": "Enables the ability to create Personal Access Tokens (PAT) with users:invite privileges. WARNING: This can be used by untrusted users to send spam; do not enable on servers which allow public registration or to which untrusted users have been, or will be, invited.",
|
|
"default": false
|
|
},
|
|
"noPersonalEmailsEnabled": {
|
|
"type": "boolean",
|
|
"description": "Disables personal emails for new accounts",
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
"analytics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enable or disable analytics",
|
|
"default": true
|
|
},
|
|
"mixpanel_token_id": {
|
|
"type": "string",
|
|
"description": "The Mixpanel token ID used to identify this Speckle deployment in MixPanel",
|
|
"default": "acd87c5a50b56df91a795e999812a3a4"
|
|
},
|
|
"mixpanel_api_host": {
|
|
"type": "string",
|
|
"description": "The Mixpanel API host to which analytics data will be sent",
|
|
"default": "https://analytics.speckle.systems"
|
|
}
|
|
}
|
|
},
|
|
"dashboards": {
|
|
"type": "object",
|
|
"properties": {
|
|
"origin": {
|
|
"type": "string",
|
|
"description": "The origin of the dashboards deployment",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"networkPlugin": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"description": "(Optional) Used to configure which type of NetworkPolicy is deployed. Options are 'kubernetes' or 'cilium'.",
|
|
"default": "kubernetes"
|
|
}
|
|
}
|
|
},
|
|
"ingress": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, the ingress resources will be deployed",
|
|
"default": true
|
|
},
|
|
"namespace": {
|
|
"type": "string",
|
|
"description": "The namespace in which the ingress controller is deployed.",
|
|
"default": "ingress-nginx"
|
|
},
|
|
"controllerName": {
|
|
"type": "string",
|
|
"description": "The name of the Kubernetes pod in which the ingress controller is deployed.",
|
|
"default": "ingress-nginx"
|
|
},
|
|
"client_max_body_size_mb": {
|
|
"type": "number",
|
|
"description": "This maximum size of the body of any request (except file uploads) that can be sent to Speckle. For file uploads, the maximum size is defined by the `.file_size_limit_mb` parameter.",
|
|
"default": 10
|
|
}
|
|
}
|
|
},
|
|
"docker_image_tag": {
|
|
"type": "string",
|
|
"description": "DEPRECATED: Use `{service}.image` with full image name instead. Speckle is published as a Docker Image. The version of the image which will be deployed is specified by this tag.",
|
|
"default": "2"
|
|
},
|
|
"imagePullPolicy": {
|
|
"type": "string",
|
|
"description": "Determines the conditions when the Docker Images for Speckle should be pulled from the Image registry.",
|
|
"default": "IfNotPresent"
|
|
},
|
|
"secretName": {
|
|
"type": "string",
|
|
"description": "Deprecated, please use individual secret parameters. This is the name of the Kubernetes Secret resource in which secrets for Speckle are stored. Secrets within this Secret resource may include Postgres and Redis connectin strings, S3 secret values, email server passwords, etc..",
|
|
"default": "server-vars"
|
|
},
|
|
"file_size_limit_mb": {
|
|
"type": "number",
|
|
"description": "This maximum size of any single file (unit is Megabytes) that can be uploaded to Speckle",
|
|
"default": 100
|
|
},
|
|
"file_import_time_limit_min": {
|
|
"type": "number",
|
|
"description": "The maximum time (unit is minutes) that the file import service will attempt to process the file before it is considered to have failed",
|
|
"default": 30
|
|
},
|
|
"file_upload_url_expiry_minutes": {
|
|
"type": "number",
|
|
"description": "The number of minutes for which the file upload URL is valid. After this time, the URL will no longer be valid and the file cannot be uploaded.",
|
|
"default": 1440
|
|
},
|
|
"objects_size_limit_mb": {
|
|
"type": "number",
|
|
"description": "This maximum size of the POST request body (unit is Megabytes) that can be sent to the Speckle Objects REST APIs.",
|
|
"default": 100
|
|
},
|
|
"enable_prometheus_monitoring": {
|
|
"type": "boolean",
|
|
"description": "If enabled, Speckle deploys a Prometheus ServiceMonitor resource",
|
|
"default": false
|
|
},
|
|
"prometheusMonitoring": {
|
|
"type": "object",
|
|
"properties": {
|
|
"namespace": {
|
|
"type": "string",
|
|
"description": "If provided, deploys Speckle's Prometheus resources (e.g. ServiceMonitor) in the given namespace",
|
|
"default": ""
|
|
},
|
|
"release": {
|
|
"type": "string",
|
|
"description": "If provided, adds the value to a `release` label on all the Prometheus resources deployed by Speckle",
|
|
"default": ""
|
|
},
|
|
"networkPolicy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"inCluster": {
|
|
"type": "object",
|
|
"properties": {
|
|
"kubernetes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"podSelector": {
|
|
"type": "object",
|
|
"description": "(Kubernetes Network Policy only) The pod Selector yaml object used to uniquely select the prometheus pods within the cluster and given namespace",
|
|
"default": {}
|
|
},
|
|
"namespaceSelector": {
|
|
"type": "object",
|
|
"description": "(Kubernetes Network Policy only) The namespace selector yaml object used to uniquely select the namespace in which the prometheus pods are deployed",
|
|
"default": {}
|
|
}
|
|
}
|
|
},
|
|
"cilium": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fromEndpoints": {
|
|
"type": "array",
|
|
"description": "(Cilium Network Policy only) The endpoint selector yaml object used to uniquely select the in-cluster endpoint in which the prometheus pods are deployed",
|
|
"default": [],
|
|
"items": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"db": {
|
|
"type": "object",
|
|
"properties": {
|
|
"useCertificate": {
|
|
"type": "boolean",
|
|
"description": "If enabled, the certificate defined in db.certificate is used to verify TLS connections to the Postgres database",
|
|
"default": false
|
|
},
|
|
"maxConnectionsServer": {
|
|
"type": "number",
|
|
"description": "The number of connections to the Postgres database to provide in the connection pool",
|
|
"default": 8
|
|
},
|
|
"certificate": {
|
|
"type": "string",
|
|
"description": "The x509 public certificate for SSL connections to the Postgres database. Use of this certificate requires db.useCertificate to be enabled and an appropriate value for db.PGSSLMODE provided.",
|
|
"default": ""
|
|
},
|
|
"PGSSLMODE": {
|
|
"type": "string",
|
|
"description": "This defines the level of security used when connecting to the Postgres database",
|
|
"default": "require"
|
|
},
|
|
"connectionAcquisitionTimeoutMillis": {
|
|
"type": "number",
|
|
"description": "The maximum time in milliseconds to wait for a connection to be acquired from the connection pool.",
|
|
"default": 15000
|
|
},
|
|
"connectionCreateTimeoutMillis": {
|
|
"type": "number",
|
|
"description": "The maximum time in milliseconds to wait for a new connection to be created in the connection pool. Should be less than the acquisition timeout, as a new connection may need to be created then acquired.",
|
|
"default": 5000
|
|
},
|
|
"knexAsyncStackTracesEnabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will provide better stack traces for errors arising out of knex operations",
|
|
"default": false
|
|
},
|
|
"knexImprovedTelemetryStackTraces": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will provide better stack traces for knex telemetry",
|
|
"default": false
|
|
},
|
|
"databaseName": {
|
|
"type": "string",
|
|
"description": "(Optional) The name of the Postgres database to which Speckle will connect. Only required for the Database Monitoring utility when the connection string is to a database connection pool and multi-region is disabled, otherwise this value is ignored.",
|
|
"default": ""
|
|
},
|
|
"connectionString": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretName": {
|
|
"type": "string",
|
|
"description": "Required. A secret containing the full connection string to the Postgres database (e.g. in format of `protocol://username:password@host:port/database`) stored within the Kubernetes cluster as an opaque Kubernetes Secret. Ref: https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets",
|
|
"default": ""
|
|
},
|
|
"secretKey": {
|
|
"type": "string",
|
|
"description": "Required. The key within the Kubernetes Secret holding the connection string.",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"networkPolicy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"externalToCluster": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, indicates that the Postgres database is hosted externally to the Kubernetes cluster",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"inCluster": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, indicates that the Postgres database is hosted withing the same Kubernetes cluster in which Speckle will be deployed",
|
|
"default": false
|
|
},
|
|
"port": {
|
|
"type": "string",
|
|
"description": "the port on the server providing the Postgres database (default: \"5432\")",
|
|
"default": ""
|
|
},
|
|
"kubernetes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"podSelector": {
|
|
"type": "object",
|
|
"description": "(Kubernetes Network Policy only) The pod Selector yaml object used to uniquely select the postgres compatible database pods within the cluster and given namespace",
|
|
"default": {}
|
|
},
|
|
"namespaceSelector": {
|
|
"type": "object",
|
|
"description": "(Kubernetes Network Policy only) The namespace selector yaml object used to uniquely select the namespace in which the postgres compatible database pods are deployed",
|
|
"default": {}
|
|
}
|
|
}
|
|
},
|
|
"cilium": {
|
|
"type": "object",
|
|
"properties": {
|
|
"endpointSelector": {
|
|
"type": "object",
|
|
"description": "(Cilium Network Policy only) The endpoint selector yaml object used to uniquely select the in-cluster endpoint in which the postgres compatible database pods are deployed",
|
|
"default": {}
|
|
},
|
|
"serviceSelector": {
|
|
"type": "object",
|
|
"description": "(Cilium Network Policy only) The service selector yaml object used to uniquely select the in-cluster service providing the postgres compatible database service",
|
|
"default": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"s3": {
|
|
"type": "object",
|
|
"properties": {
|
|
"configMap": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, the s3.endpoint, s3.bucket, and s3.access_key values will be determined from a configMap and the values provided in this helm release ignored.",
|
|
"default": false
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the ConfigMap in which values for the keys (`endpoint`, `bucket`, and `access_key`) are provided. Expected to be in the namespace defined by the `namespace` parameter of this Helm Chart.",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"endpoint": {
|
|
"type": "string",
|
|
"description": "The URL at which the s3 compatible storage is hosted. If `s3.configMap.enabled` is true, this value is ignored.",
|
|
"default": ""
|
|
},
|
|
"publicEndpoint": {
|
|
"type": "string",
|
|
"description": "The URL at which the s3 compatible storage is accessible from a user's browser.",
|
|
"default": ""
|
|
},
|
|
"bucket": {
|
|
"type": "string",
|
|
"description": "The s3 compatible bucket in which Speckle data will be stored. If `s3.configMap.enabled` is true, this value is ignored.",
|
|
"default": ""
|
|
},
|
|
"access_key": {
|
|
"type": "string",
|
|
"description": "The key of the access key used to authenticate with the s3 compatible storage. If `s3.configMap.enabled` is true, this value is ignored.",
|
|
"default": ""
|
|
},
|
|
"secret_key": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretName": {
|
|
"type": "string",
|
|
"description": "Required. A Kubernetes secret containing the s3 secret_key. This is expected to be the name of an opaque Kubernetes Secret. Ref: https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets",
|
|
"default": ""
|
|
},
|
|
"secretKey": {
|
|
"type": "string",
|
|
"description": "Required. The key within the Kubernetes Secret, the value of which is the s3 secret.",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"create_bucket": {
|
|
"type": "string",
|
|
"description": "If enabled, will create a bucket with the given bucket name at this endpoint",
|
|
"default": "false"
|
|
},
|
|
"region": {
|
|
"type": "string",
|
|
"description": "The region in which the bucket resides (or will be created in).",
|
|
"default": ""
|
|
},
|
|
"networkPolicy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"port": {
|
|
"type": "string",
|
|
"description": "the port on the server providing the s3 compatible storage (default: \"443\")",
|
|
"default": ""
|
|
},
|
|
"externalToCluster": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, indicates that the s3 compatible storage is hosted externally to the Kubernetes cluster",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"inCluster": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, indicates that the s3 compatible storage is hosted withing the same Kubernetes cluster in which Speckle will be deployed",
|
|
"default": false
|
|
},
|
|
"kubernetes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"podSelector": {
|
|
"type": "object",
|
|
"description": "(Kubernetes Network Policy only) The pod Selector yaml object used to uniquely select the s3 compatible storage pods within the cluster and given namespace",
|
|
"default": {}
|
|
},
|
|
"namespaceSelector": {
|
|
"type": "object",
|
|
"description": "(Kubernetes Network Policy only) The namespace selector yaml object used to uniquely select the namespace in which the s3 compatible storage pods are deployed",
|
|
"default": {}
|
|
}
|
|
}
|
|
},
|
|
"cilium": {
|
|
"type": "object",
|
|
"properties": {
|
|
"endpointSelector": {
|
|
"type": "object",
|
|
"description": "(Cilium Network Policy only) The endpoint selector yaml object used to uniquely select the in-cluster endpoint in which the s3 compatible storage pods are deployed",
|
|
"default": {}
|
|
},
|
|
"serviceSelector": {
|
|
"type": "object",
|
|
"description": "(Cilium Network Policy only) The service selector yaml object used to uniquely select the in-cluster service providing the s3 compatible storage service",
|
|
"default": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"redis": {
|
|
"type": "object",
|
|
"properties": {
|
|
"connectionString": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretName": {
|
|
"type": "string",
|
|
"description": "Required. A secret containing the full connection string to the Redis store (e.g. in format of `protocol://username:password@host:port/database`) stored within the Kubernetes cluster as an opaque Kubernetes Secret. Ref: https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets",
|
|
"default": ""
|
|
},
|
|
"secretKey": {
|
|
"type": "string",
|
|
"description": "Required. The key within the Kubernetes Secret holding the Redis connection string.",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"previewServiceConnectionString": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretName": {
|
|
"type": "string",
|
|
"description": "Required. A secret containing the full connection string to the Redis store (e.g. in format of `protocol://username:password@host:port/database`) stored within the Kubernetes cluster as an opaque Kubernetes Secret. Ref: https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets",
|
|
"default": ""
|
|
},
|
|
"secretKey": {
|
|
"type": "string",
|
|
"description": "Required. The key within the Kubernetes Secret holding the Redis connection string.",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"networkPolicy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"externalToCluster": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, indicates that the Redis store is hosted externally to the Kubernetes cluster",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"inCluster": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, indicates that the Redis store is hosted withing the same Kubernetes cluster in which Speckle will be deployed",
|
|
"default": false
|
|
},
|
|
"port": {
|
|
"type": "string",
|
|
"description": "the port on the server providing the Redis store (default: \"6379\")",
|
|
"default": ""
|
|
},
|
|
"kubernetes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"podSelector": {
|
|
"type": "object",
|
|
"description": "(Kubernetes Network Policy only) The pod Selector yaml object used to uniquely select the redis store pods within the cluster and given namespace",
|
|
"default": {}
|
|
},
|
|
"namespaceSelector": {
|
|
"type": "object",
|
|
"description": "(Kubernetes Network Policy only) The namespace selector yaml object used to uniquely select the namespace in which the redis store pods are deployed",
|
|
"default": {}
|
|
}
|
|
}
|
|
},
|
|
"cilium": {
|
|
"type": "object",
|
|
"properties": {
|
|
"endpointSelector": {
|
|
"type": "object",
|
|
"description": "(Cilium Network Policy only) The endpoint selector yaml object used to uniquely select the in-cluster endpoint in which the redis pods are deployed",
|
|
"default": {}
|
|
},
|
|
"serviceSelector": {
|
|
"type": "object",
|
|
"description": "(Cilium Network Policy only) The service selector yaml object used to uniquely select the in-cluster service providing the redis store service",
|
|
"default": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"openTelemetry": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tracing": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "Required. The URL to which the opentelemetry traces will be exported.",
|
|
"default": ""
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"description": "Required. The key to be used when exporting opentelemetry traces.",
|
|
"default": ""
|
|
},
|
|
"value": {
|
|
"type": "string",
|
|
"description": "Required. The value to be used when exporting opentelemetry traces.",
|
|
"default": ""
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"multiRegion": {
|
|
"type": "object",
|
|
"properties": {
|
|
"config": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretName": {
|
|
"type": "string",
|
|
"description": "If workspacesMultiRegionEnabled is enabled, the server will be deployed in a multi-region configuration based on the values in a secret. This allows the default secret name to be overridden.",
|
|
"default": "multi-region-config"
|
|
},
|
|
"secretKey": {
|
|
"type": "string",
|
|
"description": "If workspacesMultiRegionEnabled is enabled, the server will be deployed in a multi-region configuration based on the values in a secret. This allows the default secret key and filename to be overridden.",
|
|
"default": "multi-region-config.json"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"imagePullSecrets": {
|
|
"type": "array",
|
|
"description": "The name of the Kubernetes Secret resource in which the Docker image pull secrets are stored. This is expected to be an opaque Kubernetes Secret. Ref: https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"billing": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretName": {
|
|
"type": "string",
|
|
"description": "The name of the Kubernetes Secret containing the Session secret. This is a unique value (can be generated randomly). This is expected to be provided within the Kubernetes cluster as an opaque Kubernetes Secret. Ref: https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets",
|
|
"default": ""
|
|
},
|
|
"stripeApiKey": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretKey": {
|
|
"type": "string",
|
|
"description": "The key within the Kubernetes Secret holding the stripeApiKey secret as its value.",
|
|
"default": "stripeApiKey"
|
|
}
|
|
}
|
|
},
|
|
"stripeEndpointSigningKey": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretKey": {
|
|
"type": "string",
|
|
"description": "The key within the Kubernetes Secret holding the stripeEndpointSigningKey secret as its value.",
|
|
"default": "stripeEndpointSigningKey"
|
|
}
|
|
}
|
|
},
|
|
"workspaceGuestSeatStripeProductId": {
|
|
"type": "string",
|
|
"description": "The workspace Guest Seat Product Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceMonthlyGuestSeatStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Monthly Guest Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceYearlyGuestSeatStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Yearly Guest Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceStarterSeatStripeProductId": {
|
|
"type": "string",
|
|
"description": "The workspace Starter Seat Product Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceMonthlyStarterSeatStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Monthly Starter Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceYearlyStarterSeatStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Yearly Starter Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspacePlusSeatStripeProductId": {
|
|
"type": "string",
|
|
"description": "The workspace Plus Seat Product Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceMonthlyPlusSeatStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Monthly Plus Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceYearlyPlusSeatStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Yearly Plus Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceBusinessSeatStripeProductId": {
|
|
"type": "string",
|
|
"description": "The workspace Business Seat Product Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceMonthlyBusinessSeatStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Monthly Business Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceYearlyBusinessSeatStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Yearly Business Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceTeamSeatStripeProductId": {
|
|
"type": "string",
|
|
"description": "The workspace Team Seat Product Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceMonthlyTeamSeatGbpStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Monthly Team Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceYearlyTeamSeatGbpStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Yearly Team Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceMonthlyTeamSeatUsdStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Monthly Team Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceYearlyTeamSeatUsdStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Yearly Team Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceTeamUnlimitedSeatStripeProductId": {
|
|
"type": "string",
|
|
"description": "The workspace Team Unlimited Seat Product Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceMonthlyTeamUnlimitedSeatGbpStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Monthly Team Unlimited Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceYearlyTeamUnlimitedSeatGbpStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Yearly Team Unlimited Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceMonthlyTeamUnlimitedSeatUsdStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Monthly Team Unlimited Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceYearlyTeamUnlimitedSeatUsdStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Yearly Team Unlimited Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceProSeatStripeProductId": {
|
|
"type": "string",
|
|
"description": "The workspace Pro Seat Product Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceMonthlyProSeatGbpStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Monthly Pro Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceYearlyProSeatGbpStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Yearly Pro Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceMonthlyProSeatUsdStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Monthly Pro Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceYearlyProSeatUsdStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Yearly Pro Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceProUnlimitedSeatStripeProductId": {
|
|
"type": "string",
|
|
"description": "The workspace Pro Unlimited Seat Product Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceMonthlyProUnlimitedSeatGbpStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Monthly Pro Unlimited Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceYearlyProUnlimitedSeatGbpStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Yearly Pro Unlimited Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceMonthlyProUnlimitedSeatUsdStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Monthly Pro Unlimited Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
},
|
|
"workspaceYearlyProUnlimitedSeatUsdStripePriceId": {
|
|
"type": "string",
|
|
"description": "The workspace Yearly Pro Unlimited Seat Price Id as configured in Stripe.",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"server": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, the Speckle server will be deployed",
|
|
"default": true
|
|
},
|
|
"replicas": {
|
|
"type": "number",
|
|
"description": "The number of instances of the Server pod to be deployed within the cluster.",
|
|
"default": 1
|
|
},
|
|
"logLevel": {
|
|
"type": "string",
|
|
"description": "The minimum level of logs which will be output. Suitable values are trace, debug, info, warn, error, fatal, or silent",
|
|
"default": "info"
|
|
},
|
|
"logPretty": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will output logs in a human-readable format. Otherwise, logs will be output in JSON format.",
|
|
"default": false
|
|
},
|
|
"image": {
|
|
"type": "string",
|
|
"description": "The Docker image to be used for the Speckle Server component. If blank, defaults to speckle/speckle-server:{{ .Values.docker_image_tag }}. If provided, this value should be the full path including tag. The docker_image_tag value will be ignored.",
|
|
"default": ""
|
|
},
|
|
"enableFe2Messaging": {
|
|
"type": "boolean",
|
|
"description": "If enabled, the related FE1 deployment will show banners/messages about the new frontend",
|
|
"default": false
|
|
},
|
|
"onboarding": {
|
|
"type": "object",
|
|
"properties": {
|
|
"stream_url": {
|
|
"type": "string",
|
|
"description": "The (cross-server) URL to the project/stream that should be used as the onboarding project base.",
|
|
"default": "https://latest.speckle.systems/projects/843d07eb10"
|
|
},
|
|
"stream_cache_bust_number": {
|
|
"type": "number",
|
|
"description": "Increase this number to trigger the re-pulling of the base stream",
|
|
"default": 1
|
|
}
|
|
}
|
|
},
|
|
"inspect": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, indicates that the Speckle server should be deployed with the nodejs inspect feature enabled",
|
|
"default": false
|
|
},
|
|
"port": {
|
|
"type": "string",
|
|
"description": "The port on which the nodejs inspect feature should be exposed",
|
|
"default": "7000"
|
|
}
|
|
}
|
|
},
|
|
"adminOverrideEnabled": {
|
|
"type": "boolean",
|
|
"description": "Enables the server side admin authz override",
|
|
"default": false
|
|
},
|
|
"weeklyDigestEnabled": {
|
|
"type": "boolean",
|
|
"description": "Enables sending out the serevr weekly digest emails",
|
|
"default": false
|
|
},
|
|
"max_object_size_mb": {
|
|
"type": "number",
|
|
"description": "The maximum size of an individual object which can be uploaded to the server",
|
|
"default": 100
|
|
},
|
|
"max_object_upload_file_size_mb": {
|
|
"type": "number",
|
|
"description": "Objects are batched together and uploaded to the /objects endpoint as http POST form data. This determines the maximum size of that form data which can be uploaded to the server. It should be greater than or equal to max_object_size_mb.",
|
|
"default": 100
|
|
},
|
|
"max_project_models_per_page": {
|
|
"type": "number",
|
|
"description": "The maximum number of models that can be returned in a single page of a query for all models of a project",
|
|
"default": 500
|
|
},
|
|
"speckleAutomateUrl": {
|
|
"type": "string",
|
|
"description": "The url of the Speckle Automate instance",
|
|
"default": "https://automate.speckle.systems"
|
|
},
|
|
"asyncRequestContextEnabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, the server will use the async request context for improved log msg correlation",
|
|
"default": false
|
|
},
|
|
"gendoAI": {
|
|
"type": "object",
|
|
"properties": {
|
|
"apiUrl": {
|
|
"type": "string",
|
|
"description": "The url of the Gendo AI application, including protocol.",
|
|
"default": "https://api.gendo.ai/external/generate"
|
|
},
|
|
"creditLimit": {
|
|
"type": "number",
|
|
"description": "The number of Gendo AI credit a user gets every month.",
|
|
"default": 40
|
|
},
|
|
"key": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretName": {
|
|
"type": "string",
|
|
"description": "The name of the Kubernetes Secret containing the Gendo AI key. If left blank, will default to the `secretName` parameter.",
|
|
"default": ""
|
|
},
|
|
"secretKey": {
|
|
"type": "string",
|
|
"description": "The key within the Kubernetes Secret holding the Gendo AI key as its value.",
|
|
"default": "gendoai_key"
|
|
}
|
|
}
|
|
},
|
|
"ratelimiting": {
|
|
"type": "object",
|
|
"properties": {
|
|
"renderRequest": {
|
|
"type": "number",
|
|
"description": "The number of render requests allowed per period",
|
|
"default": 1
|
|
},
|
|
"renderRequestPeriodSeconds": {
|
|
"type": "number",
|
|
"description": "The period in seconds for the render request limit",
|
|
"default": 20
|
|
},
|
|
"burstRenderRequest": {
|
|
"type": "number",
|
|
"description": "The number of render requests allowed in 'burst' mode when the other limit is reached.",
|
|
"default": 3
|
|
},
|
|
"burstRenderRequestPeriodSeconds": {
|
|
"type": "number",
|
|
"description": "The period in seconds for the burst render request limit.",
|
|
"default": 60
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"encryptionKeys": {
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"type": "string",
|
|
"description": "The path where the encryption keys should be loaded from",
|
|
"default": "/encryption-keys/keys.json"
|
|
}
|
|
}
|
|
},
|
|
"licenseTokenSecret": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretName": {
|
|
"type": "string",
|
|
"description": "The name of the Kubernetes Secret containing the Session secret. This is a unique value (can be generated randomly). This is expected to be provided within the Kubernetes cluster as an opaque Kubernetes Secret. Ref: https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets",
|
|
"default": ""
|
|
},
|
|
"secretKey": {
|
|
"type": "string",
|
|
"description": "The key within the Kubernetes Secret holding the Session secret as its value.",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"sessionSecret": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretName": {
|
|
"type": "string",
|
|
"description": "The name of the Kubernetes Secret containing the Session secret. This is a unique value (can be generated randomly). This is expected to be provided within the Kubernetes cluster as an opaque Kubernetes Secret. Ref: https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets",
|
|
"default": ""
|
|
},
|
|
"secretKey": {
|
|
"type": "string",
|
|
"description": "The key within the Kubernetes Secret holding the Session secret as its value.",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"auth": {
|
|
"type": "object",
|
|
"properties": {
|
|
"local": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, users can register and authenticate with an email address and password.",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"google": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, users can authenticate via Google with their Google account credentials. If enabling Google, the `server.auth.google.client_id` parameter is required, and a secret must be provided via the Kubernetes secret referenced in `server.auth.google.clientSecret`.",
|
|
"default": false
|
|
},
|
|
"client_id": {
|
|
"type": "string",
|
|
"description": "This is the ID for Speckle that you have registered with Google.",
|
|
"default": ""
|
|
},
|
|
"clientSecret": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretName": {
|
|
"type": "string",
|
|
"description": "The name of the Kubernetes Secret containing the Google client secret. This is expected to be provided within the Kubernetes cluster as an opaque Kubernetes Secret. Ref: https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets",
|
|
"default": ""
|
|
},
|
|
"secretKey": {
|
|
"type": "string",
|
|
"description": "The key within the Kubernetes Secret holding the Google client secret as its value.",
|
|
"default": ""
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"github": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, users can authenticate via Github with their Github account credentials. If enabling Github authentication, the `server.auth.github.client_id` parameter is required.",
|
|
"default": false
|
|
},
|
|
"client_id": {
|
|
"type": "string",
|
|
"description": "This is the ID for Speckle that you have registered with Github",
|
|
"default": ""
|
|
},
|
|
"clientSecret": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretName": {
|
|
"type": "string",
|
|
"description": "The name of the Kubernetes Secret containing the GitHub client secret. This is expected to be provided within the Kubernetes cluster as an opaque Kubernetes Secret. Ref: https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets",
|
|
"default": ""
|
|
},
|
|
"secretKey": {
|
|
"type": "string",
|
|
"description": "The key within the Kubernetes Secret holding the GitHub client secret as its value.",
|
|
"default": ""
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"azure_ad": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, users can authenticate via Azure Active Directory.",
|
|
"default": false
|
|
},
|
|
"org_name": {
|
|
"type": "string",
|
|
"description": "This is the Organisation Name that you have registered with Azure",
|
|
"default": ""
|
|
},
|
|
"identity_metadata": {
|
|
"type": "string",
|
|
"description": "This is the identity metadata for Speckle that you have registered with Azure",
|
|
"default": ""
|
|
},
|
|
"issuer": {
|
|
"type": "string",
|
|
"description": "This is the issuer name for Speckle that you have registered with Azure",
|
|
"default": ""
|
|
},
|
|
"client_id": {
|
|
"type": "string",
|
|
"description": "This is the ID for Speckle that you have registered with Azure",
|
|
"default": ""
|
|
},
|
|
"clientSecret": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretName": {
|
|
"type": "string",
|
|
"description": "The name of the Kubernetes Secret containing the Azure AD client secret. This is expected to be provided within the Kubernetes cluster as an opaque Kubernetes Secret. Ref: https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets",
|
|
"default": ""
|
|
},
|
|
"secretKey": {
|
|
"type": "string",
|
|
"description": "The key within the Kubernetes Secret holding the Azure AD client secret as its value.",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"additional_domains": {
|
|
"type": "array",
|
|
"description": "List of `matchName` or `matchPattern` maps for domains that should be allow-listed for egress in Network Policy. https://docs.microsoft.com/en-us/azure/azure-portal/azure-portal-safelist-urls?tabs=public-cloud are enabled by default.",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"port": {
|
|
"type": "number",
|
|
"description": "Port on server to connect to. Used to allow egress in Network Policy. Defaults to 443",
|
|
"default": 443
|
|
}
|
|
}
|
|
},
|
|
"oidc": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, users can authenticate via OpenID Connect identity provider",
|
|
"default": false
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "This is the name that you want displayed on the login button",
|
|
"default": ""
|
|
},
|
|
"discovery_url": {
|
|
"type": "string",
|
|
"description": "This is the OIDC discovery URL for the identity provider you want to use",
|
|
"default": ""
|
|
},
|
|
"client_id": {
|
|
"type": "string",
|
|
"description": "This is the ID for Speckle that you have registered with the OIDC identity provider",
|
|
"default": ""
|
|
},
|
|
"clientSecret": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretName": {
|
|
"type": "string",
|
|
"description": "The name of the Kubernetes Secret containing the OIDC client secret. This is expected to be provided within the Kubernetes cluster as an opaque Kubernetes Secret. Ref: https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets",
|
|
"default": ""
|
|
},
|
|
"secretKey": {
|
|
"type": "string",
|
|
"description": "The key within the Kubernetes Secret holding the OIDC client secret as its value.",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"domains": {
|
|
"type": "array",
|
|
"description": "List of `matchName` or `matchPattern` maps for domains that should be allow-listed for egress in Network Policy.",
|
|
"default": [],
|
|
"items": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"email": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, Speckle can send email to users - for example, email verification for account registration.",
|
|
"default": false
|
|
},
|
|
"verificationTimeoutMinutes": {
|
|
"type": "number",
|
|
"description": "The number of minutes after which an email verification link will expire. Defaults to 5 minutes.",
|
|
"default": 5
|
|
},
|
|
"host": {
|
|
"type": "string",
|
|
"description": "The domain name or IP address of the server hosting the email service.",
|
|
"default": ""
|
|
},
|
|
"port": {
|
|
"type": "string",
|
|
"description": "The port on the server for the email service.",
|
|
"default": ""
|
|
},
|
|
"from": {
|
|
"type": "string",
|
|
"description": "The email address from which Speckle will send emails. If left blank will cause an error when email are sent.",
|
|
"default": ""
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"description": "The username with which Speckle will authenticate with the email service.",
|
|
"default": ""
|
|
},
|
|
"password": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretName": {
|
|
"type": "string",
|
|
"description": "The name of the Kubernetes Secret containing the email password. This is expected to be provided within the Kubernetes cluster as an opaque Kubernetes Secret. Ref: https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets",
|
|
"default": ""
|
|
},
|
|
"secretKey": {
|
|
"type": "string",
|
|
"description": "The key within the Kubernetes Secret holding the email password as its value.",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"secure": {
|
|
"type": "boolean",
|
|
"description": "If true, will use SSL when connecting to the email server. requireTLS would be preferable if the server supports it. Both 'secure' and 'requireTLS' can be false if the email server does not support encryption, but this is not recommended. Both 'secure' and 'requireTLS' cannot be true at the same time.",
|
|
"default": false
|
|
},
|
|
"requireTLS": {
|
|
"type": "boolean",
|
|
"description": "If true, will require TLS when connecting to the email server. This is preferable to 'secure' if the email server supports TLS. Both 'secure' and 'requireTLS' can be false if the email server does not support encryption, but this is not recommended. Both 'secure' and 'requireTLS' cannot be true at the same time.",
|
|
"default": true
|
|
},
|
|
"networkPolicy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"externalToCluster": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, indicates that the email server is hosted externally to the Kubernetes cluster",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"inCluster": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, indicates that the email server is hosted withing the same Kubernetes cluster in which Speckle will be deployed",
|
|
"default": false
|
|
},
|
|
"kubernetes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"podSelector": {
|
|
"type": "object",
|
|
"description": "(Kubernetes Network Policy only) The pod Selector yaml object used to uniquely select the email server pods within the cluster and given namespace",
|
|
"default": {}
|
|
},
|
|
"namespaceSelector": {
|
|
"type": "object",
|
|
"description": "(Kubernetes Network Policy only) The namespace selector yaml object used to uniquely select the namespace in which the email server pods are deployed",
|
|
"default": {}
|
|
}
|
|
}
|
|
},
|
|
"cilium": {
|
|
"type": "object",
|
|
"properties": {
|
|
"endpointSelector": {
|
|
"type": "object",
|
|
"description": "(Cilium Network Policy only) The endpoint selector yaml object used to uniquely select the in-cluster endpoint in which the email server pods are deployed",
|
|
"default": {}
|
|
},
|
|
"serviceSelector": {
|
|
"type": "object",
|
|
"description": "(Cilium Network Policy only) The service selector yaml object used to uniquely select the in-cluster service providing the email server",
|
|
"default": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"requests": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"type": "string",
|
|
"description": "The CPU that should be available on a node when scheduling this pod.",
|
|
"default": "1000m"
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"description": "The Memory that should be available on a node when scheduling this pod.",
|
|
"default": "1Gi"
|
|
}
|
|
}
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"type": "string",
|
|
"description": "The maximum CPU that will be made available to the server Pod in a given period.",
|
|
"default": "1500m"
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"description": "The maximum Memory that will be made available to the server Pod.",
|
|
"default": "3Gi"
|
|
}
|
|
}
|
|
},
|
|
"ratelimiting": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, rate limiting will be applied to the Speckle server.",
|
|
"default": true
|
|
},
|
|
"all_requests": {
|
|
"type": "number",
|
|
"description": "The maximum number of requests that can be made to the Speckle server in a moving one second window.",
|
|
"default": 500
|
|
},
|
|
"burst_all_requests": {
|
|
"type": "number",
|
|
"description": "If the regular limit is exceeded, the limit is increased to the burst limit. This is the maximum number of requests that can be made to the Speckle server in a moving one minute window.",
|
|
"default": 2000
|
|
},
|
|
"user_create": {
|
|
"type": "number",
|
|
"description": "The maximum number of requests that can be made to the Speckle server to create a new user in a moving one second window.",
|
|
"default": 6
|
|
},
|
|
"burst_user_create": {
|
|
"type": "number",
|
|
"description": "If the regular limit is exceeded, the limit is increased to the burst limit. This is the maximum number of requests that can be made to the Speckle server to create a new user in a moving one minute window.",
|
|
"default": 1000
|
|
},
|
|
"stream_create": {
|
|
"type": "number",
|
|
"description": "The maximum number of requests that can be made to the Speckle server to create a new stream in a moving one second window.",
|
|
"default": 1
|
|
},
|
|
"burst_stream_create": {
|
|
"type": "number",
|
|
"description": "If the regular limit is exceeded, the limit is increased to the burst limit. This is the maximum number of requests that can be made to the Speckle server to create a new stream in a moving one minute window.",
|
|
"default": 100
|
|
},
|
|
"commit_create": {
|
|
"type": "number",
|
|
"description": "The maximum number of requests that can be made to the Speckle server to create a new commit in a moving one second window.",
|
|
"default": 1
|
|
},
|
|
"burst_commit_create": {
|
|
"type": "number",
|
|
"description": "If the regular limit is exceeded, the limit is increased to the burst limit. This is the maximum number of requests that can be made to the Speckle server to create a new commit in a moving one minute window.",
|
|
"default": 100
|
|
},
|
|
"post_getobjects_streamid": {
|
|
"type": "number",
|
|
"description": "The maximum number of requests that can be made to the Speckle server to get a new object in a moving one second window.",
|
|
"default": 3
|
|
},
|
|
"burst_post_getobjects_streamid": {
|
|
"type": "number",
|
|
"description": "If the regular limit is exceeded, the limit is increased to the burst limit. This is the maximum number of requests that can be made to the Speckle server to get a new object in a moving one minute window.",
|
|
"default": 200
|
|
},
|
|
"post_diff_streamid": {
|
|
"type": "number",
|
|
"description": "The maximum number of requests that can be made to the Speckle server to undertake a diff in a moving one second window.",
|
|
"default": 10
|
|
},
|
|
"burst_post_diff_streamid": {
|
|
"type": "number",
|
|
"description": "If the regular limit is exceeded, the limit is increased to the burst limit. This is the maximum number of requests that can be made to the Speckle server to undertake a diff in a moving one minute window.",
|
|
"default": 1000
|
|
},
|
|
"post_objects_streamid": {
|
|
"type": "number",
|
|
"description": "The maximum number of requests that can be made to the Speckle server to post a new object in a moving one second window.",
|
|
"default": 6
|
|
},
|
|
"burst_post_objects_streamid": {
|
|
"type": "number",
|
|
"description": "If the regular limit is exceeded, the limit is increased to the burst limit. This is the maximum number of requests that can be made to the Speckle server to post a new object in a moving one minute window.",
|
|
"default": 400
|
|
},
|
|
"get_objects_streamid_objectid": {
|
|
"type": "number",
|
|
"description": "The maximum number of requests that can be made to the Speckle server to get an object in a moving one second window.",
|
|
"default": 3
|
|
},
|
|
"burst_get_objects_streamid_objectid": {
|
|
"type": "number",
|
|
"description": "If the regular limit is exceeded, the limit is increased to the burst limit. This is the maximum number of requests that can be made to the Speckle server to get an object in a moving one minute window.",
|
|
"default": 200
|
|
},
|
|
"get_objects_streamid_objectid_single": {
|
|
"type": "number",
|
|
"description": "The maximum number of requests that can be made to the Speckle server to get a single object in a moving one second window.",
|
|
"default": 3
|
|
},
|
|
"burst_get_objects_streamid_objectid_single": {
|
|
"type": "number",
|
|
"description": "If the regular limit is exceeded, the limit is increased to the burst limit. This is the maximum number of requests that can be made to the Speckle server to get a single object in a moving one minute window.",
|
|
"default": 200
|
|
},
|
|
"post_graphql": {
|
|
"type": "number",
|
|
"description": "The maximum number of requests that can be made to the GraphQL API in a moving one second window.",
|
|
"default": 50
|
|
},
|
|
"burst_post_graphql": {
|
|
"type": "number",
|
|
"description": "If the regular limit is exceeded, the limit is increased to the burst limit. This is the maximum number of requests that can be made to the GraphQL API in a moving one minute window.",
|
|
"default": 200
|
|
},
|
|
"get_auth": {
|
|
"type": "number",
|
|
"description": "The maximum number of requests that can be made to the Speckle server to authenticate in a moving 10 minute window.",
|
|
"default": 4
|
|
},
|
|
"burst_get_auth": {
|
|
"type": "number",
|
|
"description": "If the regular limit is exceeded, the limit is increased to the burst limit. This is the maximum number of requests that can be made to the Speckle server to authenticate in a moving thirty minute window.",
|
|
"default": 10
|
|
}
|
|
}
|
|
},
|
|
"serviceAccount": {
|
|
"type": "object",
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"description": "If enabled, a Kubernetes Service Account will be created for this pod.",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"fileUploads": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, file uploads on the server will be flagged as enabled",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"mailchimp": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Mailchimp integration feature flag",
|
|
"default": false
|
|
},
|
|
"apikey": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretName": {
|
|
"type": "string",
|
|
"description": "The name of the Kubernetes Secret containing the Mailchimp API key.",
|
|
"default": ""
|
|
},
|
|
"secretKey": {
|
|
"type": "string",
|
|
"description": "The key within the Kubernetes Secret holding the Mailchimp API key as its value.",
|
|
"default": "mailchimp_apikey"
|
|
}
|
|
}
|
|
},
|
|
"serverPrefix": {
|
|
"type": "string",
|
|
"description": "Mailchimp api server prefix",
|
|
"default": ""
|
|
},
|
|
"newsletterListId": {
|
|
"type": "string",
|
|
"description": "Audience id for the newsletter list",
|
|
"default": ""
|
|
},
|
|
"onboardingListId": {
|
|
"type": "string",
|
|
"description": "Audience id for the onboarding list",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"migration": {
|
|
"type": "object",
|
|
"properties": {
|
|
"movedFrom": {
|
|
"type": "string",
|
|
"description": "Indicate the URL where the server moved from",
|
|
"default": ""
|
|
},
|
|
"movedTo": {
|
|
"type": "string",
|
|
"description": "Indicate the URL where the server moved to",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"monitoring": {
|
|
"type": "object",
|
|
"properties": {
|
|
"apollo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "(Optional) If enabled, exports metrics from the GraphQL API to Apollo Graphql Studio.",
|
|
"default": false
|
|
},
|
|
"graph_id": {
|
|
"type": "string",
|
|
"description": "The ID for Speckle that you registered in Apollo Graphql Studio.",
|
|
"default": ""
|
|
},
|
|
"key": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretName": {
|
|
"type": "string",
|
|
"description": "The name of the Kubernetes Secret containing the Apollo monitoring key. This is expected to be provided within the Kubernetes cluster as an opaque Kubernetes Secret. Ref: https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets",
|
|
"default": ""
|
|
},
|
|
"secretKey": {
|
|
"type": "string",
|
|
"description": "The key within the Kubernetes Secret holding the Apollo monitoring key as its value.",
|
|
"default": ""
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"mp": {
|
|
"type": "object",
|
|
"description": "(Optional) If server.monitoring.mp.enabled is set to false, metrics will not be collected by the Speckle server.",
|
|
"default": {}
|
|
}
|
|
}
|
|
},
|
|
"disable_tracking": {
|
|
"type": "boolean",
|
|
"description": "If set to true, will prevent tracking metrics from being collected",
|
|
"default": false
|
|
},
|
|
"disable_tracing": {
|
|
"type": "boolean",
|
|
"description": "If set to true, will prevent tracing metrics from being collected",
|
|
"default": false
|
|
},
|
|
"networkPolicy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will provide additional security be limiting network traffic into and out of the pod to only the required endpoints and ports.",
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
"affinity": {
|
|
"type": "object",
|
|
"description": "Affinity for Speckle server pods scheduling",
|
|
"default": {}
|
|
},
|
|
"nodeSelector": {
|
|
"type": "object",
|
|
"description": "Node labels for Speckle server pods scheduling",
|
|
"default": {}
|
|
},
|
|
"tolerations": {
|
|
"type": "array",
|
|
"description": "Tolerations for Speckle server pods scheduling",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"topologySpreadConstraints": {
|
|
"type": "array",
|
|
"description": "Spread Constraints for Speckle server pod scheduling",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"additionalEnvVars": {
|
|
"type": "array",
|
|
"description": "Additional environment variables to be passed to the server pod",
|
|
"default": [],
|
|
"items": {}
|
|
}
|
|
}
|
|
},
|
|
"objects": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, the Speckle server will be deployed with the Objects component enabled.",
|
|
"default": true
|
|
},
|
|
"replicas": {
|
|
"type": "number",
|
|
"description": "The number of instances of the Server pod to be deployed within the cluster.",
|
|
"default": 1
|
|
},
|
|
"image": {
|
|
"type": "string",
|
|
"description": "The Docker image to be used for the Speckle Objects component. If blank, defaults to speckle/speckle-server:{{ .Values.docker_image_tag }}. If provided, this value should be the full path including tag. The docker_image_tag value will be ignored.",
|
|
"default": ""
|
|
},
|
|
"logLevel": {
|
|
"type": "string",
|
|
"description": "The minimum level of logs which will be output. Suitable values are trace, debug, info, warn, error, fatal, or silent",
|
|
"default": "info"
|
|
},
|
|
"logPretty": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will output logs in a human-readable format. Otherwise, logs will be output in JSON format.",
|
|
"default": false
|
|
},
|
|
"inspect": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, indicates that the Speckle server should be deployed with the nodejs inspect feature enabled",
|
|
"default": false
|
|
},
|
|
"port": {
|
|
"type": "string",
|
|
"description": "The port on which the nodejs inspect feature should be exposed",
|
|
"default": "7000"
|
|
}
|
|
}
|
|
},
|
|
"requests": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"type": "string",
|
|
"description": "The CPU that should be available on a node when scheduling this pod.",
|
|
"default": "1000m"
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"description": "The Memory that should be available on a node when scheduling this pod.",
|
|
"default": "1Gi"
|
|
}
|
|
}
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"type": "string",
|
|
"description": "The maximum CPU that will be made available to the server Pod in a given period.",
|
|
"default": "1500m"
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"description": "The maximum Memory that will be made available to the server Pod.",
|
|
"default": "3Gi"
|
|
}
|
|
}
|
|
},
|
|
"ratelimiting": {
|
|
"type": "object",
|
|
"properties": {
|
|
"post_objects_streamid": {
|
|
"type": "number",
|
|
"description": "The maximum number of requests that can be made to the Speckle server to post a new object in a moving one second window.",
|
|
"default": 6
|
|
},
|
|
"burst_post_objects_streamid": {
|
|
"type": "number",
|
|
"description": "If the regular limit is exceeded, the limit is increased to the burst limit. This is the maximum number of requests that can be made to the Speckle server to post a new object in a moving one minute window.",
|
|
"default": 400
|
|
},
|
|
"get_objects_streamid_objectid": {
|
|
"type": "number",
|
|
"description": "The maximum number of requests that can be made to the Speckle server to get an object in a moving one second window.",
|
|
"default": 3
|
|
},
|
|
"burst_get_objects_streamid_objectid": {
|
|
"type": "number",
|
|
"description": "If the regular limit is exceeded, the limit is increased to the burst limit. This is the maximum number of requests that can be made to the Speckle server to get an object in a moving one minute window.",
|
|
"default": 200
|
|
},
|
|
"get_objects_streamid_objectid_single": {
|
|
"type": "number",
|
|
"description": "The maximum number of requests that can be made to the Speckle server to get a single object in a moving one second window.",
|
|
"default": 3
|
|
},
|
|
"burst_get_objects_streamid_objectid_single": {
|
|
"type": "number",
|
|
"description": "If the regular limit is exceeded, the limit is increased to the burst limit. This is the maximum number of requests that can be made to the Speckle server to get a single object in a moving one minute window.",
|
|
"default": 200
|
|
}
|
|
}
|
|
},
|
|
"serviceAccount": {
|
|
"type": "object",
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"description": "If enabled, a Kubernetes Service Account will be created for this pod.",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"networkPolicy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will provide additional security be limiting network traffic into and out of the pod to only the required endpoints and ports.",
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
"affinity": {
|
|
"type": "object",
|
|
"description": "Affinity for Speckle server pods scheduling",
|
|
"default": {}
|
|
},
|
|
"nodeSelector": {
|
|
"type": "object",
|
|
"description": "Node labels for Speckle server pods scheduling",
|
|
"default": {}
|
|
},
|
|
"tolerations": {
|
|
"type": "array",
|
|
"description": "Tolerations for Speckle server pods scheduling",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"topologySpreadConstraints": {
|
|
"type": "array",
|
|
"description": "Spread Constraints for Speckle server pod scheduling",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"additionalEnvVars": {
|
|
"type": "array",
|
|
"description": "Additional environment variables to be passed to the objects pod",
|
|
"default": [],
|
|
"items": {}
|
|
}
|
|
}
|
|
},
|
|
"frontend_2": {
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"type": "string",
|
|
"description": "The Docker image to be used for the Speckle Frontend 2 component. If blank, defaults to speckle/speckle-frontend-2:{{ .Values.docker_image_tag }}. If provided, this value should be the full path including tag. The docker_image_tag value will be ignored.",
|
|
"default": ""
|
|
},
|
|
"logClientApiToken": {
|
|
"type": "string",
|
|
"description": "SEQ API token",
|
|
"default": ""
|
|
},
|
|
"logClientApiEndpoint": {
|
|
"type": "string",
|
|
"description": "SEQ endpoint URL",
|
|
"default": ""
|
|
},
|
|
"logLevel": {
|
|
"type": "string",
|
|
"description": "The minimum level of logs which will be output. Suitable values are trace, debug, info, warn, error, fatal, or silent",
|
|
"default": "info"
|
|
},
|
|
"logPretty": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will output logs in a human-readable format. Otherwise, logs will be output in JSON format.",
|
|
"default": false
|
|
},
|
|
"inspect": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, indicates that the Speckle FE2 should be deployed with the nodejs inspect feature enabled",
|
|
"default": false
|
|
},
|
|
"port": {
|
|
"type": "string",
|
|
"description": "The port on which the nodejs inspect feature should be exposed",
|
|
"default": "7000"
|
|
}
|
|
}
|
|
},
|
|
"replicas": {
|
|
"type": "number",
|
|
"description": "The number of instances of the Frontend 2 server prod to be deployed withing the cluster.",
|
|
"default": 1
|
|
},
|
|
"requests": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"type": "string",
|
|
"description": "The CPU that should be available on a node when scheduling this pod.",
|
|
"default": "250m"
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"description": "The Memory that should be available on a node when scheduling this pod.",
|
|
"default": "256Mi"
|
|
}
|
|
}
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"type": "string",
|
|
"description": "The maximum CPU that will be made available to the frontend Pod in a given period.",
|
|
"default": "1000m"
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"description": "The maximum Memory that will be made available to the frontend Pod.",
|
|
"default": "512Mi"
|
|
}
|
|
}
|
|
},
|
|
"networkPolicy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will provide additional security be limiting network traffic into and out of the pod to only the required endpoints and ports.",
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
"affinity": {
|
|
"type": "object",
|
|
"description": "Affinity for Speckle frontend pod scheduling",
|
|
"default": {}
|
|
},
|
|
"nodeSelector": {
|
|
"type": "object",
|
|
"description": "Node labels for Speckle frontend pods scheduling",
|
|
"default": {}
|
|
},
|
|
"tolerations": {
|
|
"type": "array",
|
|
"description": "Tolerations for Speckle frontend pods scheduling",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"topologySpreadConstraints": {
|
|
"type": "array",
|
|
"description": "Spread Constraints for Speckle frontend pod scheduling",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"serviceAccount": {
|
|
"type": "object",
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"description": "If enabled, a Kubernetes Service Account will be created for this pod.",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"additionalEnvVars": {
|
|
"type": "array",
|
|
"description": "Additional environment variables to be passed to the frontend_2 pod",
|
|
"default": [],
|
|
"items": {}
|
|
}
|
|
}
|
|
},
|
|
"preview_service": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, the Preview Service will be deployed within the cluster and speckle-server will be configured to send the kubernetes service url of the objects server to the Preview Service.",
|
|
"default": true
|
|
},
|
|
"dedicatedPreviewsQueue": {
|
|
"type": "boolean",
|
|
"description": "Allows using a dedicated redis url for the preview service job queue",
|
|
"default": false
|
|
},
|
|
"gpu": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, the Preview Service will be deployed with GPU support. Assumes Vulkan driver is available on the host node.",
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
"replicas": {
|
|
"type": "number",
|
|
"description": "The number of instances of the Preview Service pod to be deployed within the cluster.",
|
|
"default": 1
|
|
},
|
|
"deploymentStrategy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"description": "The deployment strategy type to be used for the Preview Service. This can be set to either `Recreate` or `RollingUpdate`. The default is `Recreate` as preview service does not require 100% availability.",
|
|
"default": "Recreate"
|
|
}
|
|
}
|
|
},
|
|
"logLevel": {
|
|
"type": "string",
|
|
"description": "The minimum level of logs which will be output. Suitable values are trace, debug, info, warn, error, fatal, or silent",
|
|
"default": "info"
|
|
},
|
|
"logPretty": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will output logs in a human-readable format. Otherwise, logs will be output in JSON format.",
|
|
"default": false
|
|
},
|
|
"image": {
|
|
"type": "string",
|
|
"description": "The Docker image to be used for the Speckle Preview Service component. If blank, defaults to speckle/speckle-preview-service:{{ .Values.docker_image_tag }}. If provided, this value should be the full path including tag. The docker_image_tag value will be ignored.",
|
|
"default": ""
|
|
},
|
|
"port": {
|
|
"type": "string",
|
|
"description": "The port on which the Preview Service will expose Prometheus metrics.",
|
|
"default": "3001"
|
|
},
|
|
"postgresMaxConnections": {
|
|
"type": "number",
|
|
"description": "The maximum number of connections that the Preview Service postgres client will make to the Postgres database.",
|
|
"default": 2
|
|
},
|
|
"maxQueueBackpressure": {
|
|
"type": "number",
|
|
"description": "The maximum number of items that can be queued in the Preview Service job queue before we stop retrying previously errored preview jobs. This is used to prevent the Preview Service from being overwhelmed with too many jobs.",
|
|
"default": 1
|
|
},
|
|
"retryPeriodMinutes": {
|
|
"type": "number",
|
|
"description": "The period, in minutes, between retries of previously errored jobs. Must be an integer between 1 and 60.",
|
|
"default": 1
|
|
},
|
|
"puppeteer": {
|
|
"type": "object",
|
|
"properties": {
|
|
"userDataDirectory": {
|
|
"type": "string",
|
|
"description": "The path to the user data directory. If not set, defaults to '/tmp/puppeteer'. This is mounted in the deployment as a volume with read-write access.",
|
|
"default": ""
|
|
},
|
|
"timeoutMilliseconds": {
|
|
"type": "string",
|
|
"description": "The timeout in milliseconds for the Puppeteer service.",
|
|
"default": "3600000"
|
|
}
|
|
}
|
|
},
|
|
"requests": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"type": "string",
|
|
"description": "The CPU that should be available on a node when scheduling this pod.",
|
|
"default": "500m"
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"description": "The Memory that should be available on a node when scheduling this pod.",
|
|
"default": "2Gi"
|
|
}
|
|
}
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"type": "string",
|
|
"description": "The maximum CPU that will be made available to the Preview Service Pod in a given period.",
|
|
"default": "1000m"
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"description": "The maximum Memory that will be made available to the Preview Service Pod.",
|
|
"default": "4Gi"
|
|
}
|
|
}
|
|
},
|
|
"autoscaling": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "",
|
|
"default": false
|
|
},
|
|
"minReplicas": {
|
|
"type": "number",
|
|
"description": "",
|
|
"default": 1
|
|
},
|
|
"maxReplicas": {
|
|
"type": "number",
|
|
"description": "",
|
|
"default": 10
|
|
},
|
|
"targetCPUUtilizationPercentage": {
|
|
"type": "number",
|
|
"description": "",
|
|
"default": 80
|
|
}
|
|
}
|
|
},
|
|
"networkPolicy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will provide additional security be limiting network traffic into and out of the pod to only the required endpoints and ports.",
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
"affinity": {
|
|
"type": "object",
|
|
"description": "Affinity for Speckle Preview Service pod scheduling",
|
|
"default": {}
|
|
},
|
|
"nodeSelector": {
|
|
"type": "object",
|
|
"description": "Node labels for Speckle Preview Service pods scheduling",
|
|
"default": {}
|
|
},
|
|
"tolerations": {
|
|
"type": "array",
|
|
"description": "Tolerations for Speckle Preview Service pods scheduling",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"topologySpreadConstraints": {
|
|
"type": "array",
|
|
"description": "Spread Constraints for Speckle Preview Service pod scheduling",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"serviceAccount": {
|
|
"type": "object",
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"description": "If enabled, a Kubernetes Service Account will be created for this pod.",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"additionalEnvVars": {
|
|
"type": "array",
|
|
"description": "Additional environment variables to be passed to the Preview service pod",
|
|
"default": [],
|
|
"items": {}
|
|
}
|
|
}
|
|
},
|
|
"webhook_service": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, the Webhook Service will be deployed within the cluster.",
|
|
"default": true
|
|
},
|
|
"replicas": {
|
|
"type": "number",
|
|
"description": "The number of instances of the Webhook Service pod to be deployed within the cluster.",
|
|
"default": 1
|
|
},
|
|
"deploymentStrategy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"description": "The deployment strategy type to be used for the Webhook Service. This can be set to either `Recreate` or `RollingUpdate`. The default is `Recreate` as webhook service does not require 100% availability.",
|
|
"default": "Recreate"
|
|
}
|
|
}
|
|
},
|
|
"logLevel": {
|
|
"type": "string",
|
|
"description": "The minimum level of logs which will be output. Suitable values are trace, debug, info, warn, error, fatal, or silent",
|
|
"default": "info"
|
|
},
|
|
"logPretty": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will output logs in a human-readable format. Otherwise, logs will be output in JSON format.",
|
|
"default": false
|
|
},
|
|
"image": {
|
|
"type": "string",
|
|
"description": "The Docker image to be used for the Speckle Webhook Service component. If blank, defaults to speckle/speckle-webhook-service:{{ .Values.docker_image_tag }}. If provided, this value should be the full path including tag. The docker_image_tag value will be ignored.",
|
|
"default": ""
|
|
},
|
|
"postgresMaxConnections": {
|
|
"type": "number",
|
|
"description": "The maximum number of connections that the Webhook Service postgres client will make to the Postgres database.",
|
|
"default": 1
|
|
},
|
|
"requests": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"type": "string",
|
|
"description": "The CPU that should be available on a node when scheduling this pod.",
|
|
"default": "500m"
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"description": "The Memory that should be available on a node when scheduling this pod.",
|
|
"default": "2Gi"
|
|
}
|
|
}
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"type": "string",
|
|
"description": "The maximum CPU that will be made available to the Webhook Service Pod in a given period.",
|
|
"default": "1000m"
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"description": "The maximum Memory that will be made available to the Webhook Service Pod.",
|
|
"default": "4Gi"
|
|
}
|
|
}
|
|
},
|
|
"networkPolicy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will provide additional security be limiting network traffic into and out of the pod to only the required endpoints and ports.",
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
"affinity": {
|
|
"type": "object",
|
|
"description": "Affinity for Speckle Webhook Service pod scheduling",
|
|
"default": {}
|
|
},
|
|
"nodeSelector": {
|
|
"type": "object",
|
|
"description": "Node labels for Speckle Webhook Service pods scheduling",
|
|
"default": {}
|
|
},
|
|
"tolerations": {
|
|
"type": "array",
|
|
"description": "Tolerations for Speckle Webhook Service pods scheduling",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"topologySpreadConstraints": {
|
|
"type": "array",
|
|
"description": "Spread Constraints for Speckle Webhook Service pod scheduling",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"serviceAccount": {
|
|
"type": "object",
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"description": "If enabled, a Kubernetes Service Account will be created for this pod.",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"additionalEnvVars": {
|
|
"type": "array",
|
|
"description": "Additional environment variables to be passed to the Webhook service pod",
|
|
"default": [],
|
|
"items": {}
|
|
}
|
|
}
|
|
},
|
|
"fileimport_service": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, the Legacy File Import Service will be deployed within the cluster.",
|
|
"default": true
|
|
},
|
|
"replicas": {
|
|
"type": "number",
|
|
"description": "The number of instances of the FileImport Service pod to be deployed within the cluster.",
|
|
"default": 1
|
|
},
|
|
"deploymentStrategy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"description": "The deployment strategy type to be used for the FileImport Service. This can be set to either `Recreate` or `RollingUpdate`. The default is `Recreate` as file import service does not require 100% availability.",
|
|
"default": "Recreate"
|
|
}
|
|
}
|
|
},
|
|
"logLevel": {
|
|
"type": "string",
|
|
"description": "The minimum level of logs which will be output. Suitable values are trace, debug, info, warn, error, fatal, or silent",
|
|
"default": "info"
|
|
},
|
|
"logPretty": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will output logs in a human-readable format. Otherwise, logs will be output in JSON format.",
|
|
"default": false
|
|
},
|
|
"image": {
|
|
"type": "string",
|
|
"description": "The Docker image to be used for the Speckle FileImport Service component. If blank, defaults to speckle/speckle-fileimport-service:{{ .Values.docker_image_tag }}. If provided, this value should be the full path including tag. The docker_image_tag value will be ignored.",
|
|
"default": ""
|
|
},
|
|
"postgresMaxConnections": {
|
|
"type": "number",
|
|
"description": "The maximum number of connections that the File Import Service postgres client will make to the Postgres database.",
|
|
"default": 1
|
|
},
|
|
"inspect": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, indicates that the File Import service should be deployed with the nodejs inspect feature enabled",
|
|
"default": false
|
|
},
|
|
"port": {
|
|
"type": "string",
|
|
"description": "The port on which the nodejs inspect feature should be exposed",
|
|
"default": "7000"
|
|
}
|
|
}
|
|
},
|
|
"requests": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"type": "string",
|
|
"description": "The CPU that should be available on a node when scheduling this pod.",
|
|
"default": "100m"
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"description": "The Memory that should be available on a node when scheduling this pod.",
|
|
"default": "512Mi"
|
|
}
|
|
}
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"type": "string",
|
|
"description": "The maximum CPU that will be made available to the FileImport Service Pod in a given period.",
|
|
"default": "1000m"
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"description": "The maximum Memory that will be made available to the FileImport Service Pod.",
|
|
"default": "2Gi"
|
|
}
|
|
}
|
|
},
|
|
"networkPolicy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will provide additional security be limiting network traffic into and out of the pod to only the required endpoints and ports.",
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
"affinity": {
|
|
"type": "object",
|
|
"description": "Affinity for Speckle FileImport Service pod scheduling",
|
|
"default": {}
|
|
},
|
|
"nodeSelector": {
|
|
"type": "object",
|
|
"description": "Node labels for Speckle FileImport Service pods scheduling",
|
|
"default": {}
|
|
},
|
|
"tolerations": {
|
|
"type": "array",
|
|
"description": "Tolerations for Speckle FileImport Service pods scheduling",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"topologySpreadConstraints": {
|
|
"type": "array",
|
|
"description": "Spread Constraints for Speckle FileImport Service pod scheduling",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"serviceAccount": {
|
|
"type": "object",
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"description": "If enabled, a Kubernetes Service Account will be created for this pod.",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"additionalEnvVars": {
|
|
"type": "array",
|
|
"description": "Additional environment variables to be passed to the FileImport service pod",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"time_limit_min": {
|
|
"type": "number",
|
|
"description": "DEPRECATED, use file_import_time_limit_min instead. The maximum time that a file can take to be processed by the FileImport Service.",
|
|
"default": 30
|
|
}
|
|
}
|
|
},
|
|
"ifc_import_service": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, the File Import Service will be deployed within the cluster.",
|
|
"default": false
|
|
},
|
|
"replicas": {
|
|
"type": "number",
|
|
"description": "The number of instances of the FileImport Service pod to be deployed within the cluster.",
|
|
"default": 1
|
|
},
|
|
"deploymentStrategy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"description": "The deployment strategy type to be used for the FileImport Service. This can be set to either `Recreate` or `RollingUpdate`. The default is `Recreate` as file import service does not require 100% availability.",
|
|
"default": "Recreate"
|
|
}
|
|
}
|
|
},
|
|
"logLevel": {
|
|
"type": "string",
|
|
"description": "The minimum level of logs which will be output. Suitable values are trace, debug, info, warn, error, fatal, or silent",
|
|
"default": "info"
|
|
},
|
|
"logPretty": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will output logs in a human-readable format. Otherwise, logs will be output in JSON format.",
|
|
"default": false
|
|
},
|
|
"image": {
|
|
"type": "string",
|
|
"description": "The Docker image to be used for the Speckle FileImport Service component. If blank, defaults to speckle/speckle-fileimport-service:{{ .Values.docker_image_tag }}. If provided, this value should be the full path including tag. The docker_image_tag value will be ignored.",
|
|
"default": ""
|
|
},
|
|
"db": {
|
|
"type": "object",
|
|
"properties": {
|
|
"postgresMaxConnections": {
|
|
"type": "number",
|
|
"description": "The maximum number of connections that the File Import Service postgres client will make to the Postgres database.",
|
|
"default": 1
|
|
},
|
|
"connectionString": {
|
|
"type": "object",
|
|
"properties": {
|
|
"secretName": {
|
|
"type": "string",
|
|
"description": "The name of the Kubernetes Secret which contains the connection string to the Postgres database. Defaults to value of .Values.secretName if this value is not provided.",
|
|
"default": ""
|
|
},
|
|
"secretKey": {
|
|
"type": "string",
|
|
"description": "The name of the key within the Kubernetes Secret which contains the connection string to the Postgres database.",
|
|
"default": "fileimport_queue_postgres_url"
|
|
}
|
|
}
|
|
},
|
|
"certificate": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If true, the certificate in the configmap will be mounted as a file in to the pod.",
|
|
"default": false
|
|
},
|
|
"configMapName": {
|
|
"type": "string",
|
|
"description": "The name of the Kubernetes ConfigMap in which the certificate can be found.",
|
|
"default": "ifc-importer-postgres-certificate"
|
|
},
|
|
"configMapKey": {
|
|
"type": "string",
|
|
"description": "The key within the Kubernetes ConfigMap in which the certificate can be found.",
|
|
"default": "ca-certificate.crt"
|
|
},
|
|
"data": {
|
|
"type": "string",
|
|
"description": "If not empty and the certificate is enabled, this Helm Chart will populate a Kubernetes ConfigMap of the given name & key with this data. This is intended to be contents of a PEM file, and will be mounted as a file in the pod.",
|
|
"default": ""
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"requests": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"type": "string",
|
|
"description": "The CPU that should be available on a node when scheduling this pod.",
|
|
"default": "100m"
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"description": "The Memory that should be available on a node when scheduling this pod.",
|
|
"default": "512Mi"
|
|
}
|
|
}
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"type": "string",
|
|
"description": "The maximum CPU that will be made available to the FileImport Service Pod in a given period.",
|
|
"default": "1000m"
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"description": "The maximum Memory that will be made available to the FileImport Service Pod.",
|
|
"default": "2Gi"
|
|
}
|
|
}
|
|
},
|
|
"affinity": {
|
|
"type": "object",
|
|
"description": "Affinity for Speckle FileImport Service pod scheduling",
|
|
"default": {}
|
|
},
|
|
"nodeSelector": {
|
|
"type": "object",
|
|
"description": "Node labels for Speckle FileImport Service pods scheduling",
|
|
"default": {}
|
|
},
|
|
"tolerations": {
|
|
"type": "array",
|
|
"description": "Tolerations for Speckle FileImport Service pods scheduling",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"topologySpreadConstraints": {
|
|
"type": "array",
|
|
"description": "Spread Constraints for Speckle FileImport Service pod scheduling",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"serviceAccount": {
|
|
"type": "object",
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"description": "If enabled, a Kubernetes Service Account will be created for this pod.",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"additionalEnvVars": {
|
|
"type": "array",
|
|
"description": "Additional environment variables to be passed to the FileImport service pod",
|
|
"default": [],
|
|
"items": {}
|
|
}
|
|
}
|
|
},
|
|
"monitoring": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, database monitoring will be deployed within the cluster.",
|
|
"default": true
|
|
},
|
|
"replicas": {
|
|
"type": "number",
|
|
"description": "The number of instances of the Monitoring pod to be deployed within the cluster.",
|
|
"default": 1
|
|
},
|
|
"logLevel": {
|
|
"type": "string",
|
|
"description": "The minimum level of logs which will be output. Suitable values are trace, debug, info, warn, error, fatal, or silent",
|
|
"default": "info"
|
|
},
|
|
"logPretty": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will output logs in a human-readable format. Otherwise, logs will be output in JSON format.",
|
|
"default": false
|
|
},
|
|
"port": {
|
|
"type": "number",
|
|
"description": "The port on which the Monitoring Service will run.",
|
|
"default": 9092
|
|
},
|
|
"maximumPostgresConnections": {
|
|
"type": "number",
|
|
"description": "The maximum number of connections that the Monitoring Service will allow to the Postgres database. A connection pool exists to manage access to the connections.",
|
|
"default": 2
|
|
},
|
|
"metricsCollectionPeriodSeconds": {
|
|
"type": "number",
|
|
"description": "The period in seconds at which the Monitoring Service will query the Postgres database for metrics. Unlike typical Prometheus metrics, the data from the database is not collected in real-time when /metrics is accessed, and is instead done out-of-band on a timed interval.",
|
|
"default": 120
|
|
},
|
|
"image": {
|
|
"type": "string",
|
|
"description": "The Docker image to be used for the Speckle Monitoring component. If blank, defaults to speckle/speckle-monitoring-deployment:{{ .Values.docker_image_tag }}. If provided, this value should be the full path including tag. The docker_image_tag value will be ignored.",
|
|
"default": ""
|
|
},
|
|
"requests": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"type": "string",
|
|
"description": "The CPU that should be available on a node when scheduling this pod.",
|
|
"default": "100m"
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"description": "The Memory that should be available on a node when scheduling this pod.",
|
|
"default": "64Mi"
|
|
}
|
|
}
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"type": "string",
|
|
"description": "The maximum CPU that will be made available to the Monitoring Pod in a given period.",
|
|
"default": "200m"
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"description": "The maximum Memory that will be made available to the Monitoring Pod.",
|
|
"default": "512Mi"
|
|
}
|
|
}
|
|
},
|
|
"networkPolicy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will provide additional security be limiting network traffic into and out of the pod to only the required endpoints and ports.",
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
"affinity": {
|
|
"type": "object",
|
|
"description": "Affinity for Speckle Monitoring pod scheduling",
|
|
"default": {}
|
|
},
|
|
"nodeSelector": {
|
|
"type": "object",
|
|
"description": "Node labels for Speckle Monitoring pods scheduling",
|
|
"default": {}
|
|
},
|
|
"tolerations": {
|
|
"type": "array",
|
|
"description": "Tolerations for Speckle Monitoring pods scheduling",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"topologySpreadConstraints": {
|
|
"type": "array",
|
|
"description": "Spread Constraints for Speckle Monitoring pod scheduling",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"serviceAccount": {
|
|
"type": "object",
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"description": "If enabled, a Kubernetes Service Account will be created for this pod.",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"additionalEnvVars": {
|
|
"type": "array",
|
|
"description": "Additional environment variables to be passed to the Monitoring pod",
|
|
"default": [],
|
|
"items": {}
|
|
}
|
|
}
|
|
},
|
|
"helm_test_enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, an additional pod is deployed which verifies some functionality of Speckle to determine if it is deployed correctly",
|
|
"default": true
|
|
},
|
|
"test": {
|
|
"type": "object",
|
|
"properties": {
|
|
"logLevel": {
|
|
"type": "string",
|
|
"description": "The minimum level of logs which will be output. Suitable values are trace, debug, info, warn, error, fatal, or silent",
|
|
"default": "info"
|
|
},
|
|
"logPretty": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will output logs in a human-readable format. Otherwise, logs will be output in JSON format.",
|
|
"default": false
|
|
},
|
|
"image": {
|
|
"type": "string",
|
|
"description": "The Docker image to be used for the Speckle Test component. If blank, defaults to speckle/speckle-test-deployment:{{ .Values.docker_image_tag }}. If provided, this value should be the full path including tag. The docker_image_tag value will be ignored.",
|
|
"default": ""
|
|
},
|
|
"requests": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"type": "string",
|
|
"description": "The CPU that should be available on a node when scheduling this pod.",
|
|
"default": "100m"
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"description": "The Memory that should be available on a node when scheduling this pod.",
|
|
"default": "64Mi"
|
|
}
|
|
}
|
|
},
|
|
"limits": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu": {
|
|
"type": "string",
|
|
"description": "The maximum CPU that will be made available to the Test Pod in a given period.",
|
|
"default": "200m"
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"description": "The maximum Memory that will be made available to the Test Pod.",
|
|
"default": "512Mi"
|
|
}
|
|
}
|
|
},
|
|
"networkPolicy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "If enabled, will provide additional security be limiting network traffic into and out of the pod to only the required endpoints and ports.",
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
"serviceAccount": {
|
|
"type": "object",
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"description": "If enabled, a Kubernetes Service Account will be created for this pod.",
|
|
"default": true
|
|
}
|
|
}
|
|
},
|
|
"additionalEnvVars": {
|
|
"type": "array",
|
|
"description": "Additional environment variables to be passed to the Test pod",
|
|
"default": [],
|
|
"items": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|