Skip to content

Instantly share code, notes, and snippets.

@chrismckelt
Created February 4, 2025 13:00
Show Gist options
  • Select an option

  • Save chrismckelt/de14c3c8b4d15618f10256455b398cf3 to your computer and use it in GitHub Desktop.

Select an option

Save chrismckelt/de14c3c8b4d15618f10256455b398cf3 to your computer and use it in GitHub Desktop.
dapr crd configuration.json
// 20250204210013
// https://raw.githubusercontent.com/synergy-au/ot-rmc-apps/0d2948959d3946686e6a78274712d20f7d0d2ed3/.github/schemas/configuration.json?token=GHSAT0AAAAAAC5DK2JAU2BTA2MDKICUVHMOZ5CDTKA
{
"apiVersion": "apiextensions.k8s.io/v1",
"kind": "CustomResourceDefinition",
"metadata": {
"annotations": {
"controller-gen.kubebuilder.io/version": "v0.11.3"
},
"creationTimestamp": null,
"name": "configurations.dapr.io",
"labels": {
"app.kubernetes.io/part-of": "dapr"
}
},
"spec": {
"group": "dapr.io",
"names": {
"kind": "Configuration",
"listKind": "ConfigurationList",
"plural": "configurations",
"singular": "configuration"
},
"scope": "Namespaced",
"versions": [
{
"name": "v1alpha1",
"schema": {
"openAPIV3Schema": {
"description": "Configuration describes an Dapr configuration setting.",
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
"type": "string"
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"description": "ConfigurationSpec is the spec for an configuration.",
"properties": {
"accessControl": {
"description": "AccessControlSpec is the spec object in ConfigurationSpec.",
"properties": {
"defaultAction": {
"type": "string"
},
"policies": {
"items": {
"description": "AppPolicySpec defines the policy data structure for each app.",
"properties": {
"appId": {
"type": "string"
},
"defaultAction": {
"type": "string"
},
"namespace": {
"type": "string"
},
"operations": {
"items": {
"description": "AppOperationAction defines the data structure for each app operation.",
"properties": {
"action": {
"type": "string"
},
"httpVerb": {
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"type": "string"
}
},
"required": [
"action",
"name"
],
"type": "object"
},
"type": "array"
},
"trustDomain": {
"type": "string"
}
},
"required": [
"appId"
],
"type": "object"
},
"type": "array"
},
"trustDomain": {
"type": "string"
}
},
"type": "object"
},
"api": {
"description": "APISpec describes the configuration for Dapr APIs.",
"properties": {
"allowed": {
"description": "List of allowed APIs. Can be used in conjunction with denied.",
"items": {
"description": "APIAccessRule describes an access rule for allowing or denying a Dapr API.",
"properties": {
"name": {
"type": "string"
},
"protocol": {
"type": "string"
},
"version": {
"type": "string"
}
},
"required": [
"name",
"version"
],
"type": "object"
},
"type": "array"
},
"denied": {
"description": "List of denied APIs. Can be used in conjunction with allowed.",
"items": {
"description": "APIAccessRule describes an access rule for allowing or denying a Dapr API.",
"properties": {
"name": {
"type": "string"
},
"protocol": {
"type": "string"
},
"version": {
"type": "string"
}
},
"required": [
"name",
"version"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"appHttpPipeline": {
"description": "PipelineSpec defines the middleware pipeline.",
"properties": {
"handlers": {
"items": {
"description": "HandlerSpec defines a request handlers.",
"properties": {
"name": {
"type": "string"
},
"selector": {
"description": "SelectorSpec selects target services to which the handler is to be applied.",
"properties": {
"fields": {
"items": {
"description": "SelectorField defines a selector fields.",
"properties": {
"field": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"field",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"fields"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"name",
"type"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"handlers"
],
"type": "object"
},
"components": {
"description": "ComponentsSpec describes the configuration for Dapr components",
"properties": {
"deny": {
"description": "Denylist of component types that cannot be instantiated",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"features": {
"items": {
"description": "FeatureSpec defines the features that are enabled/disabled.",
"properties": {
"enabled": {
"type": "boolean"
},
"name": {
"type": "string"
}
},
"required": [
"enabled",
"name"
],
"type": "object"
},
"type": "array"
},
"httpPipeline": {
"description": "PipelineSpec defines the middleware pipeline.",
"properties": {
"handlers": {
"items": {
"description": "HandlerSpec defines a request handlers.",
"properties": {
"name": {
"type": "string"
},
"selector": {
"description": "SelectorSpec selects target services to which the handler is to be applied.",
"properties": {
"fields": {
"items": {
"description": "SelectorField defines a selector fields.",
"properties": {
"field": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"field",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"fields"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"name",
"type"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"handlers"
],
"type": "object"
},
"logging": {
"description": "LoggingSpec defines the configuration for logging.",
"properties": {
"apiLogging": {
"description": "Configure API logging.",
"properties": {
"enabled": {
"description": "Default value for enabling API logging. Sidecars can always override this by setting `--enable-api-logging` to true or false explicitly. The default value is false.",
"type": "boolean"
},
"obfuscateURLs": {
"description": "When enabled, obfuscates the values of URLs in HTTP API logs, logging the route name rather than the full path being invoked, which could contain PII. Default: false. This option has no effect if API logging is disabled.",
"type": "boolean"
},
"omitHealthChecks": {
"description": "If true, health checks are not reported in API logs. Default: false. This option has no effect if API logging is disabled.",
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"metric": {
"default": {
"enabled": true
},
"description": "MetricSpec defines metrics configuration.",
"properties": {
"enabled": {
"type": "boolean"
},
"http": {
"description": "MetricHTTP defines configuration for metrics for the HTTP server",
"properties": {
"increasedCardinality": {
"description": "If true, metrics for the HTTP server are collected with increased cardinality. The default is true in Dapr 1.13, but will be changed to false in 1.15+",
"type": "boolean"
},
"pathMatching": {
"description": "PathMatching defines the path matching configuration for HTTP server metrics.",
"type": "array",
"items": {
"type": "string"
}
},
"excludeVerbs": {
"description": "If true (default is false) HTTP verbs (e.g., GET, POST) are excluded from the metrics.",
"type": "boolean"
}
},
"type": "object"
},
"rules": {
"items": {
"description": "MetricsRule defines configuration options for a metric.",
"properties": {
"labels": {
"items": {
"description": "MetricsLabel defines an object that allows to set regex expressions for a label.",
"properties": {
"name": {
"type": "string"
},
"regex": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"required": [
"name",
"regex"
],
"type": "object"
},
"type": "array"
},
"name": {
"type": "string"
}
},
"required": [
"labels",
"name"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"enabled"
],
"type": "object"
},
"metrics": {
"default": {
"enabled": true
},
"description": "MetricSpec defines metrics configuration.",
"properties": {
"enabled": {
"type": "boolean"
},
"http": {
"description": "MetricHTTP defines configuration for metrics for the HTTP server",
"properties": {
"increasedCardinality": {
"description": "If true, metrics for the HTTP server are collected with increased cardinality. The default is true in Dapr 1.13, but will be changed to false in 1.14+",
"type": "boolean"
},
"pathMatching": {
"description": "PathMatching defines the path matching configuration for HTTP server metrics.",
"type": "array",
"items": {
"type": "string"
}
},
"excludeVerbs": {
"description": "If true (default is false) HTTP verbs (e.g., GET, POST) are excluded from the metrics.",
"type": "boolean"
}
},
"type": "object"
},
"latencyDistributionBuckets": {
"description": "If a list of integers is specified, use these values for latency distribution buckets instead of the default values.",
"items": {
"type": "integer"
},
"type": "array"
},
"rules": {
"items": {
"description": "MetricsRule defines configuration options for a metric.",
"properties": {
"labels": {
"items": {
"description": "MetricsLabel defines an object that allows to set regex expressions for a label.",
"properties": {
"name": {
"type": "string"
},
"regex": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"required": [
"name",
"regex"
],
"type": "object"
},
"type": "array"
},
"name": {
"type": "string"
}
},
"required": [
"labels",
"name"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"enabled"
],
"type": "object"
},
"mtls": {
"description": "MTLSSpec defines mTLS configuration.",
"properties": {
"allowedClockSkew": {
"type": "string"
},
"controlPlaneTrustDomain": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"sentryAddress": {
"type": "string"
},
"tokenValidators": {
"description": "Additional token validators to use. When Dapr is running in Kubernetes mode, this is in addition to the built-in \"kubernetes\" validator. In self-hosted mode, enabling a custom validator will disable the built-in \"insecure\" validator.",
"items": {
"description": "ValidatorSpec contains additional token validators to use.",
"properties": {
"name": {
"description": "Name of the validator",
"enum": [
"jwks"
],
"type": "string"
},
"options": {
"description": "Options for the validator, if any",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
}
},
"required": [
"name"
],
"type": "object"
},
"type": "array"
},
"workloadCertTTL": {
"type": "string"
}
},
"required": [
"enabled"
],
"type": "object"
},
"nameResolution": {
"description": "NameResolutionSpec is the spec for name resolution configuration.",
"properties": {
"component": {
"type": "string"
},
"configuration": {
"description": "DynamicValue is a dynamic value struct for the component.metadata pair value.",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"version": {
"type": "string"
}
},
"required": [
"component",
"configuration",
"version"
],
"type": "object"
},
"secrets": {
"description": "SecretsSpec is the spec for secrets configuration.",
"properties": {
"scopes": {
"items": {
"description": "SecretsScope defines the scope for secrets.",
"properties": {
"allowedSecrets": {
"items": {
"type": "string"
},
"type": "array"
},
"defaultAccess": {
"type": "string"
},
"deniedSecrets": {
"items": {
"type": "string"
},
"type": "array"
},
"storeName": {
"type": "string"
}
},
"required": [
"storeName"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"scopes"
],
"type": "object"
},
"tracing": {
"description": "TracingSpec defines distributed tracing configuration.",
"properties": {
"otel": {
"description": "OtelSpec defines Otel exporter configurations.",
"properties": {
"endpointAddress": {
"type": "string"
},
"isSecure": {
"type": "boolean"
},
"protocol": {
"type": "string"
}
},
"required": [
"endpointAddress",
"isSecure",
"protocol"
],
"type": "object"
},
"samplingRate": {
"type": "string"
},
"stdout": {
"type": "boolean"
},
"zipkin": {
"description": "ZipkinSpec defines Zipkin trace configurations.",
"properties": {
"endpointAddress": {
"type": "string"
}
},
"required": [
"endpointAddress"
],
"type": "object"
}
},
"required": [
"samplingRate"
],
"type": "object"
},
"wasm": {
"description": "WasmSpec describes the security profile for all Dapr Wasm components.",
"properties": {
"strictSandbox": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
},
"served": true,
"storage": true
}
]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment