├── .build-tools ├── .gitignore ├── README.md ├── builtin-authentication-profiles.yaml ├── cmd │ ├── cmd-bundle-component-metadata.go │ ├── cmd-create-metadata-analyzer-app.go │ ├── cmd-gen-component-schema.go │ ├── root.go │ └── utils.go ├── component-folders.yaml ├── go.mod ├── go.sum ├── main.go └── pkg │ ├── componentmetadata │ ├── find.go │ └── parser.go │ ├── metadataanalyzer │ ├── analyzer.template │ └── utils.go │ └── metadataschema │ ├── builtin-authentication-profiles.go │ ├── bundle.go │ ├── schema.go │ └── validators.go ├── .codecov.yaml ├── .devcontainer └── devcontainer.json ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── config.yml │ ├── discussion.md │ ├── feature_request.md │ ├── proposal.md │ └── question.md ├── infrastructure │ ├── conformance │ │ ├── azure │ │ │ ├── README.md │ │ │ ├── allow-github-ips-in-azuresql.py │ │ │ ├── conf-test-azure-appconfig.bicep │ │ │ ├── conf-test-azure-container-registry.bicep │ │ │ ├── conf-test-azure-cosmosdb-table.bicep │ │ │ ├── conf-test-azure-cosmosdb.bicep │ │ │ ├── conf-test-azure-eventgrid.bicep │ │ │ ├── conf-test-azure-eventhubs.bicep │ │ │ ├── conf-test-azure-iothub.bicep │ │ │ ├── conf-test-azure-keyvault.bicep │ │ │ ├── conf-test-azure-postgres.bicep │ │ │ ├── conf-test-azure-servicebus.bicep │ │ │ ├── conf-test-azure-sqlserver-firewall.bicep │ │ │ ├── conf-test-azure-sqlserver.bicep │ │ │ ├── conf-test-azure-storage.bicep │ │ │ ├── conf-test-azure.bicep │ │ │ ├── setup-azure-conf-test.sh │ │ │ └── setup-eventgrid-sp.ps1 │ │ ├── hashicorp │ │ │ └── setup-hashicorp-vault-secrets.sh │ │ └── temporal │ │ │ ├── server │ │ │ └── dynamicconfig │ │ │ │ ├── README.md │ │ │ │ ├── development-cass.yaml │ │ │ │ ├── development-sql.yaml │ │ │ │ └── docker.yaml │ │ │ └── worker │ │ │ ├── Dockerfile │ │ │ ├── go.mod │ │ │ ├── go.sum │ │ │ └── main.go │ ├── docker-compose-cassandra.yml │ ├── docker-compose-cockroachdb.yml │ ├── docker-compose-confluent.yml │ ├── docker-compose-dynamodb.yml │ ├── docker-compose-emqx.yml │ ├── docker-compose-etcd.yml │ ├── docker-compose-gcp-pubsub.yml │ ├── docker-compose-gcpfirestore.yml │ ├── docker-compose-hashicorp-vault.yml │ ├── docker-compose-influxdb.yml │ ├── docker-compose-jetstream.yml │ ├── docker-compose-kafka.yml │ ├── docker-compose-kubemq.yml │ ├── docker-compose-mariadb.yml │ ├── docker-compose-memcached.yml │ ├── docker-compose-mosquitto.yml │ ├── docker-compose-mysql.yml │ ├── docker-compose-natsstreaming.yml │ ├── docker-compose-oracledatabase.yml │ ├── docker-compose-postgresql.yml │ ├── docker-compose-pulsar.yml │ ├── docker-compose-rabbitmq.yml │ ├── docker-compose-redis7.yml │ ├── docker-compose-redisjson.yml │ ├── docker-compose-rethinkdb.yml │ ├── docker-compose-rocketmq.yml │ ├── docker-compose-s3.yml │ ├── docker-compose-snssqs.yml │ ├── docker-compose-solace.yml │ ├── docker-compose-sqlserver.yml │ ├── docker-compose-temporal.yml │ ├── docker-compose-vernemq.yml │ ├── mosquitto.conf │ └── terraform │ │ ├── certification │ │ ├── bindings │ │ │ └── aws │ │ │ │ └── s3 │ │ │ │ └── s3.tf │ │ ├── pubsub │ │ │ ├── aws │ │ │ │ └── snssqs │ │ │ │ │ └── snssqs.tf │ │ │ └── gcp │ │ │ │ └── pubsub │ │ │ │ └── pubsub.tf │ │ └── state │ │ │ └── aws │ │ │ └── dynamodb │ │ │ └── dynamodb.tf │ │ ├── conformance │ │ ├── bindings │ │ │ └── aws │ │ │ │ └── s3 │ │ │ │ └── s3.tf │ │ ├── pubsub │ │ │ ├── aws │ │ │ │ └── snssqs │ │ │ │ │ └── snssqs.tf │ │ │ └── gcp │ │ │ │ └── pubsub │ │ │ │ └── pubsub.tf │ │ └── state │ │ │ └── aws │ │ │ └── dynamodb │ │ │ └── dynamodb.tf │ │ └── infra-setup │ │ └── gcp │ │ └── dapr-gh-gcp-wif │ │ ├── README.md │ │ ├── backend.tf │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── pubsub_roles.tf │ │ ├── service_account.tf │ │ ├── variables.tf │ │ └── versions.tf ├── pull_request_template.md ├── scripts │ ├── automerge.py │ ├── components-scripts │ │ ├── certification-bindings.aws.s3-destroy.sh │ │ ├── certification-bindings.aws.s3-setup.sh │ │ ├── certification-pubsub.aws.snssqs-destroy.sh │ │ ├── certification-pubsub.aws.snssqs-setup.sh │ │ ├── certification-pubsub.gcp.pubsub-destroy.sh │ │ ├── certification-pubsub.gcp.pubsub-setup.sh │ │ ├── certification-state.aws.dynamodb-destroy.sh │ │ ├── certification-state.aws.dynamodb-setup.sh │ │ ├── certification-state.gcp.firestore-setup.sh │ │ ├── conformance-bindings.aws.s3.terraform-destroy.sh │ │ ├── conformance-bindings.aws.s3.terraform-setup.sh │ │ ├── conformance-bindings.azure.eventgrid-destroy.sh │ │ ├── conformance-bindings.azure.eventgrid-setup.sh │ │ ├── conformance-bindings.influx-setup.sh │ │ ├── conformance-pubsub.aws.snssqs.terraform-destroy.sh │ │ ├── conformance-pubsub.aws.snssqs.terraform-setup.sh │ │ ├── conformance-pubsub.gcp.pubsub.terraform-destroy.sh │ │ ├── conformance-pubsub.gcp.pubsub.terraform-setup.sh │ │ ├── conformance-secretstores.kubernetes-setup.sh │ │ ├── conformance-state.aws.dynamodb-destroy.sh │ │ ├── conformance-state.aws.dynamodb-setup.sh │ │ ├── conformance-state.azure.sql-destroy.sh │ │ ├── conformance-state.azure.sql-setup.sh │ │ ├── conformance-state.cloudflare.workerskv-destroy.sh │ │ ├── conformance-state.cloudflare.workerskv-setup.sh │ │ ├── conformance-state.gcp.firestore-setup.sh │ │ └── docker-compose.sh │ ├── dapr_bot.js │ ├── docker-compose-init │ │ ├── init-conformance-bindings-aws-s3.sh │ │ └── init-conformance-state-aws-dynamodb.sh │ ├── gocovmerge.sh │ └── test-info.mjs └── workflows │ ├── certification.yml │ ├── components-contrib-all.yml │ ├── components-contrib.yml │ ├── conformance.yml │ ├── coverage-reports.yml │ ├── dapr-bot-schedule.yml │ ├── dapr-bot.yml │ ├── fossa.yml │ └── generate-component-metadata-for-tag.yml ├── .gitignore ├── .golangci.yml ├── .prettierignore ├── .prettierrc.json ├── CODEOWNERS ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── SECURITY.md ├── bindings ├── README.md ├── alicloud │ ├── dingtalk │ │ └── webhook │ │ │ ├── settings.go │ │ │ ├── settings_test.go │ │ │ ├── webhook.go │ │ │ └── webhook_test.go │ ├── oss │ │ ├── oss.go │ │ └── oss_test.go │ ├── sls │ │ ├── sls.go │ │ └── sls_test.go │ └── tablestore │ │ ├── tablestore.go │ │ └── tablestore_test.go ├── apns │ ├── apns.go │ ├── apns_test.go │ ├── authorization_builder.go │ └── doc.go ├── aws │ ├── dynamodb │ │ ├── dynamodb.go │ │ └── dynamodb_test.go │ ├── kinesis │ │ ├── kinesis.go │ │ └── kinesis_test.go │ ├── s3 │ │ ├── metadata.yaml │ │ ├── s3.go │ │ └── s3_test.go │ ├── ses │ │ ├── ses.go │ │ └── ses_test.go │ ├── sns │ │ ├── sns.go │ │ └── sns_test.go │ └── sqs │ │ ├── sqs.go │ │ └── sqs_test.go ├── azure │ ├── blobstorage │ │ ├── blobstorage.go │ │ ├── blobstorage_test.go │ │ └── metadata.yaml │ ├── cosmosdb │ │ ├── cosmosdb.go │ │ ├── cosmosdb_test.go │ │ └── metadata.yaml │ ├── cosmosdbgremlinapi │ │ ├── cosmosdbgremlinapi.go │ │ ├── cosmosdbgremlinapi_test.go │ │ └── metadata.yaml │ ├── eventgrid │ │ ├── eventgrid.go │ │ ├── eventgrid_test.go │ │ └── metadata.yaml │ ├── eventhubs │ │ ├── eventhubs.go │ │ ├── eventhubs_integration_test.go │ │ └── metadata.yaml │ ├── openai │ │ ├── metadata.yaml │ │ └── openai.go │ ├── servicebusqueues │ │ ├── metadata.yaml │ │ └── servicebusqueues.go │ ├── signalr │ │ ├── metadata.yaml │ │ ├── signalr.go │ │ └── signalr_test.go │ └── storagequeues │ │ ├── metadata.yaml │ │ ├── storagequeues.go │ │ └── storagequeues_test.go ├── bindings.go ├── cloudflare │ └── queues │ │ ├── cfqueues.go │ │ └── metadata.go ├── commercetools │ ├── commercetools.go │ └── commercetools_test.go ├── cron │ ├── cron.go │ ├── cron_test.go │ └── metadata.yaml ├── dubbo │ ├── context.go │ ├── dubbo_output.go │ ├── dubbo_output_test.go │ └── raw_data_serializer.go ├── gcp │ ├── bucket │ │ ├── bucket.go │ │ ├── bucket_test.go │ │ └── metadata.yaml │ └── pubsub │ │ ├── pubsub.go │ │ └── pubsub_test.go ├── graphql │ ├── graphql.go │ └── graphql_test.go ├── http │ ├── http.go │ ├── http_test.go │ ├── metadata.yaml │ └── testdata │ │ ├── ca.pem │ │ ├── client.key │ │ ├── client.pem │ │ ├── server.key │ │ └── server.pem ├── huawei │ └── obs │ │ ├── obs.go │ │ ├── obs_service.go │ │ └── obs_test.go ├── influx │ ├── influx.go │ ├── influx_mock_test.go │ └── influx_test.go ├── input_binding.go ├── kafka │ └── kafka.go ├── kitex │ ├── context.go │ ├── kitex_output.go │ └── kitex_output_test.go ├── kubemq │ ├── kubemq.go │ ├── kubemq_integration_test.go │ ├── kubemq_test.go │ └── options.go ├── kubernetes │ ├── kubernetes.go │ └── kubernetes_test.go ├── localstorage │ ├── localstorage.go │ └── localstorage_test.go ├── metadata.go ├── mqtt3 │ ├── metadata.go │ ├── mqtt.go │ ├── mqtt_integration_test.go │ └── mqtt_test.go ├── mysql │ ├── metadata.yaml │ ├── mysql.go │ ├── mysql_integration_test.go │ └── mysql_test.go ├── output_binding.go ├── postgres │ ├── metadata.go │ ├── metadata.yaml │ ├── postgres.go │ └── postgres_test.go ├── postmark │ ├── postmark.go │ └── postmark_test.go ├── rabbitmq │ ├── metadata.yaml │ ├── rabbitmq.go │ ├── rabbitmq_integration_test.go │ └── rabbitmq_test.go ├── redis │ ├── metadata.yaml │ ├── redis.go │ └── redis_test.go ├── requests.go ├── responses.go ├── rethinkdb │ └── statechange │ │ ├── statechange.go │ │ └── statechange_test.go ├── rocketmq │ ├── rocketmq.go │ ├── rocketmq_test.go │ ├── settings.go │ └── settings_test.go ├── smtp │ ├── smtp.go │ └── smtp_test.go ├── twilio │ ├── sendgrid │ │ ├── sendgrid.go │ │ └── sendgrid_test.go │ └── sms │ │ ├── sms.go │ │ └── sms_test.go ├── wasm │ ├── Makefile │ ├── benchmark_test.go │ ├── output.go │ ├── output_test.go │ └── testdata │ │ ├── Makefile │ │ ├── args │ │ ├── main.go │ │ └── main.wasm │ │ ├── example │ │ ├── main.go │ │ └── main.wasm │ │ ├── http │ │ ├── Makefile │ │ ├── main.go │ │ └── main.wasm │ │ └── loop │ │ ├── main.go │ │ └── main.wasm └── zeebe │ ├── client.go │ ├── client_test.go │ ├── command │ ├── activate_jobs.go │ ├── activate_jobs_test.go │ ├── cancel_instance.go │ ├── cancel_instance_test.go │ ├── command.go │ ├── command_test.go │ ├── complete_job.go │ ├── complete_job_test.go │ ├── create_instance.go │ ├── create_instance_test.go │ ├── deploy_resource.go │ ├── deploy_resource_test.go │ ├── fail_job.go │ ├── fail_job_test.go │ ├── metadata.yaml │ ├── publish_message.go │ ├── publish_message_test.go │ ├── resolve_incident.go │ ├── resolve_incident_test.go │ ├── set_variables.go │ ├── set_variables_test.go │ ├── throw_error.go │ ├── throw_error_test.go │ ├── topology.go │ ├── update_job_retries.go │ └── update_job_retries_test.go │ ├── helper.go │ ├── helper_test.go │ └── jobworker │ ├── jobworker.go │ ├── jobworker_test.go │ └── metadata.yaml ├── component-metadata-schema.json ├── configuration ├── README.md ├── azure │ └── appconfig │ │ ├── appconfig.go │ │ ├── appconfig_test.go │ │ ├── metadata.go │ │ └── metadata.yaml ├── metadata.go ├── postgres │ ├── metadata.go │ ├── metadata.yaml │ ├── postgres.go │ └── postgres_test.go ├── redis │ ├── internal │ │ ├── redis_value.go │ │ └── redis_value_test.go │ ├── metadata.yaml │ ├── redis.go │ └── redis_test.go ├── requests.go ├── responses.go └── store.go ├── contenttype └── utils.go ├── crypto ├── azure │ └── keyvault │ │ ├── algorithms.go │ │ ├── component.go │ │ ├── jwk.go │ │ └── metadata.go ├── feature.go ├── jwks │ ├── component.go │ └── metadata.go ├── key.go ├── kubernetes │ └── secrets │ │ ├── component.go │ │ └── metadata.go ├── local_base_component.go ├── localstorage │ ├── component.go │ └── metadata.go ├── metadata.go ├── pubkey_cache.go ├── pubkey_cache_test.go └── subtlecrypto.go ├── docs └── developing-component.md ├── go.mod ├── go.sum ├── health └── pinger.go ├── internal ├── authentication │ ├── aws │ │ └── aws.go │ ├── azure │ │ ├── auth.go │ │ ├── auth_test.go │ │ ├── endpoints.go │ │ ├── metadata-properties.go │ │ └── services.go │ ├── kubernetes │ │ ├── client.go │ │ └── client_test.go │ ├── oauth2 │ │ ├── clientcredentials.go │ │ └── clientcredentials_test.go │ └── postgresql │ │ └── metadata.go ├── component │ ├── azure │ │ ├── blobstorage │ │ │ ├── client.go │ │ │ ├── client_test.go │ │ │ ├── metadata.go │ │ │ ├── metadata_test.go │ │ │ ├── request.go │ │ │ └── request_test.go │ │ ├── eventhubs │ │ │ ├── entity_management.go │ │ │ ├── eventhubs.go │ │ │ ├── eventhubs_test.go │ │ │ ├── events.go │ │ │ ├── metadata.go │ │ │ └── track1_upgrade.go │ │ └── servicebus │ │ │ ├── client.go │ │ │ ├── errors.go │ │ │ ├── handler_pubsub.go │ │ │ ├── message.go │ │ │ ├── message_pubsub.go │ │ │ ├── message_pubsub_test.go │ │ │ ├── message_test.go │ │ │ ├── metadata.go │ │ │ ├── metadata_test.go │ │ │ ├── publisher.go │ │ │ ├── receiver.go │ │ │ ├── subscription.go │ │ │ └── subscription_test.go │ ├── cloudflare │ │ ├── worker-src │ │ │ ├── .gitignore │ │ │ ├── .prettierrc.yaml │ │ │ ├── README.md │ │ │ ├── lib │ │ │ │ ├── environment.ts │ │ │ │ └── jwt-auth.ts │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── tsconfig.json │ │ │ ├── worker.ts │ │ │ └── wrangler.toml │ │ └── workers │ │ │ ├── code │ │ │ ├── code.go │ │ │ ├── worker.js │ │ │ └── worker.js.map │ │ │ ├── metadata.go │ │ │ └── workers.go │ ├── kafka │ │ ├── auth.go │ │ ├── auth_test.go │ │ ├── consumer.go │ │ ├── kafka.go │ │ ├── metadata.go │ │ ├── metadata_test.go │ │ ├── producer.go │ │ ├── sarama_log_bridge.go │ │ ├── sasl_oauthbearer.go │ │ ├── scram_client.go │ │ └── utils.go │ ├── postgresql │ │ ├── dbaccess.go │ │ ├── metadata.go │ │ ├── metadata_test.go │ │ ├── postgresdbaccess.go │ │ ├── postgresdbaccess_test.go │ │ ├── postgresql.go │ │ ├── postgresql_query.go │ │ ├── postgresql_query_test.go │ │ └── postgresql_test.go │ ├── redis │ │ ├── redis.go │ │ ├── redis_test.go │ │ ├── settings.go │ │ ├── v8client.go │ │ └── v9client.go │ └── sql │ │ └── cleanup.go ├── eventbus │ ├── README.md │ ├── event_bus.go │ └── event_bus_test.go ├── httputils │ ├── requests.go │ ├── requests_test.go │ └── responses.go ├── proto │ └── state │ │ └── etcd │ │ └── v2 │ │ ├── value.pb.go │ │ └── value.proto ├── utils │ ├── utils.go │ └── utils_test.go └── wasm │ ├── Makefile │ ├── http.go │ ├── http_test.go │ ├── testdata │ ├── args │ │ ├── main.go │ │ └── main.wasm │ └── strict │ │ ├── main.go │ │ └── main.wasm │ ├── wasm.go │ └── wasm_test.go ├── lock ├── metadata.go ├── redis │ ├── standalone.go │ └── standalone_test.go ├── requests.go ├── responses.go └── store.go ├── metadata ├── base.go ├── bytesize.go ├── componentmetadata.go ├── componentmetadata_metadata.go ├── duration.go ├── duration_test.go ├── utils.go └── utils_test.go ├── middleware ├── README.md ├── http │ ├── bearer │ │ ├── bearer_middleware.go │ │ ├── metadata.go │ │ └── metadata_test.go │ ├── oauth2 │ │ ├── oauth2_middleware.go │ │ └── oauth2_middleware_test.go │ ├── oauth2clientcredentials │ │ ├── mocks │ │ │ └── mock_TokenProviderInterface.go │ │ ├── oauth2clientcredentials_middleware.go │ │ └── oauth2clientcredentials_middleware_test.go │ ├── opa │ │ ├── middleware.go │ │ └── middleware_test.go │ ├── ratelimit │ │ ├── ratelimit_middleware.go │ │ └── ratelimit_middleware_test.go │ ├── routeralias │ │ ├── metadata.yaml │ │ ├── routeralias_middleware.go │ │ └── routeralias_middleware_test.go │ ├── routerchecker │ │ ├── routerchecker_middleware.go │ │ └── routerchecker_middleware_test.go │ ├── sentinel │ │ ├── logger.go │ │ ├── middleware.go │ │ ├── middleware_test.go │ │ ├── rules.go │ │ └── rules_test.go │ └── wasm │ │ ├── Makefile │ │ ├── README.md │ │ ├── benchmark_test.go │ │ ├── example │ │ ├── Makefile │ │ ├── go.mod │ │ ├── go.sum │ │ ├── router.go │ │ └── router.wasm │ │ ├── httpwasm.go │ │ ├── httpwasm_test.go │ │ └── internal │ │ ├── e2e-guests │ │ ├── Makefile │ │ ├── README.md │ │ ├── config │ │ │ ├── main.go │ │ │ └── main.wasm │ │ ├── go.mod │ │ ├── go.sum │ │ ├── output │ │ │ ├── main.go │ │ │ └── main.wasm │ │ └── rewrite │ │ │ ├── main.go │ │ │ └── main.wasm │ │ ├── e2e_test.go │ │ └── testdata │ │ ├── rewrite.wasm │ │ └── rewrite.wat ├── metadata.go └── middleware.go ├── nameresolution ├── README.md ├── consul │ ├── README.md │ ├── configuration.go │ ├── consul.go │ └── consul_test.go ├── dns │ ├── dns.go │ └── dns_test.go ├── kubernetes │ ├── kubernetes.go │ └── kubernetes_test.go ├── mdns │ ├── mdns.go │ └── mdns_test.go ├── metadata.go ├── nameresolution.go └── requests.go ├── pubsub ├── README.md ├── aws │ └── snssqs │ │ ├── metadata.go │ │ ├── metadata.yaml │ │ ├── policy.go │ │ ├── snssqs.go │ │ └── snssqs_test.go ├── azure │ ├── eventhubs │ │ ├── eventhubs.go │ │ ├── eventhubs_integration_test.go │ │ └── metadata.yaml │ └── servicebus │ │ ├── queues │ │ ├── metadata.yaml │ │ └── servicebus.go │ │ └── topics │ │ ├── metadata.yaml │ │ └── servicebus.go ├── concurrency.go ├── concurrency_test.go ├── envelope.go ├── envelope_test.go ├── feature.go ├── gcp │ └── pubsub │ │ ├── metadata.go │ │ ├── metadata.yaml │ │ ├── pubsub.go │ │ └── pubsub_test.go ├── in-memory │ ├── in-memory.go │ ├── in-memory_test.go │ └── metadata.yaml ├── jetstream │ ├── jetstream.go │ ├── jetstream_test.go │ ├── metadata.go │ └── metadata_test.go ├── kafka │ ├── kafka.go │ └── metadata.yaml ├── kubemq │ ├── kubemq.go │ ├── kubemq_events.go │ ├── kubemq_events_test.go │ ├── kubemq_eventstore.go │ ├── kubemq_eventstore_test.go │ ├── kubemq_test.go │ ├── metadata.go │ └── metadata_test.go ├── metadata.go ├── mqtt3 │ ├── metadata.go │ ├── mqtt.go │ └── mqtt_test.go ├── natsstreaming │ ├── metadata.go │ ├── natsstreaming.go │ └── natsstreaming_test.go ├── pubsub.go ├── pulsar │ ├── key_reader.go │ ├── key_reader_test.go │ ├── metadata.go │ ├── metadata.yaml │ ├── pulsar.go │ └── pulsar_test.go ├── rabbitmq │ ├── metadata.go │ ├── metadata_test.go │ ├── rabbitmq.go │ └── rabbitmq_test.go ├── redis │ ├── metadata.yaml │ ├── redis.go │ └── redis_test.go ├── requests.go ├── responses.go ├── responses_test.go ├── rocketmq │ ├── metadata.go │ ├── metadata_test.go │ ├── rocketmq.go │ └── rocketmq_test.go ├── solace │ └── amqp │ │ ├── amqp.go │ │ ├── amqp_test.go │ │ └── metadata.go ├── tls.go └── tls_test.go ├── secretstores ├── README.md ├── alicloud │ └── parameterstore │ │ ├── parameterstore.go │ │ └── parameterstore_test.go ├── aws │ ├── parameterstore │ │ ├── metadata.yaml │ │ ├── parameterstore.go │ │ ├── parameterstore_integ_test.go │ │ └── parameterstore_test.go │ └── secretmanager │ │ ├── secretmanager.go │ │ ├── secretmanager_integ_test.go │ │ └── secretmanager_test.go ├── azure │ └── keyvault │ │ ├── keyvault.go │ │ ├── keyvault_test.go │ │ └── metadata.yaml ├── feature.go ├── gcp │ └── secretmanager │ │ ├── metadata.yaml │ │ ├── secretmanager.go │ │ └── secretmanager_test.go ├── hashicorp │ └── vault │ │ ├── metadata.yaml │ │ ├── vault.go │ │ └── vault_test.go ├── huaweicloud │ └── csms │ │ ├── csms.go │ │ └── csms_test.go ├── kubernetes │ ├── kubernetes.go │ ├── kubernetes_test.go │ ├── metadata.go │ └── metadata.yaml ├── local │ ├── env │ │ ├── envstore.go │ │ ├── envstore_test.go │ │ └── metadata.yaml │ └── file │ │ ├── filestore.go │ │ └── filestore_test.go ├── metadata.go ├── requests.go ├── responses.go ├── secret_store.go └── tencentcloud │ └── ssm │ ├── ssm.go │ └── ssm_test.go ├── state ├── README.md ├── aerospike │ ├── aerospike.go │ └── aerospike_test.go ├── alicloud │ └── tablestore │ │ ├── mock_client.go │ │ ├── tablestore.go │ │ └── tablestore_test.go ├── aws │ └── dynamodb │ │ ├── dynamodb.go │ │ ├── dynamodb_test.go │ │ └── metadata.yaml ├── azure │ ├── blobstorage │ │ ├── blobstorage.go │ │ ├── blobstorage_test.go │ │ └── metadata.yaml │ ├── cosmosdb │ │ ├── cosmosdb.go │ │ ├── cosmosdb_query.go │ │ ├── cosmosdb_query_test.go │ │ ├── cosmosdb_test.go │ │ └── metadata.yaml │ └── tablestorage │ │ ├── metadata.yaml │ │ ├── tablestorage.go │ │ └── tablestorage_test.go ├── bulk.go ├── bulk_test.go ├── cassandra │ ├── cassandra.go │ ├── cassandra_test.go │ └── metadata.yaml ├── cloudflare │ └── workerskv │ │ ├── metadata.go │ │ ├── metadata.yaml │ │ └── workerskv.go ├── cockroachdb │ ├── cockroachdb.go │ ├── cockroachdb_integration_test.go │ └── metadata.yaml ├── couchbase │ ├── couchbase.go │ └── couchbase_test.go ├── errors.go ├── errors_test.go ├── etcd │ ├── etcd.go │ ├── etcd_test.go │ └── schema.go ├── feature.go ├── gcp │ └── firestore │ │ ├── firestore.go │ │ └── firestore_test.go ├── hashicorp │ └── consul │ │ ├── consul.go │ │ └── consul_test.go ├── hazelcast │ ├── hazelcast.go │ └── hazelcast_test.go ├── in-memory │ ├── in_memory.go │ ├── in_memory_test.go │ └── metadata.yaml ├── jetstream │ ├── jetstream.go │ └── jetstream_test.go ├── memcached │ ├── memcached.go │ ├── memcached_test.go │ └── metadata.yaml ├── metadata.go ├── mongodb │ ├── metadata.yaml │ ├── mongodb.go │ ├── mongodb_query.go │ ├── mongodb_query_test.go │ └── mongodb_test.go ├── mysql │ ├── metadata.yaml │ ├── mySQLFactory.go │ ├── mysql.go │ ├── mysql_certtests.go │ ├── mysql_integration_test.go │ └── mysql_test.go ├── oci │ └── objectstorage │ │ ├── objectstorage.go │ │ ├── objectstorage_integration_test.go │ │ └── objectstorage_test.go ├── oracledatabase │ ├── dbaccess.go │ ├── oracledatabase.go │ ├── oracledatabase_integration_test.go │ ├── oracledatabase_test.go │ └── oracledatabaseaccess.go ├── postgresql │ ├── metadata.yaml │ ├── migrations.go │ ├── postgresql.go │ └── postgresql_integration_test.go ├── query │ ├── filter.go │ ├── query.go │ └── query_test.go ├── redis │ ├── metadata.yaml │ ├── redis.go │ ├── redis_query.go │ ├── redis_query_schema.go │ ├── redis_query_schema_test.go │ ├── redis_query_test.go │ └── redis_test.go ├── request_options.go ├── request_options_test.go ├── requests.go ├── responses.go ├── rethinkdb │ ├── rethinkdb.go │ └── rethinkdb_test.go ├── sqlite │ ├── sqlite.go │ ├── sqlite_dbaccess.go │ ├── sqlite_integration_test.go │ ├── sqlite_metadata.go │ ├── sqlite_migrations.go │ └── sqlite_test.go ├── sqlserver │ ├── metadata.go │ ├── metadata.yaml │ ├── migration.go │ ├── sqlserver.go │ ├── sqlserver_integration_test.go │ └── sqlserver_test.go ├── store.go ├── utils │ ├── ttl.go │ ├── ttl_test.go │ └── utils.go └── zookeeper │ ├── zk.go │ ├── zk_mock.go │ └── zk_test.go ├── tests ├── certification │ ├── bindings │ │ ├── aws │ │ │ └── s3 │ │ │ │ ├── README.md │ │ │ │ ├── components │ │ │ │ ├── basic │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── s3bindings.yaml │ │ │ │ ├── decodeBase64 │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── s3bindings.yaml │ │ │ │ ├── encodeBase64 │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── s3bindings.yaml │ │ │ │ ├── forcePathStyleFalse │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── s3bindings.yaml │ │ │ │ └── forcePathStyleTrue │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── s3bindings.yaml │ │ │ │ ├── config.yaml │ │ │ │ └── s3_test.go │ │ ├── azure │ │ │ ├── blobstorage │ │ │ │ ├── README.md │ │ │ │ ├── blobstorage_test.go │ │ │ │ ├── components │ │ │ │ │ ├── accesskey │ │ │ │ │ │ ├── blobstorage.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ │ ├── decodeBase64 │ │ │ │ │ │ ├── blobstorage.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ │ ├── publicAccessBlob │ │ │ │ │ │ ├── blobstorage.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ │ ├── publicAccessContainer │ │ │ │ │ │ ├── blobstorage.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ │ └── serviceprincipal │ │ │ │ │ │ ├── blobstorage.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ └── config.yaml │ │ │ ├── cosmosdb │ │ │ │ ├── README.md │ │ │ │ ├── components │ │ │ │ │ ├── masterkey │ │ │ │ │ │ ├── cosmosdb.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ │ ├── serviceprincipal │ │ │ │ │ │ ├── cosmosdb.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ │ └── wrongPartitionKey │ │ │ │ │ │ ├── cosmosdb.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ ├── config.yaml │ │ │ │ └── cosmosdb_test.go │ │ │ ├── eventhubs │ │ │ │ ├── README.md │ │ │ │ ├── components │ │ │ │ │ └── binding │ │ │ │ │ │ ├── consumer1 │ │ │ │ │ │ ├── eventhubs.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ │ │ ├── consumer2 │ │ │ │ │ │ ├── eventhubs_input.yaml │ │ │ │ │ │ ├── eventhubs_output.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ │ │ ├── consumer3 │ │ │ │ │ │ ├── eventhubs.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ │ │ ├── iothub │ │ │ │ │ │ ├── eventhubs.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ │ │ └── serviceprincipal │ │ │ │ │ │ ├── eventhubs.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ ├── config.yaml │ │ │ │ ├── deleteeventhub.sh │ │ │ │ ├── eventhubs_test.go │ │ │ │ └── send-iot-device-events.sh │ │ │ ├── servicebusqueues │ │ │ │ ├── README.md │ │ │ │ ├── components │ │ │ │ │ ├── disable_entity_mgmt │ │ │ │ │ │ └── azure_service_bus_retry.yaml │ │ │ │ │ ├── retry │ │ │ │ │ │ ├── azure_service_bus_retry.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ │ ├── standard │ │ │ │ │ │ ├── azure_service_bus_1.yaml │ │ │ │ │ │ ├── azure_service_bus_2.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ │ └── ttl │ │ │ │ │ │ ├── azure_service_bus_message_ttl.yaml │ │ │ │ │ │ ├── azure_service_bus_mixed_ttl.yaml │ │ │ │ │ │ ├── azure_service_bus_queue_ttl.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ ├── config.yaml │ │ │ │ └── servicebusqueue_test.go │ │ │ └── storagequeues │ │ │ │ ├── README.md │ │ │ │ ├── components │ │ │ │ ├── decode │ │ │ │ │ ├── azure_queue_storage.yaml │ │ │ │ │ └── localsecrets.yaml │ │ │ │ ├── retry │ │ │ │ │ ├── azure_queue_storage.yaml │ │ │ │ │ └── localsecrets.yaml │ │ │ │ ├── standard │ │ │ │ │ ├── azure_queue_storage_1.yaml │ │ │ │ │ ├── azure_queue_storage_2.yaml │ │ │ │ │ └── localsecrets.yaml │ │ │ │ ├── ttl │ │ │ │ │ ├── azure_queue_storage_msg_ttl.yaml │ │ │ │ │ ├── azure_queue_storage_overwrite_ttl.yaml │ │ │ │ │ ├── azure_queue_storage_queue_ttl.yaml │ │ │ │ │ └── localsecrets.yaml │ │ │ │ └── visibilityTimeout │ │ │ │ │ ├── azure_queue_storage.yaml │ │ │ │ │ └── localsecrets.yaml │ │ │ │ ├── config.yaml │ │ │ │ └── storagequeue_test.go │ │ ├── cron │ │ │ ├── README.md │ │ │ ├── components │ │ │ │ ├── cron15m.yaml │ │ │ │ ├── cron1s.yaml │ │ │ │ ├── cron3s.yaml │ │ │ │ ├── cron6h.yaml │ │ │ │ └── cronMonthly.yaml │ │ │ ├── components_sameroute │ │ │ │ ├── cron.yaml │ │ │ │ └── cron3s.yaml │ │ │ ├── config.yaml │ │ │ └── cron_test.go │ │ ├── dubbo │ │ │ ├── README.md │ │ │ ├── components │ │ │ │ └── dubbo.yaml │ │ │ ├── config.yaml │ │ │ └── dubbo_test.go │ │ ├── kafka │ │ │ ├── README.md │ │ │ ├── components │ │ │ │ ├── consumer1 │ │ │ │ │ └── kafka.yaml │ │ │ │ ├── consumer2 │ │ │ │ │ └── kafka.yaml │ │ │ │ └── sasl-password │ │ │ │ │ └── kafka-binding.yaml │ │ │ ├── config.yaml │ │ │ ├── docker-compose.yml │ │ │ ├── kafka_test.go │ │ │ └── sasl-docker │ │ │ │ ├── docker-compose.yml │ │ │ │ ├── kafka_server_jaas.conf │ │ │ │ └── zookeeper_jaas.conf │ │ ├── kitex │ │ │ ├── README.md │ │ │ ├── components │ │ │ │ └── kitex.yaml │ │ │ ├── config.yaml │ │ │ └── kitex_test.go │ │ ├── localstorage │ │ │ ├── README.md │ │ │ ├── components │ │ │ │ └── localstorage.yaml │ │ │ ├── config.yaml │ │ │ └── localstorage_test.go │ │ ├── postgres │ │ │ ├── README.md │ │ │ ├── components │ │ │ │ └── standard │ │ │ │ │ └── postgres.yaml │ │ │ ├── config.yaml │ │ │ ├── docker-compose.yml │ │ │ └── postgres_test.go │ │ ├── rabbitmq │ │ │ ├── README.md │ │ │ ├── components │ │ │ │ ├── options │ │ │ │ │ └── rabbitmq.yaml │ │ │ │ ├── retry │ │ │ │ │ └── rabbitmq.yaml │ │ │ │ ├── standard │ │ │ │ │ └── rabbitmq.yaml │ │ │ │ └── ttl │ │ │ │ │ ├── rabbitmq_msg_ttl.yaml │ │ │ │ │ ├── rabbitmq_overwrite_ttl.yaml │ │ │ │ │ └── rabbitmq_queue_ttl.yaml │ │ │ ├── config.yaml │ │ │ ├── docker-compose.yml │ │ │ ├── mtls_sasl_external │ │ │ │ ├── components │ │ │ │ │ └── mtls_external │ │ │ │ │ │ └── rabbitmq-mtls.yaml │ │ │ │ ├── docker-compose.yml │ │ │ │ └── docker_sasl_external │ │ │ │ │ ├── Dockerfile │ │ │ │ │ ├── certs │ │ │ │ │ ├── ca.pem │ │ │ │ │ ├── client │ │ │ │ │ │ ├── cert.pem │ │ │ │ │ │ └── key.pem │ │ │ │ │ └── server │ │ │ │ │ │ ├── cert.pem │ │ │ │ │ │ └── key.pem │ │ │ │ │ ├── entrypoint.sh │ │ │ │ │ ├── rabbitmq.conf │ │ │ │ │ └── setup_user.sh │ │ │ └── rabbitmq_test.go │ │ ├── redis │ │ │ ├── README.md │ │ │ ├── components │ │ │ │ ├── retryOptions │ │ │ │ │ └── redis.yaml │ │ │ │ └── standard │ │ │ │ │ └── redis.yaml │ │ │ ├── config.yaml │ │ │ ├── docker-compose.yml │ │ │ └── redis_test.go │ │ └── zeebe │ │ │ ├── .env │ │ │ ├── README.md │ │ │ ├── certs │ │ │ ├── README.md │ │ │ ├── cert.pem │ │ │ └── key.pem │ │ │ ├── command │ │ │ ├── activate_jobs_test.go │ │ │ ├── cancel_instance_test.go │ │ │ ├── command_test.go │ │ │ ├── complete_job_test.go │ │ │ ├── components │ │ │ │ ├── retryBackOff │ │ │ │ │ ├── zeebe-command.yaml │ │ │ │ │ └── zeebe-jobworker-test.yaml │ │ │ │ ├── standard │ │ │ │ │ ├── zeebe-command.yaml │ │ │ │ │ └── zeebe-jobworker-test.yaml │ │ │ │ ├── syncProcessCreation │ │ │ │ │ ├── zeebe-command.yaml │ │ │ │ │ └── zeebe-jobworker-test.yaml │ │ │ │ └── tlsEnabled │ │ │ │ │ └── zeebe-command.yaml │ │ │ ├── config.yaml │ │ │ ├── create_instance_test.go │ │ │ ├── deploy_resource_test.go │ │ │ ├── fail_job_test.go │ │ │ ├── publish_message_test.go │ │ │ ├── set_variables_test.go │ │ │ ├── throw_error_test.go │ │ │ ├── topology_test.go │ │ │ └── update_job_retries_test.go │ │ │ ├── docker-compose-tls.yml │ │ │ ├── docker-compose.yml │ │ │ ├── helper.go │ │ │ ├── jobworker │ │ │ ├── components │ │ │ │ ├── autocompleteDisabled │ │ │ │ │ ├── zeebe-command.yaml │ │ │ │ │ ├── zeebe-jobworker-calc-ack.yaml │ │ │ │ │ └── zeebe-jobworker-calc-exec.yaml │ │ │ │ ├── fetchVariables │ │ │ │ │ ├── zeebe-command.yaml │ │ │ │ │ └── zeebe-jobworker-test.yaml │ │ │ │ ├── retryBackOff │ │ │ │ │ ├── zeebe-command.yaml │ │ │ │ │ └── zeebe-jobworker-test.yaml │ │ │ │ ├── standard │ │ │ │ │ ├── zeebe-command.yaml │ │ │ │ │ ├── zeebe-jobworker-calc-ack.yaml │ │ │ │ │ ├── zeebe-jobworker-calc-exec.yaml │ │ │ │ │ └── zeebe-jobworker-test.yaml │ │ │ │ └── tlsEnabled │ │ │ │ │ ├── zeebe-command.yaml │ │ │ │ │ └── zeebe-jobworker-test.yaml │ │ │ ├── config.yaml │ │ │ └── jobworker_test.go │ │ │ └── resources │ │ │ ├── calc.bpmn │ │ │ ├── test.bpmn │ │ │ └── test.dmn │ ├── configuration │ │ ├── postgres │ │ │ ├── README.MD │ │ │ ├── components │ │ │ │ └── default │ │ │ │ │ └── configstore.yml │ │ │ ├── config.yaml │ │ │ ├── docker-compose.yml │ │ │ └── postgres_test.go │ │ └── redis │ │ │ ├── README.md │ │ │ ├── components │ │ │ ├── default │ │ │ │ └── configstore.yaml │ │ │ └── redisDB1 │ │ │ │ └── configstore.yaml │ │ │ ├── config.yaml │ │ │ ├── docker-compose.yml │ │ │ └── redis_test.go │ ├── embedded │ │ ├── components.go │ │ └── embedded.go │ ├── flow │ │ ├── app │ │ │ └── app.go │ │ ├── context.go │ │ ├── dockercompose │ │ │ └── dockercompose.go │ │ ├── flow.go │ │ ├── network │ │ │ └── network.go │ │ ├── retry │ │ │ └── retry.go │ │ ├── sidecar │ │ │ └── sidecar.go │ │ ├── simulate │ │ │ └── simulate.go │ │ ├── terraform │ │ │ └── terraform.go │ │ ├── waittimeout.go │ │ └── watcher │ │ │ ├── create.go │ │ │ └── watcher.go │ ├── go.mod │ ├── go.sum │ ├── middleware │ │ └── http │ │ │ ├── bearer │ │ │ ├── README.md │ │ │ ├── bearer_test.go │ │ │ ├── config.yaml │ │ │ ├── jwks.json │ │ │ ├── private.json │ │ │ └── resources │ │ │ │ └── bearer.yaml │ │ │ └── ratelimit │ │ │ ├── README.md │ │ │ ├── config.yaml │ │ │ ├── ratelimit_test.go │ │ │ └── resources │ │ │ └── ratelimit.yaml │ ├── pubsub │ │ ├── aws │ │ │ └── snssqs │ │ │ │ ├── README.md │ │ │ │ ├── components │ │ │ │ ├── consumer_one │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── pubsub.yaml │ │ │ │ ├── consumer_two │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── pubsub.yaml │ │ │ │ ├── deadletter │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── pubsub.yaml │ │ │ │ ├── disableDeleteOnRetryLimit │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── pubsub.yaml │ │ │ │ ├── entity_mgmt │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── pubsub.yaml │ │ │ │ ├── existing_queue │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── pubsub.yaml │ │ │ │ ├── fifo │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── pubsub.yaml │ │ │ │ └── message_visibility_timeout │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── pubsub.yaml │ │ │ │ ├── config.yaml │ │ │ │ ├── snssqs_helper.go │ │ │ │ └── snssqs_test.go │ │ ├── azure │ │ │ ├── eventhubs │ │ │ │ ├── README.md │ │ │ │ ├── components │ │ │ │ │ ├── consumer1 │ │ │ │ │ │ ├── eventhubs.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ │ ├── consumer2 │ │ │ │ │ │ ├── eventhubs.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ │ ├── consumer3 │ │ │ │ │ │ ├── eventhubs.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ │ ├── entitymanagementconsumer │ │ │ │ │ │ ├── eventhubs.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ │ └── iotconsumer │ │ │ │ │ │ ├── eventhubs.yaml │ │ │ │ │ │ └── localsecrets.yaml │ │ │ │ ├── config.yaml │ │ │ │ ├── delete-eventhub.sh │ │ │ │ ├── eventhubs_test.go │ │ │ │ └── send-iot-device-events.sh │ │ │ └── servicebus │ │ │ │ └── topics │ │ │ │ ├── README.md │ │ │ │ ├── components │ │ │ │ ├── authentication │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── service_bus.yaml │ │ │ │ ├── consumer_one │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── service_bus.yaml │ │ │ │ ├── consumer_two │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── service_bus.yaml │ │ │ │ ├── default_ttl │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── service_bus.yaml │ │ │ │ └── entity_mgmt │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── service_bus.yaml │ │ │ │ ├── config.yaml │ │ │ │ └── servicebus_test.go │ │ ├── gcp │ │ │ └── pubsub │ │ │ │ ├── README.md │ │ │ │ ├── components │ │ │ │ ├── consumer_one │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── pubsub.yaml │ │ │ │ ├── consumer_two │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── pubsub.yaml │ │ │ │ ├── deadletter │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── pubsub.yaml │ │ │ │ ├── entity_mgmt │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── pubsub.yaml │ │ │ │ ├── existing_topic │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── pubsub.yaml │ │ │ │ └── fifo │ │ │ │ │ ├── localsecrets.yaml │ │ │ │ │ └── pubsub.yaml │ │ │ │ ├── config.yaml │ │ │ │ ├── gcppubsub_helper.go │ │ │ │ └── gcppubsub_test.go │ │ ├── kafka │ │ │ ├── README.md │ │ │ ├── components │ │ │ │ ├── consumer1 │ │ │ │ │ └── kafka.yaml │ │ │ │ └── consumer2 │ │ │ │ │ └── kafka.yaml │ │ │ ├── config.yaml │ │ │ ├── docker-compose.yml │ │ │ └── kafka_test.go │ │ ├── mqtt3 │ │ │ ├── README.md │ │ │ ├── components │ │ │ │ ├── consumer1 │ │ │ │ │ └── mqtt.yaml │ │ │ │ ├── consumer2 │ │ │ │ │ └── mqtt.yaml │ │ │ │ └── consumer3 │ │ │ │ │ └── mqtt.yaml │ │ │ ├── config.yaml │ │ │ ├── docker-compose.yml │ │ │ └── mqtt_test.go │ │ ├── pulsar │ │ │ ├── README.md │ │ │ ├── components │ │ │ │ ├── auth-none │ │ │ │ │ ├── consumer_five │ │ │ │ │ │ └── pulsar.yaml │ │ │ │ │ ├── consumer_four │ │ │ │ │ │ └── pulsar.yaml │ │ │ │ │ ├── consumer_one │ │ │ │ │ │ └── pulsar.yml │ │ │ │ │ ├── consumer_six │ │ │ │ │ │ └── pulsar.yaml │ │ │ │ │ ├── consumer_three │ │ │ │ │ │ └── pulsar.yml │ │ │ │ │ └── consumer_two │ │ │ │ │ │ └── pulsar.yml │ │ │ │ └── auth-oauth2 │ │ │ │ │ ├── consumer_five │ │ │ │ │ └── pulsar.yml.tmpl │ │ │ │ │ ├── consumer_four │ │ │ │ │ └── pulsar.yml.tmpl │ │ │ │ │ ├── consumer_one │ │ │ │ │ └── pulsar.yml.tmpl │ │ │ │ │ ├── consumer_six │ │ │ │ │ └── pulsar.yaml.tmpl │ │ │ │ │ ├── consumer_three │ │ │ │ │ └── pulsar.yml.tmpl │ │ │ │ │ └── consumer_two │ │ │ │ │ └── pulsar.yml.tmpl │ │ │ ├── config.yaml │ │ │ ├── config │ │ │ │ ├── docker-compose_auth-mock-oauth2-server.yaml │ │ │ │ ├── docker-compose_auth-none.yaml │ │ │ │ ├── docker-compose_auth-oauth2.yaml.tmpl │ │ │ │ └── pulsar_auth-oauth2.conf │ │ │ ├── private.key │ │ │ ├── public.key │ │ │ └── pulsar_test.go │ │ └── rabbitmq │ │ │ ├── README.md │ │ │ ├── components │ │ │ ├── alpha │ │ │ │ └── rabbitmq-alpha.yml │ │ │ ├── beta │ │ │ │ └── rabbitmq-beta.yml │ │ │ ├── priority │ │ │ │ └── rabbitmq_priority.yaml │ │ │ └── ttl │ │ │ │ ├── rabbitmq_msg_ttl.yaml │ │ │ │ ├── rabbitmq_overwrite_ttl.yaml │ │ │ │ └── rabbitmq_queue_ttl.yaml │ │ │ ├── config.yaml │ │ │ ├── docker-compose.yml │ │ │ ├── mtls_sasl_external │ │ │ ├── components │ │ │ │ └── mtls_external │ │ │ │ │ └── rabbitmq-mtls.yaml │ │ │ ├── docker-compose.yml │ │ │ └── docker_sasl_external │ │ │ │ ├── Dockerfile │ │ │ │ ├── certs │ │ │ │ ├── ca.pem │ │ │ │ ├── client │ │ │ │ │ ├── cert.pem │ │ │ │ │ └── key.pem │ │ │ │ └── server │ │ │ │ │ ├── cert.pem │ │ │ │ │ └── key.pem │ │ │ │ ├── entrypoint.sh │ │ │ │ ├── rabbitmq.conf │ │ │ │ └── setup_user.sh │ │ │ └── rabbitmq_test.go │ ├── secretstores │ │ ├── azure │ │ │ └── keyvault │ │ │ │ ├── README.md │ │ │ │ ├── components │ │ │ │ ├── certificate │ │ │ │ │ ├── keyvault.yaml │ │ │ │ │ └── localsecrets.yaml │ │ │ │ └── serviceprincipal │ │ │ │ │ ├── keyvault.yaml │ │ │ │ │ └── localsecrets.yaml │ │ │ │ ├── config.yaml │ │ │ │ ├── keyvault_test.go │ │ │ │ └── managed-identity-app │ │ │ │ ├── Dockerfile │ │ │ │ ├── components │ │ │ │ ├── keyvault.yaml │ │ │ │ └── localsecrets.yaml │ │ │ │ └── startup.sh │ │ ├── hashicorp │ │ │ └── vault │ │ │ │ ├── README.md │ │ │ │ ├── capture_logs.go │ │ │ │ ├── components │ │ │ │ ├── caFamily │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── README.md │ │ │ │ │ ├── badCaCert │ │ │ │ │ │ ├── docker-compose-hashicorp-vault.yml │ │ │ │ │ │ └── hashicorp-vault.yml │ │ │ │ │ ├── badCaCertAndSkipVerify │ │ │ │ │ │ ├── docker-compose-hashicorp-vault.yml │ │ │ │ │ │ └── hashicorp-vault.yml │ │ │ │ │ ├── badTlsServerName │ │ │ │ │ │ ├── docker-compose-hashicorp-vault.yml │ │ │ │ │ │ └── hashicorp-vault.yml │ │ │ │ │ ├── caCert │ │ │ │ │ │ ├── docker-compose-hashicorp-vault.yml │ │ │ │ │ │ └── hashicorp-vault.yml │ │ │ │ │ ├── caPath │ │ │ │ │ │ ├── docker-compose-hashicorp-vault.yml │ │ │ │ │ │ └── hashicorp-vault.yml │ │ │ │ │ ├── caPem │ │ │ │ │ │ ├── docker-compose-hashicorp-vault.yml │ │ │ │ │ │ └── hashicorp-vault.yml.template │ │ │ │ │ └── vaultConfig │ │ │ │ │ │ └── vault_server.hcl │ │ │ │ ├── default │ │ │ │ │ └── hashicorp-vault.yml │ │ │ │ ├── enginePath │ │ │ │ │ ├── customSecretsPath │ │ │ │ │ │ ├── docker-compose-hashicorp-vault.yml │ │ │ │ │ │ ├── hashicorp-vault.yml │ │ │ │ │ │ └── setup-hashicorp-vault-secrets.sh │ │ │ │ │ └── secret │ │ │ │ │ │ └── hashicorp-vault.yml │ │ │ │ ├── vaultAddr │ │ │ │ │ ├── missing │ │ │ │ │ │ ├── docker-compose-hashicorp-vault.yml │ │ │ │ │ │ └── hashicorp-vault.yml │ │ │ │ │ ├── missingSkipVerifyFalse │ │ │ │ │ │ ├── docker-compose-hashicorp-vault.yml │ │ │ │ │ │ └── hashicorp-vault.yml │ │ │ │ │ ├── nonStdPort │ │ │ │ │ │ ├── docker-compose-hashicorp-vault.yml │ │ │ │ │ │ └── hashicorp-vault.yml │ │ │ │ │ └── wrongAddress │ │ │ │ │ │ └── hashicorp-vault.yml │ │ │ │ ├── vaultKVPrefix │ │ │ │ │ └── hashicorp-vault.yml │ │ │ │ ├── vaultKVUsePrefixFalse │ │ │ │ │ └── hashicorp-vault.yml │ │ │ │ ├── vaultTokenAndTokenMountPath │ │ │ │ │ ├── badVaultToken │ │ │ │ │ │ └── hashicorp-vault.yml │ │ │ │ │ ├── both │ │ │ │ │ │ └── hashicorp-vault.yml │ │ │ │ │ ├── neither │ │ │ │ │ │ └── hashicorp-vault.yml │ │ │ │ │ ├── tokenMountPathHappyCase │ │ │ │ │ │ ├── hashicorp-vault.yml │ │ │ │ │ │ └── vault_token_file.txt │ │ │ │ │ └── tokenMountPathPointsToBrokenPath │ │ │ │ │ │ └── hashicorp-vault.yml │ │ │ │ ├── vaultValueTypeText │ │ │ │ │ └── hashicorp-vault.yml │ │ │ │ └── versioning │ │ │ │ │ ├── docker-compose-hashicorp-vault.yml │ │ │ │ │ ├── hashicorp-vault.yml │ │ │ │ │ └── seed-secret-with-multiple-versions.sh │ │ │ │ ├── config.yaml │ │ │ │ ├── flow_helpers.go │ │ │ │ ├── metadata_helpers.go │ │ │ │ ├── secret_helpers.go │ │ │ │ └── vault_test.go │ │ └── local │ │ │ ├── env │ │ │ ├── components │ │ │ │ └── localsecrets.yaml │ │ │ ├── config.yaml │ │ │ └── envstore_test.go │ │ │ └── file │ │ │ ├── components │ │ │ ├── customnestedseparator │ │ │ │ └── localsecrets.yaml │ │ │ ├── defaultnestedseparator │ │ │ │ └── localsecrets.yaml │ │ │ └── secrets.json │ │ │ ├── config.yaml │ │ │ └── filestore_test.go │ └── state │ │ ├── aws │ │ └── dynamodb │ │ │ ├── README.md │ │ │ ├── components │ │ │ ├── basictest │ │ │ │ ├── dynamodb.yaml │ │ │ │ └── localsecrets.yaml │ │ │ └── partition_key │ │ │ │ ├── dynamodb.yaml │ │ │ │ └── localsecrets.yaml │ │ │ ├── config.yaml │ │ │ └── dynamodb_test.go │ │ ├── azure │ │ ├── blobstorage │ │ │ ├── README.md │ │ │ ├── blobstorage_test.go │ │ │ ├── components │ │ │ │ ├── aadtest │ │ │ │ │ ├── blobaad.yaml │ │ │ │ │ └── localsecrets.yaml │ │ │ │ ├── basictest │ │ │ │ │ ├── azureblob.yaml │ │ │ │ │ └── localsecrets.yaml │ │ │ │ └── nonexistingcontainertest │ │ │ │ │ ├── azureblob.yaml │ │ │ │ │ └── localsecrets.yaml │ │ │ └── config.yaml │ │ ├── cosmosdb │ │ │ ├── README.md │ │ │ ├── components │ │ │ │ ├── aadtest │ │ │ │ │ ├── cosmosdb.yaml │ │ │ │ │ └── localsecrets.yaml │ │ │ │ └── basictest │ │ │ │ │ ├── cosmosdb.yaml │ │ │ │ │ └── localsecrets.yaml │ │ │ ├── config.yaml │ │ │ └── cosmosdb_test.go │ │ └── tablestorage │ │ │ ├── README.md │ │ │ ├── components │ │ │ ├── aadtest │ │ │ │ ├── azuretableaad.yaml │ │ │ │ ├── azuretablekey.yaml │ │ │ │ └── localsecrets.yaml │ │ │ ├── basictest │ │ │ │ ├── azuretable.yaml │ │ │ │ └── localsecrets.yaml │ │ │ └── nonexistingtabletest │ │ │ │ ├── azuretable.yaml │ │ │ │ └── localsecrets.yaml │ │ │ ├── config.yaml │ │ │ └── tablestorage_test.go │ │ ├── cassandra │ │ ├── README.md │ │ ├── cassandra_test.go │ │ ├── components │ │ │ └── docker │ │ │ │ ├── cluster-fail │ │ │ │ └── cassandrastatestore.yaml │ │ │ │ ├── cluster │ │ │ │ └── cassandrastatestore.yaml │ │ │ │ ├── default │ │ │ │ └── cassandrastatestore.yaml │ │ │ │ ├── defaultfactorfail │ │ │ │ └── cassandrastatestore.yaml │ │ │ │ └── defaultverisonfail │ │ │ │ └── cassandrastatestore.yaml │ │ ├── config.yaml │ │ ├── docker-compose-cluster.yml │ │ └── docker-compose-single.yml │ │ ├── cockroachdb │ │ ├── README.md │ │ ├── cockroachdb_test.go │ │ ├── components │ │ │ └── standard │ │ │ │ └── cockroachdb.yaml │ │ ├── config.yaml │ │ └── docker-compose.yml │ │ ├── gcp │ │ └── firestore │ │ │ ├── README.md │ │ │ ├── components │ │ │ ├── basictest │ │ │ │ ├── gcpfirestore.yaml │ │ │ │ └── localsecrets.yaml │ │ │ ├── entity_kind │ │ │ │ ├── gcpfirestore.yaml │ │ │ │ └── localsecrets.yaml │ │ │ └── noindex │ │ │ │ ├── gcpfirestore.yaml │ │ │ │ └── localsecrets.yaml │ │ │ ├── config.yaml │ │ │ └── gcp_firestore_test.go │ │ ├── memcached │ │ ├── README.md │ │ ├── components │ │ │ └── docker │ │ │ │ ├── 20secondsTimeout │ │ │ │ └── memcachedstatestore.yaml │ │ │ │ └── default │ │ │ │ └── memcachedstatestore.yaml │ │ ├── config.yaml │ │ ├── docker-compose.yml │ │ └── memcached_test.go │ │ ├── mongodb │ │ ├── README.md │ │ ├── components │ │ │ └── docker │ │ │ │ ├── default │ │ │ │ └── mongodbstatestore.yaml │ │ │ │ ├── singleNode │ │ │ │ └── mongodbstatestore.yaml │ │ │ │ └── validReadWriteConcernAndTimeout │ │ │ │ └── mongodbstatestore.yaml │ │ ├── config.yaml │ │ ├── docker-compose-cluster.yml │ │ ├── docker-compose-single.yml │ │ ├── mongo_setup.sh │ │ └── mongodb_test.go │ │ ├── mysql │ │ ├── README.md │ │ ├── components │ │ │ └── docker │ │ │ │ └── default │ │ │ │ ├── mariadb.yaml │ │ │ │ └── mysql.yaml │ │ ├── config.yaml │ │ ├── docker-compose.yaml │ │ └── mysql_test.go │ │ ├── postgresql │ │ ├── README.md │ │ ├── components │ │ │ └── docker │ │ │ │ └── default │ │ │ │ └── postgresqlstatestore.yaml │ │ ├── config.yaml │ │ ├── docker-compose.yml │ │ └── postgresql_test.go │ │ ├── redis │ │ ├── README.md │ │ ├── components │ │ │ └── docker │ │ │ │ ├── default │ │ │ │ └── redisstatestore.yaml │ │ │ │ └── enableTLSConf │ │ │ │ └── redisstatestore.yaml │ │ ├── config.yaml │ │ ├── docker-compose.yml │ │ └── redis_test.go │ │ ├── sqlite │ │ ├── README.md │ │ ├── artifacts │ │ │ └── readonly.db │ │ ├── config.yaml │ │ ├── resources │ │ │ ├── memory │ │ │ │ └── statestore.yaml │ │ │ └── readonly │ │ │ │ └── statestore.yaml │ │ └── sqlite_test.go │ │ └── sqlserver │ │ ├── README.md │ │ ├── components │ │ ├── azure │ │ │ ├── localsecrets.yaml │ │ │ └── sqlserver.yaml │ │ └── docker │ │ │ ├── customschemawithindex │ │ │ └── sqlserver.yaml │ │ │ └── default │ │ │ └── sqlserver.yaml │ │ ├── config.yaml │ │ ├── docker-compose.yml │ │ └── sqlserver_test.go ├── config │ ├── bindings │ │ ├── aws │ │ │ └── s3 │ │ │ │ ├── docker │ │ │ │ └── bindings.yml │ │ │ │ └── terraform │ │ │ │ └── bindings.yml │ │ ├── azure │ │ │ ├── blobstorage │ │ │ │ └── bindings.yml │ │ │ ├── cosmosdb │ │ │ │ └── bindings.yml │ │ │ ├── eventgrid │ │ │ │ └── bindings.yml │ │ │ ├── eventhubs │ │ │ │ └── bindings.yml │ │ │ ├── servicebusqueues │ │ │ │ └── bindings.yml │ │ │ └── storagequeues │ │ │ │ └── bindings.yml │ │ ├── cron │ │ │ └── bindings.yaml │ │ ├── http │ │ │ └── bindings.yml │ │ ├── influx │ │ │ └── bindings.yml │ │ ├── kafka │ │ │ ├── confluent │ │ │ │ └── bindings.yml │ │ │ └── wurstmeister │ │ │ │ └── bindings.yml │ │ ├── kubemq │ │ │ └── binding.yml │ │ ├── mqtt3 │ │ │ ├── emqx │ │ │ │ └── bindings.yml │ │ │ ├── mosquitto │ │ │ │ └── bindings.yml │ │ │ └── vernemq │ │ │ │ └── bindings.yml │ │ ├── postgresql │ │ │ ├── azure │ │ │ │ └── bindings.yml │ │ │ └── docker │ │ │ │ └── bindings.yml │ │ ├── rabbitmq │ │ │ └── bindings.yml │ │ ├── redis │ │ │ ├── v6 │ │ │ │ └── bindings.yml │ │ │ └── v7 │ │ │ │ └── bindings.yml │ │ └── tests.yml │ ├── configuration │ │ ├── postgresql │ │ │ ├── azure │ │ │ │ └── configstore.yml │ │ │ └── docker │ │ │ │ └── configstore.yml │ │ ├── redis │ │ │ ├── v6 │ │ │ │ └── configstore.yml │ │ │ └── v7 │ │ │ │ └── configstore.yml │ │ └── tests.yml │ ├── crypto │ │ ├── azure │ │ │ └── keyvault │ │ │ │ └── azure-keyvault.yaml │ │ ├── jwks │ │ │ └── jwks.yaml │ │ ├── localstorage │ │ │ └── localstorage.yml │ │ └── tests.yml │ ├── kind-data.yaml │ ├── lock │ │ ├── redis │ │ │ ├── v6 │ │ │ │ └── statestore.yaml │ │ │ └── v7 │ │ │ │ └── statestore.yaml │ │ └── tests.yml │ ├── pubsub │ │ ├── aws │ │ │ └── snssqs │ │ │ │ ├── docker │ │ │ │ └── pubsub.yml │ │ │ │ └── terraform │ │ │ │ └── pubsub.yml │ │ ├── azure │ │ │ ├── eventhubs │ │ │ │ └── pubsub.yml │ │ │ └── servicebus │ │ │ │ ├── queues │ │ │ │ └── pubsub.yml │ │ │ │ └── topics │ │ │ │ └── pubsub.yml │ │ ├── gcp │ │ │ └── pubsub │ │ │ │ ├── docker │ │ │ │ └── pubsub.yml │ │ │ │ └── terraform │ │ │ │ └── pubsub.yml │ │ ├── in-memory │ │ │ └── pubsub.yml │ │ ├── jetstream │ │ │ └── pubsub.yml │ │ ├── kafka │ │ │ ├── confluent │ │ │ │ └── pubsub.yml │ │ │ └── wurstmeister │ │ │ │ └── pubsub.yml │ │ ├── kubemq │ │ │ └── pubsub.yml │ │ ├── mqtt3 │ │ │ ├── emqx │ │ │ │ └── pubsub.yml │ │ │ └── vernemq │ │ │ │ └── pubsub.yml │ │ ├── natsstreaming │ │ │ └── pubsub.yml │ │ ├── pulsar │ │ │ └── pubsub.yml │ │ ├── rabbitmq │ │ │ └── pubsub.yml │ │ ├── redis │ │ │ ├── v6 │ │ │ │ └── pubsub.yml │ │ │ └── v7 │ │ │ │ └── pubsub.yml │ │ ├── solace │ │ │ └── amqp │ │ │ │ └── pubsub.yml │ │ └── tests.yml │ ├── secretstores │ │ ├── azure │ │ │ └── keyvault │ │ │ │ ├── certificate │ │ │ │ └── azure-keyvault.yaml │ │ │ │ └── serviceprincipal │ │ │ │ └── azure-keyvault-service-principal.yaml │ │ ├── hashicorp │ │ │ └── vault │ │ │ │ └── hashicorp-vault.yml │ │ ├── kubernetes │ │ │ └── kubernetes-secrets.yaml │ │ ├── local │ │ │ ├── env │ │ │ │ └── env.yml │ │ │ └── file │ │ │ │ └── file.yml │ │ └── tests.yml │ ├── state │ │ ├── aws │ │ │ └── dynamodb │ │ │ │ ├── docker │ │ │ │ └── statestore.yml │ │ │ │ └── terraform │ │ │ │ └── statestore.yml │ │ ├── azure │ │ │ ├── blobstorage │ │ │ │ └── statestore.yaml │ │ │ ├── cosmosdb │ │ │ │ └── statestore.yaml │ │ │ ├── sql │ │ │ │ └── statestore.yaml │ │ │ └── tablestorage │ │ │ │ ├── cosmosdb │ │ │ │ └── statestore.yml │ │ │ │ └── storage │ │ │ │ └── statestore.yml │ │ ├── cassandra │ │ │ └── statestore.yaml │ │ ├── cloudflare │ │ │ └── workerskv │ │ │ │ └── statestore.yml │ │ ├── cockroachdb │ │ │ └── statestore.yml │ │ ├── etcd │ │ │ ├── v1 │ │ │ │ └── statestore.yaml │ │ │ └── v2 │ │ │ │ └── statestore.yaml │ │ ├── gcp │ │ │ └── firestore │ │ │ │ ├── cloud │ │ │ │ └── statestore.yml │ │ │ │ └── docker │ │ │ │ └── statestore.yml │ │ ├── in-memory │ │ │ └── statestore.yaml │ │ ├── memcached │ │ │ └── statestore.yaml │ │ ├── mongodb │ │ │ └── statestore.yml │ │ ├── mysql │ │ │ ├── mariadb │ │ │ │ └── statestore.yaml │ │ │ └── mysql │ │ │ │ └── statestore.yaml │ │ ├── oracledatabase │ │ │ └── statestore.yml │ │ ├── postgresql │ │ │ ├── azure │ │ │ │ └── statestore.yml │ │ │ └── docker │ │ │ │ └── statestore.yml │ │ ├── redis │ │ │ ├── v6 │ │ │ │ └── statestore.yaml │ │ │ └── v7 │ │ │ │ └── statestore.yaml │ │ ├── rethinkdb │ │ │ └── statestore.yml │ │ ├── sqlite │ │ │ └── statestore.yml │ │ ├── sqlserver │ │ │ └── statestore.yml │ │ └── tests.yml │ └── workflows │ │ ├── temporal │ │ └── workflows.yaml │ │ └── tests.yml ├── conformance │ ├── README.md │ ├── bindings │ │ └── bindings.go │ ├── bindings_test.go │ ├── common.go │ ├── common_test.go │ ├── component_types.go │ ├── configuration │ │ └── configuration.go │ ├── configuration_test.go │ ├── crypto │ │ ├── crypto.go │ │ └── helpers.go │ ├── crypto_test.go │ ├── fixtures │ │ ├── crypto │ │ │ ├── jwks │ │ │ │ └── jwks.json │ │ │ └── localstorage │ │ │ │ ├── ed25519-private.pem │ │ │ │ ├── ed25519-public.pem │ │ │ │ ├── p256-private.json │ │ │ │ ├── p256-public.json │ │ │ │ ├── rsa-private.pem │ │ │ │ ├── rsa-public.json │ │ │ │ └── symmetric-256.b64 │ │ └── secretstores │ │ │ └── localfile │ │ │ └── secrets.json │ ├── lock │ │ └── lock.go │ ├── lock_test.go │ ├── pubsub │ │ └── pubsub.go │ ├── pubsub_test.go │ ├── secretstores │ │ └── secretstores.go │ ├── secretstores_test.go │ ├── standalone_loader.go │ ├── standalone_loader_test.go │ ├── state │ │ └── state.go │ ├── state_test.go │ ├── utils │ │ ├── utils.go │ │ └── utils_test.go │ ├── workflow_test.go │ └── workflows │ │ └── workflows.go ├── e2e │ ├── bindings │ │ └── kitex │ │ │ └── EchoKitexServer.go │ └── pubsub │ │ └── jetstream │ │ ├── .devcontainer │ │ ├── devcontainer.json │ │ └── docker-compose.yml │ │ ├── authentication │ │ └── authentication_test.go │ │ ├── docker-compose.yaml │ │ ├── go.mod │ │ ├── go.sum │ │ ├── jwt │ │ └── ADU4QUMWDP2BJTPHZKEZCKVL7I3HA4OGWQQCV22QVPGISSWT4OXQ7ENS.jwt │ │ ├── nsc │ │ ├── loving_keller │ │ │ ├── .nsc │ │ │ ├── accounts │ │ │ │ ├── SYS │ │ │ │ │ ├── SYS.jwt │ │ │ │ │ └── users │ │ │ │ │ │ └── sys.jwt │ │ │ │ └── loving_keller │ │ │ │ │ ├── loving_keller.jwt │ │ │ │ │ └── users │ │ │ │ │ └── loving_keller.jwt │ │ │ └── loving_keller.jwt │ │ └── nkeys │ │ │ ├── creds │ │ │ └── loving_keller │ │ │ │ ├── SYS │ │ │ │ └── sys.creds │ │ │ │ └── loving_keller │ │ │ │ └── loving_keller.creds │ │ │ └── keys │ │ │ ├── A │ │ │ ├── C7 │ │ │ │ └── AC74BYHKUDS5KPH4L4YVCUECDT2HPT3D5ESZWQSCL3LTXZFHDTH6OVRW.nk │ │ │ ├── CG │ │ │ │ └── ACGCWVYZ62I6RZDQ6UUSAD3ISLME2CEPGNZW3QZB7OJRA5UNK2DCOO3A.nk │ │ │ └── DU │ │ │ │ └── ADU4QUMWDP2BJTPHZKEZCKVL7I3HA4OGWQQCV22QVPGISSWT4OXQ7ENS.nk │ │ │ ├── O │ │ │ └── DR │ │ │ │ └── ODRLRWXHFHMKFSAVFFZQT5IEPDZMNH53EJDFNHHC2S7DDR7GJNOGYQUV.nk │ │ │ └── U │ │ │ ├── AT │ │ │ └── UATJCAXTB5J2EUV42BSE32DAHJJKMVNFM6SHRFWX5TZELX6DSXTEYWU5.nk │ │ │ └── BM │ │ │ └── UBM7XJGENUQKPAV6DOWR2ZX7W3FPPBUPOCBVQ756PQZQH6VUFF7NDSS5.nk │ │ └── server.conf ├── scripts │ └── send-iot-device-events.sh ├── state │ └── query │ │ ├── q1.json │ │ ├── q2-token.json │ │ ├── q2.json │ │ ├── q3.json │ │ ├── q4.json │ │ ├── q5.json │ │ └── q6.json └── utils │ └── configupdater │ ├── postgres │ └── postgres.go │ ├── redis │ └── redis.go │ └── updater.go └── workflows ├── README.md ├── metadata.go ├── requests.go ├── responses.go ├── temporal └── temporal.go └── workflow.go /.build-tools/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled files 2 | components-contrib-build-tools 3 | components-contrib-build-tools.exe 4 | -------------------------------------------------------------------------------- /.codecov.yaml: -------------------------------------------------------------------------------- 1 | coverage: 2 | # Commit status https://docs.codecov.io/docs/commit-status are used 3 | # to block PR based on coverage threshold. 4 | status: 5 | project: 6 | default: 7 | informational: true 8 | patch: 9 | # Disable the coverage threshold of the patch, so that PRs are 10 | # only failing because of overall project coverage threshold. 11 | # See https://docs.codecov.io/docs/commit-status#disabling-a-status. 12 | default: false 13 | comment: 14 | # Update old comment with new coverage information if the PR is changed. Avoids triggering multiple emails. 15 | behavior: once 16 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | contact_links: 3 | - name: Dapr Community Repo 4 | url: https://github.com/dapr/community 5 | about: Please see our community docs here. 6 | - name: Dapr Discord Chat 7 | url: https://aka.ms/dapr-discord 8 | about: Please ask questions or troubleshooting help here. 9 | - name: Report a security issue 10 | url: https://docs.dapr.io/operations/support/support-security-issues 11 | about: Please report security vulnerabilities using these instructions. 12 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/discussion.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Discussion 3 | about: Start a discussion for Components-Contrib 4 | title: '' 5 | labels: kind/discussion 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/proposal.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Proposal 3 | about: Create a proposal for Components-Contrib 4 | title: '' 5 | labels: kind/proposal 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | ## Describe the proposal 12 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Question 3 | about: Ask a question about Components-Contrib 4 | title: '' 5 | labels: kind/question 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | ## Ask your question here 12 | -------------------------------------------------------------------------------- /.github/infrastructure/conformance/temporal/server/dynamicconfig/development-cass.yaml: -------------------------------------------------------------------------------- 1 | system.forceSearchAttributesCacheRefreshOnRead: 2 | - value: true # Dev setup only. Please don't turn this on in production. 3 | constraints: {} 4 | -------------------------------------------------------------------------------- /.github/infrastructure/conformance/temporal/server/dynamicconfig/development-sql.yaml: -------------------------------------------------------------------------------- 1 | limit.maxIDLength: 2 | - value: 255 3 | constraints: {} 4 | system.forceSearchAttributesCacheRefreshOnRead: 5 | - value: true # Dev setup only. Please don't turn this on in production. 6 | constraints: {} 7 | -------------------------------------------------------------------------------- /.github/infrastructure/conformance/temporal/server/dynamicconfig/docker.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/man-group/components-contrib/33a5fd20c0421744c15640fd3c74168935ae2202/.github/infrastructure/conformance/temporal/server/dynamicconfig/docker.yaml -------------------------------------------------------------------------------- /.github/infrastructure/conformance/temporal/worker/Dockerfile: -------------------------------------------------------------------------------- 1 | # The base go-image 2 | FROM golang:1.18-alpine 3 | 4 | # Create a directory for the app 5 | RUN mkdir /app 6 | 7 | # Copy all files from the current directory to the app directory 8 | COPY . /app 9 | 10 | # Set working directory 11 | WORKDIR /app 12 | 13 | RUN go get 14 | 15 | # Run command as described: 16 | # go build will build an executable file named server in the current directory 17 | RUN go build -o server . 18 | 19 | # Run the server executable 20 | CMD [ "/app/server" ] -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-cassandra.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | 3 | services: 4 | cassandra: 5 | image: docker.io/bitnami/cassandra:4.0.1 6 | ports: 7 | - '7000:7000' 8 | - '9042:9042' 9 | volumes: 10 | - 'cassandra_data:/bitnami' 11 | environment: 12 | - CASSANDRA_PASSWORD=cassandra 13 | volumes: 14 | cassandra_data: 15 | driver: local 16 | -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-cockroachdb.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | cockroachdb: 4 | image: cockroachdb/cockroach:v21.2.3 5 | hostname: cockroachdb 6 | command: start-single-node --cluster-name=single-node --logtostderr=WARNING --log-file-verbosity=WARNING --insecure 7 | restart: always 8 | ports: 9 | - "26257:26257" 10 | 11 | cockroachdb-init: 12 | hostname: cockroachdb-init 13 | image: timveil/cockroachdb-remote-client:latest 14 | environment: 15 | - COCKROACH_HOST=cockroachdb:26257 16 | - COCKROACH_INSECURE=true 17 | - DATABASE_NAME=dapr_test 18 | depends_on: 19 | - cockroachdb -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-dynamodb.yml: -------------------------------------------------------------------------------- 1 | version: "3.8" 2 | 3 | services: 4 | localstack: 5 | container_name: "conformance-aws-dynamodb" 6 | image: localstack/localstack:1.4.0 7 | ports: 8 | - "127.0.0.1:4566:4566" 9 | environment: 10 | - DEBUG=1 11 | - DOCKER_HOST=unix:///var/run/docker.sock 12 | volumes: 13 | - "${PWD}/.github/scripts/docker-compose-init/init-conformance-state-aws-dynamodb.sh:/etc/localstack/init/ready.d/init-aws.sh" # ready hook 14 | - "${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack" 15 | - "/var/run/docker.sock:/var/run/docker.sock" -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-emqx.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | emqx: 4 | image: emqx/emqx:4.2.7 5 | hostname: emqx 6 | container_name: emqx 7 | ports: 8 | - "1884:1883" -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-etcd.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | etcd: 4 | image: gcr.io/etcd-development/etcd:v3.4.20 5 | ports: 6 | - "12379:2379" 7 | command: etcd --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:2379 -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-gcp-pubsub.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | pubsub: 4 | image: gcr.io/google.com/cloudsdktool/cloud-sdk:422.0.0-emulators 5 | ports: 6 | - "8085:8085" 7 | container_name: gcp-pubsub 8 | entrypoint: gcloud beta emulators pubsub start --project conformance-test-prj --host-port 0.0.0.0:8085 -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-gcpfirestore.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | pubsub: 4 | image: gcr.io/google.com/cloudsdktool/cloud-sdk:425.0.0-emulators 5 | ports: 6 | - "8432:8432" 7 | container_name: gcpfirestore 8 | entrypoint: gcloud beta emulators datastore start --project conf-test-project --host-port 0.0.0.0:8432 9 | -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-influxdb.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | standalone: 4 | image: influxdb:latest 5 | container_name: influxdb 6 | ports: 7 | - "8086:8086" 8 | environment: 9 | - DOCKER_INFLUXDB_INIT_MODE=setup 10 | - DOCKER_INFLUXDB_INIT_USERNAME=conf-test-user 11 | - DOCKER_INFLUXDB_INIT_PASSWORD=conf-test-password 12 | - DOCKER_INFLUXDB_INIT_ORG=dapr-conf-test 13 | - DOCKER_INFLUXDB_INIT_BUCKET=dapr-conf-test-bucket 14 | - DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=${INFLUX_TOKEN} 15 | -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-kafka.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | zookeeper: 4 | image: wurstmeister/zookeeper:latest 5 | ports: 6 | - "2181:2181" 7 | kafka: 8 | image: wurstmeister/kafka:latest 9 | ports: 10 | - "9092:9092" 11 | environment: 12 | KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1 13 | KAFKA_CREATE_TOPICS: "binding-topic:1:1" 14 | KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-kubemq.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | rabbitmq: 4 | image: kubemq/kubemq-community:latest 5 | ports: 6 | - 8080:8080 7 | - 9090:9090 8 | - 50000:50000 9 | -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-mariadb.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | mariadb: 4 | image: mariadb:10 5 | restart: always 6 | environment: 7 | MARIADB_ROOT_PASSWORD: root 8 | MARIADB_DATABASE: dapr_state_store 9 | MARIADB_USER: dapr 10 | MARIADB_PASSWORD: example 11 | ports: 12 | - "3306:3306" 13 | -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-memcached.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | 3 | services: 4 | memcached: 5 | image: docker.io/memcached:1.6 6 | ports: 7 | - '11211:11211' -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-mosquitto.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | mosquitto: 4 | image: eclipse-mosquitto:2.0.7 5 | hostname: mosquitto 6 | container_name: mosquitto 7 | volumes: 8 | - ./mosquitto.conf:/mosquitto/config/mosquitto.conf:ro 9 | ports: 10 | - "1883:1883" 11 | - "9001:9001" -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-mysql.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | db: 4 | image: mysql:8 5 | command: --default-authentication-plugin=mysql_native_password 6 | restart: always 7 | environment: 8 | MYSQL_ROOT_PASSWORD: root 9 | MYSQL_DATABASE: dapr_state_store 10 | MYSQL_USER: dapr 11 | MYSQL_PASSWORD: example 12 | ports: 13 | - "3306:3306" 14 | -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-natsstreaming.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | natsstreaming: 4 | image: nats-streaming:latest 5 | ports: 6 | - "4222:4222" 7 | - "8222:8222" -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-oracledatabase.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | oracledatabase: 4 | # Uses "Express Edition" 5 | image: gvenzl/oracle-xe:11-slim-faststart 6 | ports: 7 | - "1521:1521" 8 | environment: 9 | - ORACLE_PASSWORD=daprdev 10 | -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-pulsar.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | standalone: 4 | image: apachepulsar/pulsar:2.8.2 5 | ports: 6 | - "6650:6650" 7 | - "8080:8080" 8 | environment: 9 | - BOOKIE_MEM=" -Xms768m -Xms768m -XX:MaxDirectMemorySize=1g" 10 | command: > 11 | /bin/bash -c 12 | "bin/apply-config-from-env.py conf/standalone.conf 13 | && bin/pulsar standalone --advertised-address standalone" 14 | -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-rabbitmq.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | rabbitmq: 4 | image: rabbitmq:3-management 5 | ports: 6 | - 5672:5672 7 | - 15672:15672 -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-redis7.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | redis: 4 | image: redis:7 5 | ports: 6 | - "6380:6379" 7 | environment: 8 | - REDIS_REPLICATION_MODE=master 9 | -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-redisjson.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | redis: 4 | image: redislabs/rejson:2.0.6 5 | ports: 6 | - "6379:6379" 7 | environment: 8 | - REDIS_REPLICATION_MODE=master 9 | -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-rethinkdb.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | 3 | services: 4 | rethinkdb: 5 | image: rethinkdb:2.4 6 | ports: 7 | - 8081:8080 8 | - 28015:28015 9 | - 29015:29015 10 | -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-s3.yml: -------------------------------------------------------------------------------- 1 | version: "3.8" 2 | 3 | services: 4 | localstack: 5 | container_name: "conformance-aws-s3" 6 | image: localstack/localstack:1.4.0 7 | ports: 8 | - "127.0.0.1:4566:4566" 9 | environment: 10 | - DEBUG=1 11 | - DOCKER_HOST=unix:///var/run/docker.sock 12 | volumes: 13 | - "${PWD}/.github/scripts/docker-compose-init/init-conformance-bindings-aws-s3.sh:/etc/localstack/init/ready.d/init-aws.sh" # ready hook 14 | - "${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack" 15 | - "/var/run/docker.sock:/var/run/docker.sock" -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-snssqs.yml: -------------------------------------------------------------------------------- 1 | version: "3.8" 2 | 3 | services: 4 | localstack: 5 | container_name: "conformance-aws-snssqs" 6 | image: localstack/localstack:1.4.0 7 | ports: 8 | - "127.0.0.1:4566:4566" 9 | environment: 10 | - DEBUG=1 -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-sqlserver.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | sqlserver: 4 | image: mcr.microsoft.com/mssql/server:2019-latest 5 | ports: 6 | - "1433:1433" 7 | environment: 8 | ACCEPT_EULA: Y 9 | SA_PASSWORD: "Pass@Word1" -------------------------------------------------------------------------------- /.github/infrastructure/docker-compose-vernemq.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | vernemq: 4 | image: vernemq/vernemq:1.11.0 5 | hostname: vernemq 6 | environment: 7 | - DOCKER_VERNEMQ_ALLOW_ANONYMOUS=on 8 | - DOCKER_VERNEMQ_ACCEPT_EULA=yes 9 | ports: 10 | - "1885:1883" -------------------------------------------------------------------------------- /.github/infrastructure/mosquitto.conf: -------------------------------------------------------------------------------- 1 | pid_file /mosquitto/mosquitto.pid 2 | 3 | per_listener_settings false 4 | max_keepalive 65535 5 | listener 1883 0.0.0.0 6 | max_connections -1 7 | 8 | allow_anonymous true 9 | 10 | protocol mqtt -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | # Description 2 | 3 | _Please explain the changes you've made_ 4 | 5 | ## Issue reference 6 | 7 | We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation. 8 | 9 | Please reference the issue this PR will close: #_[issue number]_ 10 | 11 | ## Checklist 12 | 13 | Please make sure you've completed the relevant tasks for this PR, out of the following list: 14 | 15 | * [ ] Code compiles correctly 16 | * [ ] Created/updated tests 17 | * [ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#_[issue number]_ 18 | -------------------------------------------------------------------------------- /.github/scripts/components-scripts/certification-bindings.aws.s3-destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set +e 4 | 5 | # Navigate to the Terraform directory 6 | cd ".github/infrastructure/terraform/certification/bindings/aws/s3" 7 | 8 | # Run Terraform 9 | terraform destroy -auto-approve -var="UNIQUE_ID=$UNIQUE_ID" -var="TIMESTAMP=$CURRENT_TIME" 10 | -------------------------------------------------------------------------------- /.github/scripts/components-scripts/certification-bindings.aws.s3-setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | # Set variables for GitHub Actions 6 | echo "AWS_REGION=us-east-1" >> $GITHUB_ENV 7 | echo "BINDINGS_AWS_S3_BUCKET=dapr-cert-test-$UNIQUE_ID" >> $GITHUB_ENV 8 | 9 | # Navigate to the Terraform directory 10 | cd ".github/infrastructure/terraform/certification/bindings/aws/s3" 11 | 12 | # Run Terraform 13 | terraform init 14 | terraform validate -no-color 15 | terraform plan -no-color -var="UNIQUE_ID=$UNIQUE_ID" -var="TIMESTAMP=$CURRENT_TIME" 16 | terraform apply -auto-approve -var="UNIQUE_ID=$UNIQUE_ID" -var="TIMESTAMP=$CURRENT_TIME" 17 | -------------------------------------------------------------------------------- /.github/scripts/components-scripts/certification-pubsub.aws.snssqs-destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set +e 4 | 5 | # Navigate to the Terraform directory 6 | cd ".github/infrastructure/terraform/certification/pubsub/aws/snssqs" 7 | 8 | # Run Terraform 9 | terraform destroy -auto-approve -var="UNIQUE_ID=$UNIQUE_ID" -var="TIMESTAMP=$CURRENT_TIME" 10 | -------------------------------------------------------------------------------- /.github/scripts/components-scripts/certification-pubsub.gcp.pubsub-destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set +e 4 | 5 | # Navigate to the Terraform directory 6 | cd ".github/infrastructure/terraform/certification/pubsub/gcp/pubsub" 7 | 8 | # Run Terraform 9 | terraform destroy -auto-approve -var="UNIQUE_ID=$UNIQUE_ID" -var="TIMESTAMP=$CURRENT_TIME" -var="GCP_PROJECT_ID=$GCP_PROJECT" 10 | -------------------------------------------------------------------------------- /.github/scripts/components-scripts/certification-state.aws.dynamodb-destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set +e 4 | 5 | # Navigate to the Terraform directory 6 | cd ".github/infrastructure/terraform/certification/state/aws/dynamodb" 7 | 8 | # Run Terraform 9 | terraform destroy -auto-approve -var="UNIQUE_ID=$UNIQUE_ID" -var="TIMESTAMP=$CURRENT_TIME" 10 | -------------------------------------------------------------------------------- /.github/scripts/components-scripts/certification-state.gcp.firestore-setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | # Set variables for GitHub Actions 6 | echo "GCP_PROJECT_ID=$GCP_PROJECT" >> $GITHUB_ENV 7 | echo "GCP_FIRESTORE_ENTITY_KIND=CertificationTestEntity-$UNIQUE_ID" >> $GITHUB_ENV 8 | -------------------------------------------------------------------------------- /.github/scripts/components-scripts/conformance-bindings.aws.s3.terraform-destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set +e 4 | 5 | # Navigate to the Terraform directory 6 | cd ".github/infrastructure/terraform/conformance/bindings/aws/s3" 7 | 8 | # Run Terraform 9 | terraform destroy -auto-approve -var="UNIQUE_ID=$UNIQUE_ID" -var="TIMESTAMP=$CURRENT_TIME" 10 | -------------------------------------------------------------------------------- /.github/scripts/components-scripts/conformance-bindings.aws.s3.terraform-setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | # Set variables for GitHub Actions 6 | echo "AWS_REGION=us-east-1" >> $GITHUB_ENV 7 | echo "BINDINGS_AWS_S3_BUCKET=dapr-conformance-test-$UNIQUE_ID" >> $GITHUB_ENV 8 | 9 | # Navigate to the Terraform directory 10 | cd ".github/infrastructure/terraform/conformance/bindings/aws/s3" 11 | 12 | # Run Terraform 13 | terraform init 14 | terraform validate -no-color 15 | terraform plan -no-color -var="UNIQUE_ID=$UNIQUE_ID" -var="TIMESTAMP=$CURRENT_TIME" 16 | terraform apply -auto-approve -var="UNIQUE_ID=$UNIQUE_ID" -var="TIMESTAMP=$CURRENT_TIME" 17 | -------------------------------------------------------------------------------- /.github/scripts/components-scripts/conformance-bindings.azure.eventgrid-destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set +e 4 | 5 | # Stop ngrok 6 | echo "GET ngrok tunnels:" 7 | curl http://localhost:4040/api/tunnels 8 | echo "GET ngrok http requests:" 9 | curl http://localhost:4040/api/requests/http 10 | pkill ngrok 11 | cat /tmp/ngrok.log 12 | -------------------------------------------------------------------------------- /.github/scripts/components-scripts/conformance-bindings.influx-setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | export INFLUX_TOKEN=$(openssl rand -base64 32) 6 | echo "INFLUX_TOKEN=$INFLUX_TOKEN" >> $GITHUB_ENV 7 | docker-compose -f .github/infrastructure/docker-compose-influxdb.yml -p influxdb up -d 8 | -------------------------------------------------------------------------------- /.github/scripts/components-scripts/conformance-pubsub.aws.snssqs.terraform-destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set +e 4 | 5 | # Navigate to the Terraform directory 6 | cd ".github/infrastructure/terraform/conformance/pubsub/aws/snssqs" 7 | 8 | # Run Terraform 9 | terraform destroy -auto-approve -var="UNIQUE_ID=$UNIQUE_ID" -var="TIMESTAMP=$CURRENT_TIME" 10 | -------------------------------------------------------------------------------- /.github/scripts/components-scripts/conformance-pubsub.gcp.pubsub.terraform-destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set +e 4 | 5 | # Navigate to the Terraform directory 6 | cd ".github/infrastructure/terraform/conformance/pubsub/gcp/pubsub" 7 | 8 | # Run Terraform 9 | terraform destroy -auto-approve -var="GCP_PROJECT_ID=$GCP_PROJECT" -var="UNIQUE_ID=$UNIQUE_ID" -var="TIMESTAMP=$CURRENT_TIME" 10 | -------------------------------------------------------------------------------- /.github/scripts/components-scripts/conformance-secretstores.kubernetes-setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | kubectl apply -f tests/config/kind-data.yaml 6 | echo "NAMESPACE=default" >> $GITHUB_ENV 7 | -------------------------------------------------------------------------------- /.github/scripts/components-scripts/conformance-state.aws.dynamodb-destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set +e 4 | 5 | # Navigate to the Terraform directory 6 | cd ".github/infrastructure/terraform/conformance/state/aws/dynamodb" 7 | 8 | # Run Terraform 9 | terraform destroy -auto-approve -var="UNIQUE_ID=$UNIQUE_ID" -var="TIMESTAMP=$CURRENT_TIME" 10 | -------------------------------------------------------------------------------- /.github/scripts/components-scripts/conformance-state.azure.sql-destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set +e 4 | 5 | # Wait for the creation of the DB by the test to propagate to ARM, otherwise deletion succeeds as no-op. 6 | # The wait should be under 30s, but is capped at 1m as flakiness here results in an accumulation of expensive DB instances over time. 7 | # Also note that the deletion call only blocks until the request is process, do not rely on it for mutex on the same DB, 8 | # deletion may be ongoing in sequential runs. 9 | sleep 1m 10 | az sql db delete --resource-group "$AzureResourceGroupName" --server "$AzureSqlServerName" -n "$AzureSqlServerDbName" --yes 11 | -------------------------------------------------------------------------------- /.github/scripts/components-scripts/conformance-state.azure.sql-setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | # Use UUID with `-` stripped out for DB names to prevent collisions between workflows 6 | AzureSqlServerDbName=$(cat /proc/sys/kernel/random/uuid | sed -E 's/-//g') 7 | echo "AzureSqlServerDbName=$AzureSqlServerDbName" >> $GITHUB_ENV 8 | -------------------------------------------------------------------------------- /.github/scripts/components-scripts/conformance-state.cloudflare.workerskv-destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set +e 4 | 5 | # Delete the Worker 6 | curl -X DELETE "https://api.cloudflare.com/client/v4/accounts/${CLOUDFLARE_ACCOUNT_ID}/workers/scripts/${CloudflareWorkerName}" \ 7 | -H "Authorization: Bearer ${CLOUDFLARE_API_TOKEN}" 8 | 9 | # Delete the KV namespace 10 | curl -X DELETE "https://api.cloudflare.com/client/v4/accounts/${CLOUDFLARE_ACCOUNT_ID}/storage/kv/namespaces/${CloudflareKVNamespaceID}" \ 11 | -H "Authorization: Bearer ${CLOUDFLARE_API_TOKEN}" -------------------------------------------------------------------------------- /.github/scripts/components-scripts/conformance-state.gcp.firestore-setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | # Set variables for GitHub Actions 6 | echo "GCP_PROJECT_ID=$GCP_PROJECT" >> $GITHUB_ENV 7 | 8 | -------------------------------------------------------------------------------- /.github/scripts/components-scripts/docker-compose.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | FILE="$1" 6 | PROJECT="${2:-$FILE}" 7 | 8 | docker-compose -f .github/infrastructure/docker-compose-${FILE}.yml -p ${PROJECT} up -d 9 | -------------------------------------------------------------------------------- /.github/scripts/docker-compose-init/init-conformance-bindings-aws-s3.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | awslocal s3 mb s3://conformance-test-docker 4 | -------------------------------------------------------------------------------- /.github/scripts/docker-compose-init/init-conformance-state-aws-dynamodb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | awslocal dynamodb create-table \ 4 | --table-name conformance-test-docker \ 5 | --attribute-definitions AttributeName=key,AttributeType=S \ 6 | --key-schema AttributeName=key,KeyType=HASH \ 7 | --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1 -------------------------------------------------------------------------------- /.github/workflows/generate-component-metadata-for-tag.yml: -------------------------------------------------------------------------------- 1 | name: Generate and Upload Component Metadata Bundle on Push to Tag 2 | 3 | on: 4 | push: 5 | tags: 6 | - '*' 7 | 8 | jobs: 9 | upload-bundle: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout code 13 | uses: actions/checkout@v3 14 | - name: Build component-metadata-bundle.json 15 | run: make bundle-component-metadata 16 | - name: Upload component-metadata-bundle.json 17 | uses: softprops/action-gh-release@v1 18 | if: startsWith(github.ref, 'refs/tags/') 19 | with: 20 | files: component-metadata-bundle.json 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /dist 2 | .idea 3 | .vscode 4 | vendor 5 | .dccache 6 | go.work 7 | go.work.sum 8 | .DS_Store 9 | component-metadata-bundle.json 10 | *.log 11 | metadataanalyzer 12 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | internal/component/cloudflare/workers/code/ -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "es5", 3 | "tabWidth": 4, 4 | "semi": false, 5 | "singleQuote": true 6 | } 7 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | # These owners are the maintainers and approvers of this repo 2 | * @dapr/maintainers-components-contrib @dapr/approvers-components-contrib 3 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | ## Security Policy 2 | 3 | https://docs.dapr.io/operations/support/support-security-issues/ 4 | -------------------------------------------------------------------------------- /bindings/cron/metadata.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../component-metadata-schema.json 2 | schemaVersion: v1 3 | type: bindings 4 | name: cron 5 | version: v1 6 | status: stable 7 | title: "Cron" 8 | urls: 9 | - title: Reference 10 | url: https://docs.dapr.io/reference/components-reference/supported-bindings/cron/ 11 | binding: 12 | output: false 13 | input: true 14 | operations: [] 15 | capabilities: [] 16 | metadata: 17 | - name: schedule 18 | required: true 19 | description: "The cron schedule to use" 20 | example: "@every 15m" 21 | type: string 22 | 23 | 24 | -------------------------------------------------------------------------------- /bindings/http/testdata/client.key: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIEobWR8PduGHOPY+T/Id/bNmjS8cjRQ+UID4NnCaROgmoAoGCCqGSM49 3 | AwEHoUQDQgAEKx7xYU7DGNX+WDo5QzJGkIvrqhqbw1ZaNKe5h2QREJwwIB2X5TyT 4 | DYaNfhqXc8IOB9si4GJ2x0JhyeoAvi/U8w== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /bindings/http/testdata/server.key: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIBdj4qCqbLVvFqjcv14xthAm+YGghrMe6uHbE6nKg93EoAoGCCqGSM49 3 | AwEHoUQDQgAEJup13iQfS72fRxN9JLJDLP0tel4F8bmxEfcHjvKMGJaupvvtHgZm 4 | tlYlY6evzE6yIN5mUIcBqCWzpN+aCPBwqw== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /bindings/wasm/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: build 2 | build: 3 | @$(MAKE) -C testdata 4 | -------------------------------------------------------------------------------- /bindings/wasm/testdata/Makefile: -------------------------------------------------------------------------------- 1 | tinygo_sources := ./args/main.go ./example/main.go ./loop/main.go 2 | .PHONY: build 3 | build: $(tinygo_sources) 4 | @for f in $^; do \ 5 | tinygo build -o $$(echo $$f | sed -e 's/\.go/\.wasm/') -scheduler=none --no-debug --target=wasi $$f; \ 6 | done 7 | -------------------------------------------------------------------------------- /bindings/wasm/testdata/args/main.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/man-group/components-contrib/33a5fd20c0421744c15640fd3c74168935ae2202/bindings/wasm/testdata/args/main.wasm -------------------------------------------------------------------------------- /bindings/wasm/testdata/example/main.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/man-group/components-contrib/33a5fd20c0421744c15640fd3c74168935ae2202/bindings/wasm/testdata/example/main.wasm -------------------------------------------------------------------------------- /bindings/wasm/testdata/http/Makefile: -------------------------------------------------------------------------------- 1 | default: main.wasm 2 | 3 | main.wasm: main.go 4 | tinygo build -target wasi -o main.wasm main.go -------------------------------------------------------------------------------- /bindings/wasm/testdata/http/main.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/man-group/components-contrib/33a5fd20c0421744c15640fd3c74168935ae2202/bindings/wasm/testdata/http/main.wasm -------------------------------------------------------------------------------- /bindings/wasm/testdata/loop/main.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/man-group/components-contrib/33a5fd20c0421744c15640fd3c74168935ae2202/bindings/wasm/testdata/loop/main.wasm -------------------------------------------------------------------------------- /configuration/README.md: -------------------------------------------------------------------------------- 1 | # Configuration 2 | 3 | Configuration components provide a way for your applications to receive configuration values, dynamically. 4 | 5 | [Learn more about the Configuration building block in Dapr](https://docs.dapr.io/developing-applications/building-blocks/configuration/configuration-api-overview/) 6 | 7 | ## Implementing a new configuration store 8 | 9 | A compliant configuration store needs to implement the `Store` inteface included in the [`store.go`](store.go) file. 10 | -------------------------------------------------------------------------------- /internal/component/cloudflare/worker-src/.prettierrc.yaml: -------------------------------------------------------------------------------- 1 | trailingComma: 'es5' 2 | tabWidth: 4 3 | useTabs: false 4 | semi: false 5 | singleQuote: true 6 | -------------------------------------------------------------------------------- /internal/component/cloudflare/worker-src/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2022", 4 | "lib": ["es2022"], 5 | "module": "es2022", 6 | "moduleResolution": "node", 7 | "typeRoots": ["node_modules", "."], 8 | "types": ["@cloudflare/workers-types"], 9 | "resolveJsonModule": true, 10 | "allowJs": true, 11 | "noEmit": true, 12 | "isolatedModules": true, 13 | "allowSyntheticDefaultImports": true, 14 | "strict": true, 15 | "baseUrl": ".", 16 | "paths": { 17 | "$lib/*": ["lib/*"] 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /internal/component/cloudflare/worker-src/wrangler.toml: -------------------------------------------------------------------------------- 1 | # This wrangler.toml is only used during local development 2 | # Dapr interacts with the Cloudflare APIs directly and doesn't use Wrangler, hence it doesn't use this file 3 | name = "daprdemo" 4 | main = "worker.ts" 5 | compatibility_date = "2022-12-09" 6 | usage_model = "bundled" 7 | 8 | [vars] 9 | PUBLIC_KEY = "" 10 | TOKEN_AUDIENCE = "" 11 | SKIP_AUTH = "true" 12 | 13 | [[kv_namespaces]] 14 | binding = "daprkv" 15 | # Fill these with the namespace you create 16 | id = "..." 17 | preview_id = "..." 18 | 19 | [[queues.producers]] 20 | queue = "daprdemo" 21 | binding = "daprdemo" 22 | -------------------------------------------------------------------------------- /internal/wasm/Makefile: -------------------------------------------------------------------------------- 1 | %/main.wasm: %/main.go 2 | @(cd $(@D); tinygo build -o main.wasm -scheduler=none --no-debug -target=wasi main.go) 3 | 4 | .PHONY: build-tinygo 5 | build-tinygo: testdata/args/main.wasm testdata/strict/main.wasm 6 | 7 | .PHONY: testdata 8 | testdata: 9 | @$(MAKE) build-tinygo 10 | -------------------------------------------------------------------------------- /internal/wasm/testdata/args/main.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/man-group/components-contrib/33a5fd20c0421744c15640fd3c74168935ae2202/internal/wasm/testdata/args/main.wasm -------------------------------------------------------------------------------- /internal/wasm/testdata/strict/main.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/man-group/components-contrib/33a5fd20c0421744c15640fd3c74168935ae2202/internal/wasm/testdata/strict/main.wasm -------------------------------------------------------------------------------- /middleware/README.md: -------------------------------------------------------------------------------- 1 | # Middlewares 2 | 3 | Middleware components provide a way to define middlewares that are executed in a pipeline and modify requests and responses. 4 | 5 | [Learn more about middlewares in Dapr](https://docs.dapr.io/developing-applications/middleware/) 6 | 7 | ## Implementing a new Middleware 8 | 9 | A compliant middleware needs to implement the `Middleware` interface included in the [`middleware.go`](middleware.go) file. 10 | -------------------------------------------------------------------------------- /middleware/http/wasm/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: build 2 | build: 3 | @$(MAKE) -C example 4 | @$(MAKE) -C internal/e2e-guests 5 | -------------------------------------------------------------------------------- /middleware/http/wasm/example/Makefile: -------------------------------------------------------------------------------- 1 | build: 2 | @echo "Building Example Guest Wasm" 3 | @tinygo build -o router.wasm -scheduler=none --no-debug -target=wasi router.go 4 | -------------------------------------------------------------------------------- /middleware/http/wasm/example/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/dapr/components-contrib/middleware/wasm/example 2 | 3 | go 1.20 4 | 5 | require github.com/http-wasm/http-wasm-guest-tinygo v0.3.0 6 | -------------------------------------------------------------------------------- /middleware/http/wasm/example/go.sum: -------------------------------------------------------------------------------- 1 | github.com/http-wasm/http-wasm-guest-tinygo v0.3.0 h1:J11RX1ajUC6fhVtv3ZU5k66SL4EB4DhThHmz4Ilwevw= 2 | github.com/http-wasm/http-wasm-guest-tinygo v0.3.0/go.mod h1:zcKr7h/t5ha2ZWIMwV4iOqhfC/qno/tNPYgybVkn/MQ= 3 | -------------------------------------------------------------------------------- /middleware/http/wasm/example/router.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/man-group/components-contrib/33a5fd20c0421744c15640fd3c74168935ae2202/middleware/http/wasm/example/router.wasm -------------------------------------------------------------------------------- /middleware/http/wasm/internal/e2e-guests/Makefile: -------------------------------------------------------------------------------- 1 | tinygo_sources := $(wildcard */*.go) 2 | build: $(tinygo_sources) 3 | @echo "Building End-to-End Guest Wasm" 4 | @for f in $^; do \ 5 | tinygo build -o $$(echo $$f | sed -e 's/\.go/\.wasm/') -scheduler=none --no-debug -target=wasi $$f; \ 6 | done 7 | -------------------------------------------------------------------------------- /middleware/http/wasm/internal/e2e-guests/README.md: -------------------------------------------------------------------------------- 1 | ## Basic WebAssembly Middleware End-to-End Tests 2 | 3 | This is an internal project holding source for various test guest wasm used to 4 | cover corner cases. This has its own [go.mod](go.mod) and [Makefile](Makefile) 5 | as the guest source is compiled with TinyGo, not Go. The `%.wasm` binaries here 6 | are checked in, to ensure end-to-end tests run without any prerequisite setup. 7 | -------------------------------------------------------------------------------- /middleware/http/wasm/internal/e2e-guests/config/main.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/man-group/components-contrib/33a5fd20c0421744c15640fd3c74168935ae2202/middleware/http/wasm/internal/e2e-guests/config/main.wasm -------------------------------------------------------------------------------- /middleware/http/wasm/internal/e2e-guests/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/dapr/components-contrib/middleware/wasm/internal 2 | 3 | go 1.20 4 | 5 | require github.com/http-wasm/http-wasm-guest-tinygo v0.3.0 6 | -------------------------------------------------------------------------------- /middleware/http/wasm/internal/e2e-guests/go.sum: -------------------------------------------------------------------------------- 1 | github.com/http-wasm/http-wasm-guest-tinygo v0.3.0 h1:J11RX1ajUC6fhVtv3ZU5k66SL4EB4DhThHmz4Ilwevw= 2 | github.com/http-wasm/http-wasm-guest-tinygo v0.3.0/go.mod h1:zcKr7h/t5ha2ZWIMwV4iOqhfC/qno/tNPYgybVkn/MQ= 3 | -------------------------------------------------------------------------------- /middleware/http/wasm/internal/e2e-guests/output/main.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/man-group/components-contrib/33a5fd20c0421744c15640fd3c74168935ae2202/middleware/http/wasm/internal/e2e-guests/output/main.wasm -------------------------------------------------------------------------------- /middleware/http/wasm/internal/e2e-guests/rewrite/main.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/man-group/components-contrib/33a5fd20c0421744c15640fd3c74168935ae2202/middleware/http/wasm/internal/e2e-guests/rewrite/main.wasm -------------------------------------------------------------------------------- /middleware/http/wasm/internal/testdata/rewrite.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/man-group/components-contrib/33a5fd20c0421744c15640fd3c74168935ae2202/middleware/http/wasm/internal/testdata/rewrite.wasm -------------------------------------------------------------------------------- /nameresolution/README.md: -------------------------------------------------------------------------------- 1 | # Name resolution 2 | 3 | Name resolvers provide a common way to interact with different name resolvers, which are used to return the address or IP of other services your applications may connect to. 4 | 5 | ## Implementing a new Name Resolver 6 | 7 | A compliant name resolver needs to implement the `Resolver` inteface included in the [`nameresolution.go`](nameresolution.go) file. 8 | -------------------------------------------------------------------------------- /pubsub/in-memory/metadata.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../component-metadata-schema.json 2 | schemaVersion: v1 3 | type: pubsub 4 | name: in-memory 5 | version: v1 6 | status: stable 7 | title: "In-memory" 8 | urls: 9 | - title: Reference 10 | url: https://docs.dapr.io/reference/components-reference/supported-pubsub/setup-inmemory/ 11 | metadata: [] -------------------------------------------------------------------------------- /secretstores/README.md: -------------------------------------------------------------------------------- 1 | # Secret Stores 2 | 3 | Secret Stores provide a common way to interact with different secret stores, cloud/edge/commercial or open-source. 4 | 5 | ## Implementing a new Secret Store 6 | 7 | A compliant secret store needs to implement the `SecretStore` interface included in the [`secret_store.go`](secret_store.go) file. 8 | -------------------------------------------------------------------------------- /secretstores/azure/keyvault/metadata.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../component-metadata-schema.json 2 | schemaVersion: v1 3 | type: secretstores 4 | name: azure.keyvault 5 | version: v1 6 | status: stable 7 | title: "Azure Key Vault" 8 | urls: 9 | - title: Reference 10 | url: https://docs.dapr.io/reference/components-reference/supported-secret-stores/azure-keyvault/ 11 | builtinAuthenticationProfiles: 12 | - name: "azuread" 13 | metadata: 14 | - name: vaultName 15 | required: true 16 | description: | 17 | The Azure Key Vault name. 18 | example: '"mykeyvault"' 19 | type: string 20 | -------------------------------------------------------------------------------- /secretstores/gcp/secretmanager/metadata.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../component-metadata-schema.json 2 | schemaVersion: v1 3 | type: secretstores 4 | name: gcp.secretmanager 5 | version: v1 6 | status: alpha 7 | title: "GCP Secret Manager" 8 | urls: 9 | - title: Reference 10 | url: https://docs.dapr.io/reference/components-reference/supported-secret-stores/gcp-secret-manager/ 11 | builtinAuthenticationProfiles: 12 | - name: "gcp" 13 | metadata: [] -------------------------------------------------------------------------------- /secretstores/kubernetes/metadata.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../component-metadata-schema.json 2 | schemaVersion: v1 3 | type: secretstores 4 | name: kubernetes 5 | version: v1 6 | status: stable 7 | title: "Kubernetes" 8 | urls: 9 | - title: Reference 10 | url: https://docs.dapr.io/reference/components-reference/supported-secret-stores/kubernetes-secret-store/ 11 | metadata: [] -------------------------------------------------------------------------------- /state/in-memory/metadata.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../component-metadata-schema.json 2 | schemaVersion: v1 3 | type: state 4 | name: in-memory 5 | version: v1 6 | status: stable 7 | title: "In-memory" 8 | urls: 9 | - title: Reference 10 | url: https://docs.dapr.io/reference/components-reference/supported-state-stores/setup-inmemory/ 11 | metadata: [] -------------------------------------------------------------------------------- /tests/certification/bindings/aws/s3/components/basic/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/aws/s3/components/decodeBase64/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/aws/s3/components/encodeBase64/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/aws/s3/components/forcePathStyleFalse/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/aws/s3/components/forcePathStyleTrue/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/aws/s3/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: awss3bindingconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/blobstorage/components/accesskey/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/blobstorage/components/decodeBase64/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/blobstorage/components/publicAccessBlob/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/blobstorage/components/publicAccessContainer/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/blobstorage/components/serviceprincipal/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/blobstorage/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: azureblobstoragebindingconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/cosmosdb/components/masterkey/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/cosmosdb/components/serviceprincipal/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/cosmosdb/components/wrongPartitionKey/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/cosmosdb/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: cosmosdbbindingconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/eventhubs/components/binding/consumer1/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/eventhubs/components/binding/consumer2/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/eventhubs/components/binding/consumer3/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/eventhubs/components/binding/iothub/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/eventhubs/components/binding/serviceprincipal/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/eventhubs/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: eventhubsconfig 5 | spec: 6 | features: -------------------------------------------------------------------------------- /tests/certification/bindings/azure/servicebusqueues/components/retry/azure_service_bus_retry.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: retry-binding 5 | namespace: default 6 | spec: 7 | type: bindings.azure.servicebusqueues 8 | version: v1 9 | metadata: 10 | - name: connectionString 11 | secretKeyRef: 12 | name: AzureServiceBusConnectionString 13 | key: AzureServiceBusConnectionString 14 | - name: queueName 15 | value: retryqueue 16 | - name: ttlInSeconds 17 | value: 300 # ttl is just for cleanup in case the test goes bad. 18 | auth: 19 | secretStore: envvar-secret-store 20 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/servicebusqueues/components/retry/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/servicebusqueues/components/standard/azure_service_bus_1.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: sb-binding-1 5 | namespace: default 6 | spec: 7 | type: bindings.azure.servicebusqueues 8 | version: v1 9 | metadata: 10 | - name: connectionString 11 | secretKeyRef: 12 | name: AzureServiceBusConnectionString 13 | key: AzureServiceBusConnectionString 14 | - name: queueName 15 | value: certqueue1 16 | - name: ttlInSeconds 17 | value: 300 # ttl is just for cleanup in case the test goes bad. 18 | auth: 19 | secretStore: envvar-secret-store 20 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/servicebusqueues/components/standard/azure_service_bus_2.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: sb-binding-2 5 | namespace: default 6 | spec: 7 | type: bindings.azure.servicebusqueues 8 | version: v1 9 | metadata: 10 | - name: connectionString 11 | secretKeyRef: 12 | name: AzureServiceBusConnectionString 13 | key: AzureServiceBusConnectionString 14 | - name: queueName 15 | value: certqueue2 16 | - name: ttlInSeconds 17 | value: 300 # ttl is just for cleanup in case the test goes bad. 18 | auth: 19 | secretStore: envvar-secret-store 20 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/servicebusqueues/components/standard/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/servicebusqueues/components/ttl/azure_service_bus_message_ttl.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: messagettl 5 | namespace: default 6 | spec: 7 | type: bindings.azure.servicebusqueues 8 | version: v1 9 | metadata: 10 | - name: connectionString 11 | secretKeyRef: 12 | name: AzureServiceBusConnectionString 13 | key: AzureServiceBusConnectionString 14 | - name: queueName 15 | value: messagettlqueue 16 | auth: 17 | secretStore: envvar-secret-store 18 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/servicebusqueues/components/ttl/azure_service_bus_mixed_ttl.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: mixedttl 5 | namespace: default 6 | spec: 7 | type: bindings.azure.servicebusqueues 8 | version: v1 9 | metadata: 10 | - name: connectionString 11 | secretKeyRef: 12 | name: AzureServiceBusConnectionString 13 | key: AzureServiceBusConnectionString 14 | - name: queueName 15 | value: mixedttlqueue 16 | - name: ttlInSeconds 17 | value: 300 # Long ttl to allow message expiration first. 18 | auth: 19 | secretStore: envvar-secret-store 20 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/servicebusqueues/components/ttl/azure_service_bus_queue_ttl.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: queuettl 5 | namespace: default 6 | spec: 7 | type: bindings.azure.servicebusqueues 8 | version: v1 9 | metadata: 10 | - name: connectionString 11 | secretKeyRef: 12 | name: AzureServiceBusConnectionString 13 | key: AzureServiceBusConnectionString 14 | - name: queueName 15 | value: queuettlqueue 16 | - name: ttlInSeconds 17 | value: 10 # Short TTL for easier testing 18 | auth: 19 | secretStore: envvar-secret-store 20 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/servicebusqueues/components/ttl/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/servicebusqueues/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: daprConfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/storagequeues/components/decode/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/storagequeues/components/retry/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/storagequeues/components/standard/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/storagequeues/components/ttl/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/storagequeues/components/visibilityTimeout/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/bindings/azure/storagequeues/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: storagequeuesconfig 5 | spec: 6 | features: -------------------------------------------------------------------------------- /tests/certification/bindings/cron/components/cron15m.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: cron15m 5 | spec: 6 | type: bindings.cron 7 | version: v1 8 | metadata: 9 | - name: schedule 10 | # test standard crontab format 11 | value: "*/15 * * * *" -------------------------------------------------------------------------------- /tests/certification/bindings/cron/components/cron1s.yaml: -------------------------------------------------------------------------------- 1 | 2 | apiVersion: dapr.io/v1alpha1 3 | kind: Component 4 | metadata: 5 | name: cron1s 6 | spec: 7 | type: bindings.cron 8 | version: v1 9 | metadata: 10 | - name: schedule 11 | # test non-standard macro format 12 | value: "@every 1s" -------------------------------------------------------------------------------- /tests/certification/bindings/cron/components/cron3s.yaml: -------------------------------------------------------------------------------- 1 | 2 | apiVersion: dapr.io/v1alpha1 3 | kind: Component 4 | metadata: 5 | name: cron3s 6 | spec: 7 | type: bindings.cron 8 | version: v1 9 | metadata: 10 | - name: schedule 11 | # test non-standard crontab format 12 | value: "*/3 * * * * *" -------------------------------------------------------------------------------- /tests/certification/bindings/cron/components/cron6h.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: cron6h 5 | spec: 6 | type: bindings.cron 7 | version: v1 8 | metadata: 9 | - name: schedule 10 | # test quartz crontab format 11 | value: "0 0 */6 ? * *" -------------------------------------------------------------------------------- /tests/certification/bindings/cron/components/cronMonthly.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: cronMonthly 5 | spec: 6 | type: bindings.cron 7 | version: v1 8 | metadata: 9 | - name: schedule 10 | # test standard crontab format 11 | value: "0 0 1 * *" -------------------------------------------------------------------------------- /tests/certification/bindings/cron/components_sameroute/cron.yaml: -------------------------------------------------------------------------------- 1 | 2 | # Testing two cron bindings with different schedule and same route 3 | apiVersion: dapr.io/v1alpha1 4 | kind: Component 5 | metadata: 6 | name: cron 7 | spec: 8 | type: bindings.cron 9 | version: v1 10 | metadata: 11 | - name: schedule 12 | # test non-standard macro format 13 | value: "@every 1s" 14 | - name: route 15 | value: /cron -------------------------------------------------------------------------------- /tests/certification/bindings/cron/components_sameroute/cron3s.yaml: -------------------------------------------------------------------------------- 1 | 2 | # Testing two cron bindings with different schedule and same route 3 | apiVersion: dapr.io/v1alpha1 4 | kind: Component 5 | metadata: 6 | name: cron3s 7 | spec: 8 | type: bindings.cron 9 | version: v1 10 | metadata: 11 | - name: schedule 12 | # test non-standard crontab format 13 | value: "*/3 * * * * *" 14 | - name: route 15 | value: /cron -------------------------------------------------------------------------------- /tests/certification/bindings/cron/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: cronbindingconfig -------------------------------------------------------------------------------- /tests/certification/bindings/dubbo/README.md: -------------------------------------------------------------------------------- 1 | # Alicloud Duibbo Binding certification testing 2 | 3 | This project aims to test the Alicloud Dubbo binding component under various conditions. 4 | 5 | ## Test plan 6 | 7 | ### Functional tests 8 | 9 | - Invocation 10 | - Successfully invoke dubbo server 11 | 12 | ### Running the tests 13 | 14 | This must be run in the GitHub Actions Workflow configured for test infrastructure setup. -------------------------------------------------------------------------------- /tests/certification/bindings/dubbo/components/dubbo.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: alicloud-dubbo-binding 5 | namespace: default 6 | spec: 7 | type: bindings.alicloud.dubbo 8 | version: v1 -------------------------------------------------------------------------------- /tests/certification/bindings/dubbo/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: dubbobindingconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/bindings/kafka/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: bindingroutingconfig 5 | spec: 6 | features: 7 | - name: PubSub.Routing 8 | enabled: true 9 | -------------------------------------------------------------------------------- /tests/certification/bindings/kafka/sasl-docker/kafka_server_jaas.conf: -------------------------------------------------------------------------------- 1 | KafkaServer { 2 | org.apache.kafka.common.security.plain.PlainLoginModule required 3 | username="admin" 4 | password="admin-secret" 5 | user_admin="admin-secret"; 6 | }; 7 | 8 | Client { 9 | org.apache.kafka.common.security.plain.PlainLoginModule required 10 | username="admin" 11 | password="admin-secret"; 12 | }; 13 | -------------------------------------------------------------------------------- /tests/certification/bindings/kafka/sasl-docker/zookeeper_jaas.conf: -------------------------------------------------------------------------------- 1 | Server { 2 | org.apache.zookeeper.server.auth.DigestLoginModule required 3 | user_admin="admin-secret"; 4 | }; 5 | -------------------------------------------------------------------------------- /tests/certification/bindings/kitex/README.md: -------------------------------------------------------------------------------- 1 | # CloudWego kitex Binding certification testing 2 | 3 | This project aims to test the CloudWeGo kitex binding component under various conditions. 4 | 5 | ## Test plan 6 | 7 | ### Functional tests 8 | 9 | - Invocation 10 | - Successfully invoke kitex server 11 | 12 | ### Running the tests 13 | 14 | This must be run in the GitHub Actions Workflow configured for test infrastructure setup. -------------------------------------------------------------------------------- /tests/certification/bindings/kitex/components/kitex.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: kitex-binding 5 | namespace: default 6 | spec: 7 | type: bindings.kitex 8 | version: v1 -------------------------------------------------------------------------------- /tests/certification/bindings/kitex/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: kitexbindingconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/bindings/localstorage/README.md: -------------------------------------------------------------------------------- 1 | # LocalStorage certification testing 2 | 3 | This project aims to test the LocalStorage component under various conditions. 4 | 5 | ## Test plan 6 | 7 | - Invocation 8 | - create file and get data success 9 | - get error when file not exists 10 | - delete file success 11 | - list files 12 | -------------------------------------------------------------------------------- /tests/certification/bindings/localstorage/components/localstorage.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: localstorage-binding 5 | namespace: default 6 | spec: 7 | type: bindings.localstorage 8 | version: v1 9 | metadata: 10 | - name: rootPath 11 | value: /tmp/dapr-cert-test/bindings.localstorage 12 | -------------------------------------------------------------------------------- /tests/certification/bindings/localstorage/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: localstoragebindingconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/bindings/postgres/components/standard/postgres.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: standard-binding 5 | spec: 6 | type: bindings.postgresql 7 | version: v1 8 | metadata: 9 | - name: connectionString 10 | value: "host=localhost user=postgres password=example port=5432 connect_timeout=10 database=dapr_test" 11 | -------------------------------------------------------------------------------- /tests/certification/bindings/postgres/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: keyvaultconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/bindings/postgres/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | db: 4 | image: postgres:15-alpine 5 | restart: always 6 | ports: 7 | - "5432:5432" 8 | environment: 9 | POSTGRES_USER: postgres 10 | POSTGRES_PASSWORD: example 11 | POSTGRES_DB: dapr_test 12 | -------------------------------------------------------------------------------- /tests/certification/bindings/rabbitmq/components/retry/rabbitmq.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: retry-binding 5 | spec: 6 | type: bindings.rabbitmq 7 | version: v1 8 | metadata: 9 | - name: queueName 10 | value: retryQueue 11 | - name: host 12 | value: "amqp://test:test@localhost:5672" 13 | - name: prefetchCount 14 | value: 0 15 | - name: exclusive 16 | value: false 17 | - name: contentType 18 | value: "text/plain" -------------------------------------------------------------------------------- /tests/certification/bindings/rabbitmq/components/standard/rabbitmq.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: standard-binding 5 | spec: 6 | type: bindings.rabbitmq 7 | version: v1 8 | metadata: 9 | - name: queueName 10 | value: standardQueue 11 | - name: host 12 | value: "amqp://test:test@localhost:5672" 13 | - name: prefetchCount 14 | value: 0 15 | - name: exclusive 16 | value: false 17 | - name: contentType 18 | value: "text/plain" -------------------------------------------------------------------------------- /tests/certification/bindings/rabbitmq/components/ttl/rabbitmq_msg_ttl.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: msg-ttl-binding 5 | namespace: default 6 | spec: 7 | type: bindings.rabbitmq 8 | version: v1 9 | metadata: 10 | - name: queueName 11 | value: msgttlqueue 12 | - name: host 13 | value: "amqp://test:test@localhost:5672" 14 | - name: prefetchCount 15 | value: 0 16 | - name: exclusive 17 | value: false 18 | - name: contentType 19 | value: "text/plain" 20 | -------------------------------------------------------------------------------- /tests/certification/bindings/rabbitmq/components/ttl/rabbitmq_overwrite_ttl.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: overwrite-ttl-binding 5 | namespace: default 6 | spec: 7 | type: bindings.rabbitmq 8 | version: v1 9 | metadata: 10 | - name: queueName 11 | value: overwritettlqueue 12 | - name: host 13 | value: "amqp://test:test@localhost:5672" 14 | - name: prefetchCount 15 | value: 0 16 | - name: exclusive 17 | value: false 18 | - name: contentType 19 | value: "text/plain" 20 | - name: ttlInSeconds 21 | value: 30 # Short TTL for easier testing -------------------------------------------------------------------------------- /tests/certification/bindings/rabbitmq/components/ttl/rabbitmq_queue_ttl.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: queue-ttl-binding 5 | namespace: default 6 | spec: 7 | type: bindings.rabbitmq 8 | version: v1 9 | metadata: 10 | - name: queueName 11 | value: queuettlqueue 12 | - name: host 13 | value: "amqp://test:test@localhost:5672" 14 | - name: prefetchCount 15 | value: 0 16 | - name: exclusive 17 | value: false 18 | - name: contentType 19 | value: "text/plain" 20 | - name: ttlInSeconds 21 | value: 10 # Short TTL for easier testing -------------------------------------------------------------------------------- /tests/certification/bindings/rabbitmq/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: bindings 5 | -------------------------------------------------------------------------------- /tests/certification/bindings/rabbitmq/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.7" 2 | services: 3 | rabbitmq: 4 | image: rabbitmq:3-management-alpine 5 | container_name: 'rabbitmq' 6 | ports: 7 | - 5672:5672 8 | - 15672:15672 9 | networks: 10 | - rabbitmq_go_net 11 | environment: 12 | RABBITMQ_DEFAULT_USER: test 13 | RABBITMQ_DEFAULT_PASS: test 14 | hostname: rmq 15 | 16 | networks: 17 | rabbitmq_go_net: 18 | driver: bridge 19 | -------------------------------------------------------------------------------- /tests/certification/bindings/rabbitmq/mtls_sasl_external/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.7" 2 | services: 3 | rabbitmq_external_sasl: 4 | image: rabbitmq_external_sasl 5 | build: docker_sasl_external 6 | container_name: 'rabbitmq_external_sasl' 7 | ports: 8 | - 5671:5671 9 | - 15672:15672 10 | networks: 11 | - rabbitmq_go_net 12 | hostname: rmq_e 13 | networks: 14 | rabbitmq_go_net: 15 | driver: bridge 16 | -------------------------------------------------------------------------------- /tests/certification/bindings/rabbitmq/mtls_sasl_external/docker_sasl_external/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM rabbitmq:management 2 | WORKDIR /opt 3 | RUN apt-get update \ 4 | && rabbitmq-plugins enable rabbitmq_auth_mechanism_ssl \ 5 | && apt-get install ca-certificates -y 6 | 7 | COPY rabbitmq.conf /etc/rabbitmq/rabbitmq.conf 8 | 9 | COPY certs /opt/certs/ 10 | COPY certs/ca.pem /usr/local/share/ca-certificates/cacert.crt 11 | RUN update-ca-certificates 12 | COPY entrypoint.sh /opt/entrypoint.sh 13 | RUN chmod +x /opt/entrypoint.sh 14 | COPY setup_user.sh /opt/setup_user.sh 15 | RUN chmod +x /opt/setup_user.sh 16 | ENTRYPOINT ["/opt/entrypoint.sh"] -------------------------------------------------------------------------------- /tests/certification/bindings/rabbitmq/mtls_sasl_external/docker_sasl_external/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # docker entrypoint script for rabbitmq 3 | ./setup_user.sh & 4 | rabbitmq-server $@ -------------------------------------------------------------------------------- /tests/certification/bindings/rabbitmq/mtls_sasl_external/docker_sasl_external/setup_user.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | sleep 10 3 | echo SETUPSTART 4 | rabbitmqctl add_user buildkitsandbox "" 5 | rabbitmqctl set_user_tags buildkitsandbox administrator 6 | rabbitmqctl set_permissions -p / buildkitsandbox ".*" ".*" ".*" 7 | rabbitmqctl set_permissions -p / guest ".*" ".*" ".*" 8 | echo SETUPSTOP -------------------------------------------------------------------------------- /tests/certification/bindings/redis/components/retryOptions/redis.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: redisBinding 5 | initTimeout: 5m 6 | spec: 7 | type: bindings.redis 8 | version: v1 9 | ignoreErrors: true 10 | metadata: 11 | - name: redisHost 12 | value: "localhost:6399" 13 | - name: redisPassword 14 | value: "" 15 | - name: dialTimeout 16 | value: "10s" 17 | - name: redisMaxRetries 18 | value: "5" 19 | - name: redisMinRetryInterval 20 | value: "100ms" 21 | - name: redisMaxRetryInterval 22 | value: "3s" 23 | -------------------------------------------------------------------------------- /tests/certification/bindings/redis/components/standard/redis.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: redisBinding 5 | spec: 6 | type: bindings.redis 7 | version: v1 8 | metadata: 9 | - name: redisHost 10 | value: "localhost:6399" 11 | - name: redisPassword 12 | value: "" 13 | -------------------------------------------------------------------------------- /tests/certification/bindings/redis/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: redisbindingconfig 5 | -------------------------------------------------------------------------------- /tests/certification/bindings/redis/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.3" 2 | services: 3 | redis: 4 | image: 'redislabs/redisearch:latest' 5 | ports: 6 | - '6399:6379' 7 | command: redis-server 8 | -------------------------------------------------------------------------------- /tests/certification/bindings/zeebe/.env: -------------------------------------------------------------------------------- 1 | ZEEBE_VERSION=8.2.3 2 | ZEEBE_BROKER_GATEWAY_ENABLE=true 3 | ZEEBE_BROKER_GATEWAY_NETWORK_PORT=26500 4 | ZEEBE_BROKER_GATEWAY_SECURITY_ENABLED=false 5 | ZEEBE_BROKER_NETWORK_HOST=127.0.0.1 6 | ZEEBE_BROKER_CLUSTER_PARTITIONSCOUNT=1 7 | ZEEBE_BROKER_CLUSTER_CLUSTERSIZE=1 8 | ZEEBE_BROKER_CLUSTER_REPLICATIONFACTOR=1 9 | ZEEBE_BROKER_THREADS_CPUTHREADCOUNT=2 10 | ZEEBE_BROKER_THREADS_IOTHREADCOUNT=2 11 | ZEEBE_BROKER_DATA_DISKUSAGECOMMANDWATERMARK=0.998 12 | ZEEBE_BROKER_DATA_DISKUSAGEREPLICATIONWATERMARK=0.999 -------------------------------------------------------------------------------- /tests/certification/bindings/zeebe/certs/README.md: -------------------------------------------------------------------------------- 1 | These certs are only used for testing the Zeebe TLS connection. Please do not use it for anything else. 2 | 3 | For more details on how the cert was created and why the cert could not be created on-the-fly, please have a look [here](../README.md). -------------------------------------------------------------------------------- /tests/certification/bindings/zeebe/command/components/retryBackOff/zeebe-command.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: zeebe-command 5 | spec: 6 | type: bindings.zeebe.command 7 | version: v1 8 | metadata: 9 | - name: gatewayAddr 10 | value: localhost:26500 11 | - name: gatewayKeepAlive 12 | value: 45s 13 | - name: usePlainTextConnection 14 | value: true -------------------------------------------------------------------------------- /tests/certification/bindings/zeebe/command/components/standard/zeebe-command.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: zeebe-command 5 | spec: 6 | type: bindings.zeebe.command 7 | version: v1 8 | metadata: 9 | - name: gatewayAddr 10 | value: localhost:26500 11 | - name: gatewayKeepAlive 12 | value: 45s 13 | - name: usePlainTextConnection 14 | value: true -------------------------------------------------------------------------------- /tests/certification/bindings/zeebe/command/components/syncProcessCreation/zeebe-command.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: zeebe-command 5 | spec: 6 | type: bindings.zeebe.command 7 | version: v1 8 | metadata: 9 | - name: gatewayAddr 10 | value: localhost:26500 11 | - name: gatewayKeepAlive 12 | value: 45s 13 | - name: usePlainTextConnection 14 | value: true -------------------------------------------------------------------------------- /tests/certification/bindings/zeebe/command/components/tlsEnabled/zeebe-command.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: zeebe-command 5 | spec: 6 | type: bindings.zeebe.command 7 | version: v1 8 | metadata: 9 | - name: gatewayAddr 10 | value: localhost:26500 11 | - name: gatewayKeepAlive 12 | value: 45s 13 | - name: usePlainTextConnection 14 | value: false 15 | - name: caCertificatePath 16 | value: /tmp/dapr-cert-test-zeebe-cert.pem -------------------------------------------------------------------------------- /tests/certification/bindings/zeebe/command/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: zeebe-command-binding-config -------------------------------------------------------------------------------- /tests/certification/bindings/zeebe/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.3" 2 | services: 3 | zeebe: 4 | image: camunda/zeebe:${ZEEBE_VERSION} 5 | environment: 6 | - ZEEBE_LOG_LEVEL=ALL 7 | - "JAVA_TOOL_OPTIONS=-Xms512m -Xmx512m" 8 | env_file: .env 9 | ports: 10 | - "${ZEEBE_BROKER_GATEWAY_NETWORK_PORT}:${ZEEBE_BROKER_GATEWAY_NETWORK_PORT}" -------------------------------------------------------------------------------- /tests/certification/bindings/zeebe/jobworker/components/autocompleteDisabled/zeebe-command.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: zeebe-command 5 | spec: 6 | type: bindings.zeebe.command 7 | version: v1 8 | metadata: 9 | - name: gatewayAddr 10 | value: localhost:26500 11 | - name: gatewayKeepAlive 12 | value: 45s 13 | - name: usePlainTextConnection 14 | value: true -------------------------------------------------------------------------------- /tests/certification/bindings/zeebe/jobworker/components/fetchVariables/zeebe-command.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: zeebe-command 5 | spec: 6 | type: bindings.zeebe.command 7 | version: v1 8 | metadata: 9 | - name: gatewayAddr 10 | value: localhost:26500 11 | - name: gatewayKeepAlive 12 | value: 45s 13 | - name: usePlainTextConnection 14 | value: true -------------------------------------------------------------------------------- /tests/certification/bindings/zeebe/jobworker/components/retryBackOff/zeebe-command.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: zeebe-command 5 | spec: 6 | type: bindings.zeebe.command 7 | version: v1 8 | metadata: 9 | - name: gatewayAddr 10 | value: localhost:26500 11 | - name: gatewayKeepAlive 12 | value: 45s 13 | - name: usePlainTextConnection 14 | value: true -------------------------------------------------------------------------------- /tests/certification/bindings/zeebe/jobworker/components/standard/zeebe-command.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: zeebe-command 5 | spec: 6 | type: bindings.zeebe.command 7 | version: v1 8 | metadata: 9 | - name: gatewayAddr 10 | value: localhost:26500 11 | - name: gatewayKeepAlive 12 | value: 45s 13 | - name: usePlainTextConnection 14 | value: true -------------------------------------------------------------------------------- /tests/certification/bindings/zeebe/jobworker/components/tlsEnabled/zeebe-command.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: zeebe-command 5 | spec: 6 | type: bindings.zeebe.command 7 | version: v1 8 | metadata: 9 | - name: gatewayAddr 10 | value: localhost:26500 11 | - name: gatewayKeepAlive 12 | value: 45s 13 | - name: usePlainTextConnection 14 | value: false 15 | - name: caCertificatePath 16 | value: /tmp/dapr-cert-test-zeebe-cert.pem -------------------------------------------------------------------------------- /tests/certification/bindings/zeebe/jobworker/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: zeebe-jobworker-binding-config 5 | spec: 6 | features: -------------------------------------------------------------------------------- /tests/certification/configuration/postgres/components/default/configstore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: configstore 5 | spec: 6 | type: configuration.postgres 7 | metadata: 8 | - name: connectionString 9 | value: "host=localhost user=postgres password=example port=5432 connect_timeout=10 database=dapr_test" 10 | - name: table 11 | value: configtable -------------------------------------------------------------------------------- /tests/certification/configuration/postgres/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: keyvaultconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/configuration/postgres/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | db: 4 | image: postgres:15-alpine 5 | restart: always 6 | ports: 7 | - "5432:5432" 8 | environment: 9 | POSTGRES_USER: postgres 10 | POSTGRES_PASSWORD: example 11 | POSTGRES_DB: dapr_test -------------------------------------------------------------------------------- /tests/certification/configuration/redis/components/default/configstore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: configstore 5 | spec: 6 | type: configuration.redis 7 | version: v1 8 | metadata: 9 | - name: redisHost 10 | value: localhost:6379 11 | - name: redisPassword 12 | value: "" 13 | -------------------------------------------------------------------------------- /tests/certification/configuration/redis/components/redisDB1/configstore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: configstore 5 | spec: 6 | type: configuration.redis 7 | version: v1 8 | metadata: 9 | - name: redisHost 10 | value: localhost:6379 11 | - name: redisPassword 12 | value: "" 13 | - name: redisDB 14 | value: 1 15 | -------------------------------------------------------------------------------- /tests/certification/configuration/redis/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: keyvaultconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/configuration/redis/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.3" 2 | services: 3 | redis: 4 | image: 'redislabs/redisearch:latest' 5 | ports: 6 | - '6379:6379' 7 | command: redis-server -------------------------------------------------------------------------------- /tests/certification/middleware/http/bearer/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: daprConfig 5 | spec: 6 | httpPipeline: 7 | handlers: 8 | - name: bearer 9 | type: middleware.http.bearer 10 | -------------------------------------------------------------------------------- /tests/certification/middleware/http/bearer/resources/bearer.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: bearer 5 | spec: 6 | type: middleware.http.bearer 7 | version: v1 8 | metadata: 9 | - name: issuer 10 | value: "http://localhost:7470" 11 | - name: audience 12 | value: "26b9502f-1336-4479-ad5b-c8366edb7206" -------------------------------------------------------------------------------- /tests/certification/middleware/http/ratelimit/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: daprConfig 5 | spec: 6 | httpPipeline: 7 | handlers: 8 | - name: ratelimit 9 | type: middleware.http.ratelimit 10 | -------------------------------------------------------------------------------- /tests/certification/middleware/http/ratelimit/resources/ratelimit.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: ratelimit 5 | spec: 6 | type: middleware.http.ratelimit 7 | version: v1 8 | metadata: 9 | - name: maxRequestsPerSecond 10 | value: 10 -------------------------------------------------------------------------------- /tests/certification/pubsub/aws/snssqs/components/consumer_one/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/aws/snssqs/components/consumer_two/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/aws/snssqs/components/deadletter/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/aws/snssqs/components/disableDeleteOnRetryLimit/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/aws/snssqs/components/entity_mgmt/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/aws/snssqs/components/existing_queue/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/aws/snssqs/components/fifo/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/aws/snssqs/components/message_visibility_timeout/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/aws/snssqs/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: daprConfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/pubsub/azure/eventhubs/components/consumer1/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/azure/eventhubs/components/consumer2/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/azure/eventhubs/components/consumer3/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/azure/eventhubs/components/entitymanagementconsumer/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/azure/eventhubs/components/iotconsumer/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/azure/eventhubs/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: pubsubroutingconfig 5 | spec: 6 | features: 7 | - name: PubSub.Routing 8 | enabled: true 9 | -------------------------------------------------------------------------------- /tests/certification/pubsub/azure/servicebus/topics/components/authentication/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/azure/servicebus/topics/components/consumer_one/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/azure/servicebus/topics/components/consumer_one/service_bus.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: messagebus 5 | namespace: default 6 | spec: 7 | type: pubsub.azure.servicebus.topics 8 | version: v1 9 | metadata: 10 | - name: consumerID 11 | value: ehcertification1 12 | - name: connectionString 13 | secretKeyRef: 14 | name: AzureServiceBusConnectionString 15 | key: AzureServiceBusConnectionString 16 | - name: disableEntityManagement 17 | value: "false" 18 | auth: 19 | secretstore: envvar-secret-store -------------------------------------------------------------------------------- /tests/certification/pubsub/azure/servicebus/topics/components/consumer_two/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/azure/servicebus/topics/components/consumer_two/service_bus.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: messagebus 5 | namespace: default 6 | spec: 7 | type: pubsub.azure.servicebus.topics 8 | version: v1 9 | metadata: 10 | - name: consumerID 11 | value: ehcertification2 12 | - name: connectionString 13 | secretKeyRef: 14 | name: AzureServiceBusConnectionString 15 | key: AzureServiceBusConnectionString 16 | auth: 17 | secretstore: envvar-secret-store -------------------------------------------------------------------------------- /tests/certification/pubsub/azure/servicebus/topics/components/default_ttl/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/azure/servicebus/topics/components/default_ttl/service_bus.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: messagebus 5 | namespace: default 6 | spec: 7 | type: pubsub.azure.servicebus.topics 8 | version: v1 9 | metadata: 10 | - name: consumerID 11 | value: optionscertification 12 | - name: connectionString 13 | secretKeyRef: 14 | name: AzureServiceBusConnectionString 15 | key: AzureServiceBusConnectionString 16 | - name: defaultMessageTimeToLiveInSec 17 | value: 10 18 | auth: 19 | secretstore: envvar-secret-store -------------------------------------------------------------------------------- /tests/certification/pubsub/azure/servicebus/topics/components/entity_mgmt/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/azure/servicebus/topics/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: daprConfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/pubsub/gcp/pubsub/components/consumer_one/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/gcp/pubsub/components/consumer_one/pubsub.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: gcp-pubsub-cert-tests 5 | spec: 6 | type: pubsub.gcp.pubsub 7 | version: v1 8 | metadata: 9 | - name: projectId 10 | secretKeyRef: 11 | name: GCP_PROJECT_ID 12 | key: GCP_PROJECT_ID 13 | - name: consumerID 14 | secretKeyRef: 15 | name: PUBSUB_GCP_CONSUMER_ID_1 16 | key: PUBSUB_GCP_CONSUMER_ID_1 17 | auth: 18 | secretstore: envvar-secret-store -------------------------------------------------------------------------------- /tests/certification/pubsub/gcp/pubsub/components/consumer_two/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/gcp/pubsub/components/consumer_two/pubsub.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: gcp-pubsub-cert-tests 5 | spec: 6 | type: pubsub.gcp.pubsub 7 | version: v1 8 | metadata: 9 | - name: projectId 10 | secretKeyRef: 11 | name: GCP_PROJECT_ID 12 | key: GCP_PROJECT_ID 13 | - name: consumerID 14 | secretKeyRef: 15 | name: PUBSUB_GCP_CONSUMER_ID_2 16 | key: PUBSUB_GCP_CONSUMER_ID_2 17 | auth: 18 | secretstore: envvar-secret-store -------------------------------------------------------------------------------- /tests/certification/pubsub/gcp/pubsub/components/deadletter/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/gcp/pubsub/components/entity_mgmt/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/gcp/pubsub/components/entity_mgmt/pubsub.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: gcp-pubsub-cert-tests 5 | spec: 6 | type: pubsub.gcp.pubsub 7 | version: v1 8 | metadata: 9 | - name: projectId 10 | secretKeyRef: 11 | name: GCP_PROJECT_ID 12 | key: GCP_PROJECT_ID 13 | - name: consumerID 14 | value: "cert-test-topic-DOESNOT-EXIST" 15 | - name: disableEntityManagement 16 | value: "true" 17 | auth: 18 | secretstore: envvar-secret-store -------------------------------------------------------------------------------- /tests/certification/pubsub/gcp/pubsub/components/existing_topic/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/gcp/pubsub/components/fifo/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/pubsub/gcp/pubsub/components/fifo/pubsub.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: gcp-pubsub-cert-tests 5 | spec: 6 | type: pubsub.gcp.pubsub 7 | version: v1 8 | metadata: 9 | - name: projectId 10 | secretKeyRef: 11 | name: GCP_PROJECT_ID 12 | key: GCP_PROJECT_ID 13 | - name: consumerID 14 | secretKeyRef: 15 | name: PUBSUB_GCP_CONSUMER_ID_FIFO 16 | key: PUBSUB_GCP_CONSUMER_ID_FIFO 17 | - name: enableMessageOrdering 18 | value: "true" 19 | - name: orderingKey 20 | value: "cert-test-key" 21 | auth: 22 | secretstore: envvar-secret-store -------------------------------------------------------------------------------- /tests/certification/pubsub/gcp/pubsub/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: daprConfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/pubsub/kafka/components/consumer1/kafka.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: messagebus 5 | spec: 6 | type: pubsub.kafka 7 | version: v1 8 | metadata: 9 | - name: brokers 10 | value: localhost:19092,localhost:29092,localhost:39092 11 | - name: consumerGroup 12 | value: kafkaCertification1 13 | - name: authType 14 | value: "none" 15 | - name: initialOffset 16 | value: oldest 17 | - name: backOffDuration 18 | value: 50ms 19 | -------------------------------------------------------------------------------- /tests/certification/pubsub/kafka/components/consumer2/kafka.yaml: -------------------------------------------------------------------------------- 1 | 2 | apiVersion: dapr.io/v1alpha1 3 | kind: Component 4 | metadata: 5 | name: messagebus 6 | spec: 7 | type: pubsub.kafka 8 | version: v1 9 | metadata: 10 | - name: brokers 11 | value: localhost:19092,localhost:29092,localhost:39092 12 | - name: consumerGroup 13 | value: kafkaCertification2 14 | - name: authType 15 | value: "none" 16 | - name: initialOffset 17 | value: oldest 18 | - name: backOffDuration 19 | value: 50ms -------------------------------------------------------------------------------- /tests/certification/pubsub/kafka/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: pubsubroutingconfig 5 | spec: 6 | features: 7 | - name: PubSub.Routing 8 | enabled: true 9 | -------------------------------------------------------------------------------- /tests/certification/pubsub/mqtt3/components/consumer1/mqtt.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: messagebus 5 | spec: 6 | type: pubsub.mqtt3 7 | version: v1 8 | metadata: 9 | - name: url 10 | value: "tcp://localhost:1884" 11 | - name: consumerID 12 | value: "testConsumer1" 13 | - name: retain 14 | value: false 15 | - name: qos 16 | value: 1 17 | - name: cleanSession 18 | value: false 19 | -------------------------------------------------------------------------------- /tests/certification/pubsub/mqtt3/components/consumer2/mqtt.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: messagebus 5 | spec: 6 | type: pubsub.mqtt3 7 | version: v1 8 | metadata: 9 | - name: url 10 | value: "tcp://localhost:1884" 11 | - name: consumerID 12 | value: "testConsumer2" 13 | - name: retain 14 | value: false 15 | - name: qos 16 | value: 1 17 | - name: cleanSession 18 | value: false -------------------------------------------------------------------------------- /tests/certification/pubsub/mqtt3/components/consumer3/mqtt.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: messagebus 5 | spec: 6 | type: pubsub.mqtt3 7 | version: v1 8 | metadata: 9 | - name: url 10 | value: "tcp://localhost:1884" 11 | -------------------------------------------------------------------------------- /tests/certification/pubsub/mqtt3/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: pubsubroutingconfig 5 | spec: 6 | features: 7 | - name: PubSub.Routing 8 | enabled: true 9 | -------------------------------------------------------------------------------- /tests/certification/pubsub/mqtt3/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | emqx: 4 | image: emqx/emqx:4.2.7 5 | hostname: emqx 6 | container_name: emqx 7 | ports: 8 | - "1884:1883" 9 | environment: 10 | - "EMQX_ZONE__EXTERNAL__RETRY_INTERVAL=30s" 11 | - "EMQX_ZONE__EXTERNAL__MAX_INFLIGHT=128" 12 | - "EMQX_ZONE__EXTERNAL__MAX_MQUEUE_LEN=0" 13 | -------------------------------------------------------------------------------- /tests/certification/pubsub/pulsar/components/auth-none/consumer_five/pulsar.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: messagebus 5 | spec: 6 | type: pubsub.pulsar 7 | version: v1 8 | metadata: 9 | - name: host 10 | value: "localhost:6650" 11 | - name: consumerID 12 | value: certification5 13 | - name: redeliveryDelay 14 | value: 200ms 15 | - name: publicKey 16 | value: public.key 17 | - name: privateKey 18 | value: private.key 19 | - name: keys 20 | value: myapp.key -------------------------------------------------------------------------------- /tests/certification/pubsub/pulsar/components/auth-none/consumer_four/pulsar.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: messagebus 5 | spec: 6 | type: pubsub.pulsar 7 | version: v1 8 | metadata: 9 | - name: host 10 | value: "localhost:6650" 11 | - name: consumerID 12 | value: certification4 13 | - name: redeliveryDelay 14 | value: 200ms 15 | - name: certification-pubsub-topic-active.jsonschema 16 | value: "{\"type\":\"record\",\"name\":\"Example\",\"namespace\":\"test\",\"fields\":[{\"name\":\"ID\",\"type\":\"int\"},{\"name\":\"Name\",\"type\":\"string\"}]}" -------------------------------------------------------------------------------- /tests/certification/pubsub/pulsar/components/auth-none/consumer_one/pulsar.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: messagebus 5 | spec: 6 | type: pubsub.pulsar 7 | version: v1 8 | metadata: 9 | - name: host 10 | value: "localhost:6650" 11 | - name: consumerID 12 | value: certification1 13 | - name: redeliveryDelay 14 | value: 200ms -------------------------------------------------------------------------------- /tests/certification/pubsub/pulsar/components/auth-none/consumer_three/pulsar.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: messagebus 5 | spec: 6 | type: pubsub.pulsar 7 | version: v1 8 | metadata: 9 | - name: host 10 | value: "localhost:6650" 11 | - name: consumerID 12 | value: certification3 13 | - name: redeliveryDelay 14 | value: 200ms -------------------------------------------------------------------------------- /tests/certification/pubsub/pulsar/components/auth-none/consumer_two/pulsar.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: messagebus 5 | spec: 6 | type: pubsub.pulsar 7 | version: v1 8 | metadata: 9 | - name: host 10 | value: "localhost:6650" 11 | - name: consumerID 12 | value: certification2 13 | - name: redeliveryDelay 14 | value: 200ms -------------------------------------------------------------------------------- /tests/certification/pubsub/pulsar/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: pubsubroutingconfig 5 | spec: 6 | features: 7 | - name: PubSub.Routing 8 | enabled: true 9 | -------------------------------------------------------------------------------- /tests/certification/pubsub/pulsar/config/docker-compose_auth-none.yaml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | standalone: 4 | image: apachepulsar/pulsar:2.8.2 5 | ports: 6 | - "6650:6650" 7 | - "8080:8080" 8 | environment: 9 | - BOOKIE_MEM=" -Xms768m -Xms768m -XX:MaxDirectMemorySize=1g" 10 | command: > 11 | /bin/bash -c 12 | "bin/apply-config-from-env.py conf/standalone.conf 13 | && bin/pulsar standalone --advertised-address standalone" 14 | volumes: 15 | - pulsardata:/pulsar/data 16 | - pulsarconf:/pulsar/conf 17 | volumes: 18 | pulsardata: 19 | pulsarconf: 20 | -------------------------------------------------------------------------------- /tests/certification/pubsub/rabbitmq/components/alpha/rabbitmq-alpha.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: mq-alpha 5 | spec: 6 | type: pubsub.rabbitmq 7 | version: v1 8 | metadata: 9 | - name: consumerID 10 | value: alpha 11 | - name: host 12 | value: "amqp://test:test@localhost:5672" 13 | - name: durable 14 | value: true 15 | - name: deletedWhenUnused 16 | value: false 17 | - name: requeueInFailure 18 | value: true 19 | -------------------------------------------------------------------------------- /tests/certification/pubsub/rabbitmq/components/beta/rabbitmq-beta.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: mq-beta 5 | spec: 6 | type: pubsub.rabbitmq 7 | version: v1 8 | metadata: 9 | - name: consumerID 10 | value: beta 11 | - name: host 12 | value: "amqp://test:test@localhost:5672" 13 | - name: durable 14 | value: true 15 | - name: deletedWhenUnused 16 | value: false 17 | - name: requeueInFailure 18 | value: true 19 | 20 | -------------------------------------------------------------------------------- /tests/certification/pubsub/rabbitmq/components/priority/rabbitmq_priority.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: mq-priority 5 | spec: 6 | type: pubsub.rabbitmq 7 | version: v1 8 | metadata: 9 | - name: consumerID 10 | value: priority 11 | - name: host 12 | value: "amqp://test:test@localhost:5672" 13 | - name: durable 14 | value: true 15 | - name: deletedWhenUnused 16 | value: false 17 | - name: requeueInFailure 18 | value: true 19 | -------------------------------------------------------------------------------- /tests/certification/pubsub/rabbitmq/components/ttl/rabbitmq_msg_ttl.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: msg-ttl-pubsub 5 | namespace: default 6 | spec: 7 | type: pubsub.rabbitmq 8 | version: v1 9 | metadata: 10 | - name: consumerID 11 | value: msg 12 | - name: host 13 | value: "amqp://test:test@localhost:5672" 14 | - name: durable 15 | value: true 16 | - name: deletedWhenUnused 17 | value: false 18 | - name: requeueInFailure 19 | value: true 20 | -------------------------------------------------------------------------------- /tests/certification/pubsub/rabbitmq/components/ttl/rabbitmq_overwrite_ttl.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: overwrite-ttl-pubsub 5 | namespace: default 6 | spec: 7 | type: pubsub.rabbitmq 8 | version: v1 9 | metadata: 10 | - name: consumerID 11 | value: overwrite 12 | - name: host 13 | value: "amqp://test:test@localhost:5672" 14 | - name: durable 15 | value: true 16 | - name: deletedWhenUnused 17 | value: false 18 | - name: requeueInFailure 19 | value: true 20 | - name: ttlInSeconds 21 | value: 30 # Short TTL for easier testing -------------------------------------------------------------------------------- /tests/certification/pubsub/rabbitmq/components/ttl/rabbitmq_queue_ttl.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: queue-ttl-pubsub 5 | namespace: default 6 | spec: 7 | type: pubsub.rabbitmq 8 | version: v1 9 | metadata: 10 | - name: consumerID 11 | value: queue 12 | - name: host 13 | value: "amqp://test:test@localhost:5672" 14 | - name: durable 15 | value: true 16 | - name: deletedWhenUnused 17 | value: false 18 | - name: requeueInFailure 19 | value: true 20 | - name: ttlInSeconds 21 | value: 10 # Short TTL for easier testing -------------------------------------------------------------------------------- /tests/certification/pubsub/rabbitmq/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: pubsub 5 | -------------------------------------------------------------------------------- /tests/certification/pubsub/rabbitmq/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.7" 2 | services: 3 | rabbitmq: 4 | image: rabbitmq:3-management-alpine 5 | container_name: 'rabbitmq' 6 | ports: 7 | - 5672:5672 8 | - 15672:15672 9 | networks: 10 | - rabbitmq_go_net 11 | environment: 12 | RABBITMQ_DEFAULT_USER: test 13 | RABBITMQ_DEFAULT_PASS: test 14 | hostname: rmq 15 | networks: 16 | rabbitmq_go_net: 17 | driver: bridge 18 | -------------------------------------------------------------------------------- /tests/certification/pubsub/rabbitmq/mtls_sasl_external/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.7" 2 | services: 3 | rabbitmq_external_sasl: 4 | image: rabbitmq_external_sasl 5 | build: docker_sasl_external 6 | container_name: 'rabbitmq_external_sasl' 7 | ports: 8 | - 5671:5671 9 | - 15672:15672 10 | networks: 11 | - rabbitmq_go_net 12 | hostname: rmq_e 13 | networks: 14 | rabbitmq_go_net: 15 | driver: bridge 16 | -------------------------------------------------------------------------------- /tests/certification/pubsub/rabbitmq/mtls_sasl_external/docker_sasl_external/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM rabbitmq:management 2 | WORKDIR /opt 3 | RUN apt-get update \ 4 | && rabbitmq-plugins enable rabbitmq_auth_mechanism_ssl \ 5 | && apt-get install ca-certificates -y 6 | 7 | COPY rabbitmq.conf /etc/rabbitmq/rabbitmq.conf 8 | 9 | COPY certs /opt/certs/ 10 | COPY certs/ca.pem /usr/local/share/ca-certificates/cacert.crt 11 | RUN update-ca-certificates 12 | COPY entrypoint.sh /opt/entrypoint.sh 13 | RUN chmod +x /opt/entrypoint.sh 14 | COPY setup_user.sh /opt/setup_user.sh 15 | RUN chmod +x /opt/setup_user.sh 16 | ENTRYPOINT ["/opt/entrypoint.sh"] -------------------------------------------------------------------------------- /tests/certification/pubsub/rabbitmq/mtls_sasl_external/docker_sasl_external/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # docker entrypoint script for rabbitmq 3 | ./setup_user.sh & 4 | rabbitmq-server $@ -------------------------------------------------------------------------------- /tests/certification/pubsub/rabbitmq/mtls_sasl_external/docker_sasl_external/setup_user.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | sleep 10 3 | echo SETUPSTART 4 | rabbitmqctl add_user buildkitsandbox "" 5 | rabbitmqctl set_user_tags buildkitsandbox administrator 6 | rabbitmqctl set_permissions -p / buildkitsandbox ".*" ".*" ".*" 7 | rabbitmqctl set_permissions -p / guest ".*" ".*" ".*" 8 | echo SETUPSTOP -------------------------------------------------------------------------------- /tests/certification/secretstores/azure/keyvault/components/certificate/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/secretstores/azure/keyvault/components/serviceprincipal/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/secretstores/azure/keyvault/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: keyvaultconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/secretstores/azure/keyvault/managed-identity-app/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:latest 2 | COPY . /app 3 | WORKDIR /app 4 | RUN apt-get update && apt-get install wget curl --yes 5 | RUN wget -q https://raw.githubusercontent.com/dapr/cli/master/install/install.sh -O - | /bin/bash 6 | RUN dapr init --slim 7 | ENV AzureKeyVaultName=dapr2-conf-test-kv 8 | ENTRYPOINT [ "bash", "startup.sh" ] -------------------------------------------------------------------------------- /tests/certification/secretstores/azure/keyvault/managed-identity-app/components/keyvault.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: azurekeyvault 5 | namespace: default 6 | spec: 7 | type: secretstores.azure.keyvault 8 | version: v1 9 | metadata: 10 | - name: vaultName 11 | secretKeyRef: 12 | name: AzureKeyVaultName 13 | key: AzureKeyVaultName 14 | 15 | auth: 16 | secretStore: envvar-secret-store 17 | -------------------------------------------------------------------------------- /tests/certification/secretstores/azure/keyvault/managed-identity-app/components/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/secretstores/azure/keyvault/managed-identity-app/startup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $(dapr run --app-id=secretsapp --dapr-http-port 3500 --app-protocol grpc --components-path components/) & 3 | DAPRD_PID=$! 4 | sleep 5 5 | curl --silent http://127.0.0.1:3500/v1.0/secrets/azurekeyvault/secondsecret 6 | kill $DAPRD_PID 7 | -------------------------------------------------------------------------------- /tests/certification/secretstores/hashicorp/vault/components/caFamily/vaultConfig/vault_server.hcl: -------------------------------------------------------------------------------- 1 | listener "tcp" { 2 | address = "0.0.0.0:8200" 3 | tls_disable = "false" 4 | tls_cert_file = "/certificates/cert.pem" 5 | tls_key_file = "/certificates/key.pem" 6 | } -------------------------------------------------------------------------------- /tests/certification/secretstores/hashicorp/vault/components/default/hashicorp-vault.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: my-hashicorp-vault 5 | namespace: default 6 | spec: 7 | type: secretstores.hashicorp.vault 8 | version: v1 9 | metadata: 10 | - name: vaultAddr 11 | value: "http://127.0.0.1:8200" 12 | - name: vaultToken # Matches docker compose VAULT_DEV_ROOT_TOKEN_ID env. var. 13 | value: "vault-dev-root-token-id" -------------------------------------------------------------------------------- /tests/certification/secretstores/hashicorp/vault/components/enginePath/customSecretsPath/hashicorp-vault.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: my-hashicorp-vault-TestEnginePath-customSecretsPath 5 | namespace: default 6 | spec: 7 | type: secretstores.hashicorp.vault 8 | version: v1 9 | metadata: 10 | - name: vaultAddr 11 | value: "http://127.0.0.1:8200" 12 | - name: vaultToken # Matches docker compose VAULT_DEV_ROOT_TOKEN_ID env. var. 13 | value: "vault-dev-root-token-id" 14 | - name: enginePath 15 | value: customSecretsPath -------------------------------------------------------------------------------- /tests/certification/secretstores/hashicorp/vault/components/enginePath/secret/hashicorp-vault.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: my-hashicorp-vault-TestEnginePath-secret 5 | namespace: default 6 | spec: 7 | type: secretstores.hashicorp.vault 8 | version: v1 9 | metadata: 10 | - name: vaultAddr 11 | value: "http://127.0.0.1:8200" 12 | - name: vaultToken # Matches docker compose VAULT_DEV_ROOT_TOKEN_ID env. var. 13 | value: "vault-dev-root-token-id" 14 | - name: enginePath 15 | value: secret -------------------------------------------------------------------------------- /tests/certification/secretstores/hashicorp/vault/components/vaultAddr/nonStdPort/hashicorp-vault.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: my-hashicorp-vault-TestVaultAddr-nonStdPort 5 | namespace: default 6 | spec: 7 | type: secretstores.hashicorp.vault 8 | version: v1 9 | metadata: 10 | # Use non-standard port 11 | - name: vaultAddr 12 | value: "http://127.0.0.1:11200" 13 | - name: vaultToken # Matches docker compose VAULT_DEV_ROOT_TOKEN_ID env. var. 14 | value: "vault-dev-root-token-id" -------------------------------------------------------------------------------- /tests/certification/secretstores/hashicorp/vault/components/vaultAddr/wrongAddress/hashicorp-vault.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: my-hashicorp-vault-TestVaultAddr-wrongAddress 5 | namespace: default 6 | spec: 7 | type: secretstores.hashicorp.vault 8 | version: v1 9 | metadata: 10 | - name: vaultAddr 11 | value: "http://127.0.0.1:28234" # yeah.. let's hope no one starts a Vault here 12 | - name: vaultToken # Matches docker compose VAULT_DEV_ROOT_TOKEN_ID env. var. 13 | value: "vault-dev-root-token-id" -------------------------------------------------------------------------------- /tests/certification/secretstores/hashicorp/vault/components/vaultKVPrefix/hashicorp-vault.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: my-hashicorp-vault 5 | namespace: default 6 | spec: 7 | type: secretstores.hashicorp.vault 8 | version: v1 9 | metadata: 10 | - name: vaultAddr 11 | value: "http://127.0.0.1:8200" 12 | - name: vaultToken # Matches docker compose VAULT_DEV_ROOT_TOKEN_ID env. var. 13 | value: "vault-dev-root-token-id" 14 | - name: vaultKVPrefix 15 | value: alternativePrefix -------------------------------------------------------------------------------- /tests/certification/secretstores/hashicorp/vault/components/vaultKVUsePrefixFalse/hashicorp-vault.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: my-hashicorp-vault 5 | namespace: default 6 | spec: 7 | type: secretstores.hashicorp.vault 8 | version: v1 9 | metadata: 10 | - name: vaultAddr 11 | value: "http://127.0.0.1:8200" 12 | - name: vaultToken # Matches docker compose VAULT_DEV_ROOT_TOKEN_ID env. var. 13 | value: "vault-dev-root-token-id" 14 | - name: vaultKVUsePrefix 15 | value: false -------------------------------------------------------------------------------- /tests/certification/secretstores/hashicorp/vault/components/vaultTokenAndTokenMountPath/badVaultToken/hashicorp-vault.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: my-hashicorp-vault-TestTokenAndTokenMountPath-badVaultToken 5 | namespace: default 6 | spec: 7 | type: secretstores.hashicorp.vault 8 | version: v1 9 | ignoreErrors: true # This component will fail to load but we don't want Dapr to FATAL because of it. 10 | metadata: 11 | - name: vaultAddr 12 | value: "http://127.0.0.1:8200" 13 | - name: vaultToken 14 | value: "this-is-not-the-correct-vault-token-to-talk-to-our-server" -------------------------------------------------------------------------------- /tests/certification/secretstores/hashicorp/vault/components/vaultTokenAndTokenMountPath/both/hashicorp-vault.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: my-hashicorp-vault-TestTokenAndTokenMountPath-both 5 | namespace: default 6 | spec: 7 | type: secretstores.hashicorp.vault 8 | version: v1 9 | ignoreErrors: true # This component will fail to load but we don't want Dapr to FATAL because of it. 10 | metadata: 11 | - name: vaultAddr 12 | value: "http://127.0.0.1:8200" 13 | - name: vaultToken 14 | value: "vault-dev-root-token-id" 15 | - name: vaultTokenMountPath 16 | value: /tmp/vaultToken.txt -------------------------------------------------------------------------------- /tests/certification/secretstores/hashicorp/vault/components/vaultTokenAndTokenMountPath/neither/hashicorp-vault.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: my-hashicorp-vault-TestTokenAndTokenMountPath-neither 5 | namespace: default 6 | spec: 7 | type: secretstores.hashicorp.vault 8 | version: v1 9 | ignoreErrors: true # This component will fail to load but we don't want Dapr to FATAL because of it. 10 | metadata: 11 | - name: vaultAddr 12 | value: "http://127.0.0.1:8200" 13 | # no vaultToken or vaultTokenMountPath -------------------------------------------------------------------------------- /tests/certification/secretstores/hashicorp/vault/components/vaultTokenAndTokenMountPath/tokenMountPathHappyCase/vault_token_file.txt: -------------------------------------------------------------------------------- 1 | vault-dev-root-token-id -------------------------------------------------------------------------------- /tests/certification/secretstores/hashicorp/vault/components/vaultTokenAndTokenMountPath/tokenMountPathPointsToBrokenPath/hashicorp-vault.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: my-hashicorp-vault-TestTokenAndTokenMountPath-tokenMountPathPointsToBrokenPath 5 | namespace: default 6 | spec: 7 | type: secretstores.hashicorp.vault 8 | version: v1 9 | ignoreErrors: true # This component will fail to load but we don't want Dapr to FATAL because of it. 10 | metadata: 11 | - name: vaultAddr 12 | value: "http://127.0.0.1:8200" 13 | - name: vaultTokenMountPath 14 | value: /this/path/does/not/exist/vaultToken.txt -------------------------------------------------------------------------------- /tests/certification/secretstores/hashicorp/vault/components/vaultValueTypeText/hashicorp-vault.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: my-hashicorp-vault 5 | namespace: default 6 | spec: 7 | type: secretstores.hashicorp.vault 8 | version: v1 9 | metadata: 10 | - name: vaultAddr 11 | value: "http://127.0.0.1:8200" 12 | - name: vaultToken # Matches docker compose VAULT_DEV_ROOT_TOKEN_ID env. var. 13 | value: "vault-dev-root-token-id" 14 | - name: vaultValueType 15 | value: text # Turns Vault into a secret store with name/value semantics. -------------------------------------------------------------------------------- /tests/certification/secretstores/hashicorp/vault/components/versioning/hashicorp-vault.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: my-hashicorp-vault-TestVersioning 5 | namespace: default 6 | spec: 7 | type: secretstores.hashicorp.vault 8 | version: v1 9 | metadata: 10 | - name: vaultAddr 11 | value: "http://127.0.0.1:8200" 12 | - name: vaultToken # Matches docker compose VAULT_DEV_ROOT_TOKEN_ID env. var. 13 | value: "vault-dev-root-token-id" -------------------------------------------------------------------------------- /tests/certification/secretstores/hashicorp/vault/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: hashicorpvaultconfig -------------------------------------------------------------------------------- /tests/certification/secretstores/local/env/components/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: -------------------------------------------------------------------------------- /tests/certification/secretstores/local/env/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: envconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/secretstores/local/file/components/customnestedseparator/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: file-secret-store 5 | spec: 6 | type: secretstores.local.file 7 | version: v1 8 | metadata: 9 | - name: secretsFile 10 | value: ./components/secrets.json 11 | - name: nestedSeparator 12 | value: "::" -------------------------------------------------------------------------------- /tests/certification/secretstores/local/file/components/defaultnestedseparator/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: file-secret-store 5 | spec: 6 | type: secretstores.local.file 7 | version: v1 8 | metadata: 9 | - name: secretsFile 10 | value: ./components/secrets.json -------------------------------------------------------------------------------- /tests/certification/secretstores/local/file/components/secrets.json: -------------------------------------------------------------------------------- 1 | { 2 | "certtestsecret": "abcd", 3 | "nestedsecret": { 4 | "secret": "efgh" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /tests/certification/secretstores/local/file/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: fileconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/state/aws/dynamodb/README.md: -------------------------------------------------------------------------------- 1 | # AWS DynamoDB certification testing 2 | 3 | This project aims to test the AWS DynamoDB State Store component under various conditions. 4 | 5 | ## Test plan 6 | 7 | ### Basic Test 8 | 1. Able to create and test connection. 9 | 2. Able to do set, fetch and delete. 10 | 11 | ### TTL Test using master key authentication 12 | 1. Able to create and test connection. 13 | 2. Able to do set TTL, fetch (expired and non-expired) data and delete. 14 | -------------------------------------------------------------------------------- /tests/certification/state/aws/dynamodb/components/basictest/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/state/aws/dynamodb/components/partition_key/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/state/aws/dynamodb/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: keyvaultconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/state/azure/blobstorage/components/aadtest/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/state/azure/blobstorage/components/basictest/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/state/azure/blobstorage/components/nonexistingcontainertest/azureblob.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore-newcontainer 5 | spec: 6 | type: state.azure.blobstorage 7 | metadata: 8 | - name: accountName 9 | secretKeyRef: 10 | name: AzureBlobStorageAccount 11 | key: AzureBlobStorageAccount 12 | - name: accountKey 13 | secretKeyRef: 14 | name: AzureBlobStorageAccessKey 15 | key: AzureBlobStorageAccessKey 16 | - name: containerName 17 | value: "nonexistingblob" 18 | auth: 19 | secretstore: envvar-secret-store -------------------------------------------------------------------------------- /tests/certification/state/azure/blobstorage/components/nonexistingcontainertest/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/state/azure/blobstorage/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: keyvaultconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/state/azure/cosmosdb/components/aadtest/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/state/azure/cosmosdb/components/basictest/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/state/azure/cosmosdb/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: keyvaultconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/state/azure/tablestorage/components/aadtest/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/state/azure/tablestorage/components/basictest/azuretable.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore-basic 5 | spec: 6 | type: state.azure.tablestorage 7 | metadata: 8 | - name: accountName 9 | secretKeyRef: 10 | name: AzureBlobStorageAccount 11 | key: AzureBlobStorageAccount 12 | - name: accountKey 13 | secretKeyRef: 14 | name: AzureBlobStorageAccessKey 15 | key: AzureBlobStorageAccessKey 16 | - name: tableName 17 | value: "MyTable" 18 | auth: 19 | secretstore: envvar-secret-store -------------------------------------------------------------------------------- /tests/certification/state/azure/tablestorage/components/basictest/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/state/azure/tablestorage/components/nonexistingtabletest/azuretable.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore-newtable 5 | spec: 6 | type: state.azure.tablestorage 7 | metadata: 8 | - name: accountName 9 | secretKeyRef: 10 | name: AzureBlobStorageAccount 11 | key: AzureBlobStorageAccount 12 | - name: accountKey 13 | secretKeyRef: 14 | name: AzureBlobStorageAccessKey 15 | key: AzureBlobStorageAccessKey 16 | - name: tableName 17 | value: "NewTable" 18 | auth: 19 | secretstore: envvar-secret-store -------------------------------------------------------------------------------- /tests/certification/state/azure/tablestorage/components/nonexistingtabletest/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/state/azure/tablestorage/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: keyvaultconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/state/cassandra/components/docker/cluster-fail/cassandrastatestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestoreclusterfail 5 | spec: 6 | type: state.cassandra 7 | version: v1 8 | initTimeout: 20s 9 | metadata: 10 | - name: hosts 11 | value: localhost 12 | - name: username 13 | value: cassandra 14 | - name: password 15 | value: cassandra 16 | - name: consistency 17 | value: "Three" 18 | - name: replicationFactor 19 | value: "3" -------------------------------------------------------------------------------- /tests/certification/state/cassandra/components/docker/cluster/cassandrastatestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestorecluster 5 | spec: 6 | type: state.cassandra 7 | version: v1 8 | initTimeout: 20s 9 | metadata: 10 | - name: hosts 11 | value: localhost 12 | - name: username 13 | value: cassandra 14 | - name: password 15 | value: cassandra 16 | - name: protoVersion 17 | value: "0" 18 | - name: replicationFactor 19 | value: "2" 20 | - name: consistency 21 | value: "Two" -------------------------------------------------------------------------------- /tests/certification/state/cassandra/components/docker/default/cassandrastatestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.cassandra 7 | version: v1 8 | initTimeout: 20s 9 | metadata: 10 | - name: hosts 11 | value: localhost 12 | - name: username 13 | value: cassandra 14 | - name: password 15 | value: cassandra 16 | - name: port 17 | value: "9044" 18 | - name: table 19 | value: "daprTable" 20 | - name: keyspace 21 | value: "daprKeyspace" -------------------------------------------------------------------------------- /tests/certification/state/cassandra/components/docker/defaultfactorfail/cassandrastatestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestorefactorfail 5 | spec: 6 | type: state.cassandra 7 | version: v1 8 | initTimeout: 30s 9 | metadata: 10 | - name: hosts 11 | value: localhost 12 | - name: username 13 | value: cassandra 14 | - name: password 15 | value: cassandra 16 | - name: port 17 | value: "9044" 18 | - name: table 19 | value: "daprTableFactor" 20 | - name: keyspace 21 | value: "daprKeyspaceFactor" 22 | - name: replicationFactor 23 | value: "2" -------------------------------------------------------------------------------- /tests/certification/state/cassandra/components/docker/defaultverisonfail/cassandrastatestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestoreversionfail 5 | spec: 6 | type: state.cassandra 7 | version: v1 8 | initTimeout: 20s 9 | ignoreErrors: true 10 | metadata: 11 | - name: hosts 12 | value: localhost 13 | - name: username 14 | value: cassandra 15 | - name: password 16 | value: cassandra 17 | - name: port 18 | value: "9044" 19 | - name: table 20 | value: "daprTableVersion" 21 | - name: keyspace 22 | value: "daprKeyspaceVersion" 23 | - name: protoVersion 24 | value: "1" -------------------------------------------------------------------------------- /tests/certification/state/cassandra/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: keyvaultconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/state/cassandra/docker-compose-single.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | cassandra: 4 | image: docker.io/bitnami/cassandra:4.0.1 5 | ports: 6 | - '7002:7000' 7 | - '9044:9042' 8 | volumes: 9 | - 'cassandra_data:/bitnami' 10 | environment: 11 | - CASSANDRA_PASSWORD=cassandra 12 | volumes: 13 | cassandra_data: 14 | driver: local -------------------------------------------------------------------------------- /tests/certification/state/cockroachdb/components/standard/cockroachdb.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.cockroachdb 7 | metadata: 8 | - name: cockroachdbHost 9 | value: localhost:26257 10 | - name: cockroachdbPassword 11 | value: "" 12 | - name: initTimeout 13 | value: 5m 14 | - name: timeout 15 | value: 20s 16 | - name: connectionString 17 | value: "host=localhost user=root port=26257 connect_timeout=10 database=dapr_test" -------------------------------------------------------------------------------- /tests/certification/state/cockroachdb/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: keyvaultconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/state/gcp/firestore/components/basictest/gcpfirestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore-basic 5 | spec: 6 | type: state.gcp.firestore 7 | version: v1 8 | metadata: 9 | - name: project_id 10 | secretKeyRef: 11 | name: GCP_PROJECT_ID 12 | key: GCP_PROJECT_ID 13 | 14 | auth: 15 | secretStore: envvar-secret-store -------------------------------------------------------------------------------- /tests/certification/state/gcp/firestore/components/basictest/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/state/gcp/firestore/components/entity_kind/gcpfirestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore-basic 5 | spec: 6 | type: state.gcp.firestore 7 | version: v1 8 | metadata: 9 | - name: project_id 10 | secretKeyRef: 11 | name: GCP_PROJECT_ID 12 | key: GCP_PROJECT_ID 13 | - name: entity_kind 14 | secretKeyRef: 15 | name: GCP_FIRESTORE_ENTITY_KIND 16 | key: GCP_FIRESTORE_ENTITY_KIND 17 | 18 | auth: 19 | secretStore: envvar-secret-store -------------------------------------------------------------------------------- /tests/certification/state/gcp/firestore/components/entity_kind/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/state/gcp/firestore/components/noindex/gcpfirestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore-basic 5 | spec: 6 | type: state.gcp.firestore 7 | version: v1 8 | metadata: 9 | - name: project_id 10 | secretKeyRef: 11 | name: GCP_PROJECT_ID 12 | key: GCP_PROJECT_ID 13 | - name: noindex 14 | value: "true" 15 | 16 | auth: 17 | secretStore: envvar-secret-store -------------------------------------------------------------------------------- /tests/certification/state/gcp/firestore/components/noindex/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/state/gcp/firestore/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: keyvaultconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/state/memcached/components/docker/20secondsTimeout/memcachedstatestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.memcached 7 | version: v1 8 | metadata: 9 | - name: hosts 10 | value: "localhost:11211" 11 | - timeout: 12 | value: 20000 # Unit is ms -------------------------------------------------------------------------------- /tests/certification/state/memcached/components/docker/default/memcachedstatestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.memcached 7 | version: v1 8 | metadata: 9 | - name: hosts 10 | value: "localhost:11211" -------------------------------------------------------------------------------- /tests/certification/state/memcached/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: memcachedstateconfig 5 | -------------------------------------------------------------------------------- /tests/certification/state/memcached/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | 3 | services: 4 | memcached: 5 | image: docker.io/memcached:1.6 6 | ports: 7 | - '11211:11211' -------------------------------------------------------------------------------- /tests/certification/state/mongodb/README.md: -------------------------------------------------------------------------------- 1 | # MongoDB State Store certification testing 2 | 3 | This project aims to test the MongoDB State Store component under various conditions. 4 | 5 | ## Test plan 6 | 7 | ## Basic Test for CRUD operations: 8 | 1. Able to create and test connection. 9 | 2. Able to do set, fetch, update and delete. 10 | 3. Negative test to fetch record with key, that is not present. 11 | 12 | ## Component must reconnect when server or network errors are encountered 13 | 14 | ## Infra test: 15 | 1. When MongoDB goes down and then comes back up - client is able to connect 16 | -------------------------------------------------------------------------------- /tests/certification/state/mongodb/components/docker/default/mongodbstatestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.mongodb 7 | version: v1 8 | initTimeout: 5m 9 | metadata: 10 | - name: host 11 | value: "localhost:27017" 12 | - name: databaseName 13 | value: "admin" 14 | - name: params 15 | value: "?replicaSet=rs0&directConnection=true" 16 | -------------------------------------------------------------------------------- /tests/certification/state/mongodb/components/docker/singleNode/mongodbstatestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.mongodb 7 | version: v1 8 | initTimeout: 5m 9 | metadata: 10 | - name: connectionString 11 | value: "mongodb://localhost:27017/admin" 12 | - name: databaseName 13 | value: "admin" 14 | - name: writeConcern 15 | value: "majority" 16 | - name: readConcern 17 | value: "local" 18 | - name: operationTimeout 19 | value: "10s" 20 | -------------------------------------------------------------------------------- /tests/certification/state/mongodb/components/docker/validReadWriteConcernAndTimeout/mongodbstatestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.mongodb 7 | version: v1 8 | initTimeout: 5m 9 | metadata: 10 | - name: host 11 | value: "localhost:27017" 12 | - name: databaseName 13 | value: "admin" 14 | - name: writeConcern 15 | value: "majority" 16 | - name: readConcern 17 | value: "local" 18 | - name: operationTimeout 19 | value: "10s" 20 | - name: params 21 | value: "?replicaSet=rs0&directConnection=true" 22 | -------------------------------------------------------------------------------- /tests/certification/state/mongodb/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: keyvaultconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/state/mongodb/docker-compose-single.yml: -------------------------------------------------------------------------------- 1 | version: '3.8' 2 | 3 | services: 4 | 5 | mongo1: 6 | image: mongo 7 | restart: always 8 | ports: 9 | - 27017:27017 10 | volumes: 11 | - mongo1:/data/db 12 | entrypoint: [ "/usr/bin/mongod", "--bind_ip_all"] 13 | 14 | volumes: 15 | mongo1: 16 | -------------------------------------------------------------------------------- /tests/certification/state/mysql/components/docker/default/mariadb.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: mariadb 5 | spec: 6 | type: state.mysql 7 | version: v1 8 | metadata: 9 | - name: connectionString 10 | value: "dapr:example@tcp(127.0.0.1:3307)/" 11 | - name: timeoutInSeconds 12 | value: 5 13 | -------------------------------------------------------------------------------- /tests/certification/state/mysql/components/docker/default/mysql.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: mysql 5 | spec: 6 | type: state.mysql 7 | version: v1 8 | metadata: 9 | - name: connectionString 10 | value: "dapr:example@tcp(127.0.0.1:3306)/?allowNativePasswords=true" 11 | - name: timeoutInSeconds 12 | value: 5 13 | -------------------------------------------------------------------------------- /tests/certification/state/mysql/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: testconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/state/postgresql/components/docker/default/postgresqlstatestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.postgresql 7 | metadata: 8 | - name: connectionString 9 | value: "host=localhost user=postgres password=example port=5432 connect_timeout=10 database=dapr_test" 10 | - name: connMaxIdleTime 11 | value: 5s -------------------------------------------------------------------------------- /tests/certification/state/postgresql/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: keyvaultconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/state/postgresql/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | db: 4 | image: postgres:15-alpine 5 | restart: always 6 | ports: 7 | - "5432:5432" 8 | environment: 9 | POSTGRES_USER: postgres 10 | POSTGRES_PASSWORD: example 11 | POSTGRES_DB: dapr_test -------------------------------------------------------------------------------- /tests/certification/state/redis/components/docker/default/redisstatestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.redis 7 | metadata: 8 | - name: redisHost 9 | value: localhost:6379 10 | - name: redisPassword 11 | value: "" 12 | - name: initTimeout 13 | value: 5m 14 | - name: timeout 15 | value: 100s 16 | -------------------------------------------------------------------------------- /tests/certification/state/redis/components/docker/enableTLSConf/redisstatestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.redis 7 | ignoreErrors: true 8 | metadata: 9 | - name: redisHost 10 | value: localhost:6379 11 | - name: redisPassword 12 | value: "" 13 | - name: initTimeout 14 | value: 5m 15 | - name: timeout 16 | value: 100s 17 | - name: enableTLS 18 | value: true -------------------------------------------------------------------------------- /tests/certification/state/redis/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: keyvaultconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/state/redis/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.3" 2 | services: 3 | redis: 4 | image: 'redislabs/redisearch:latest' 5 | ports: 6 | - '6379:6379' 7 | command: redis-server -------------------------------------------------------------------------------- /tests/certification/state/sqlite/artifacts/readonly.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/man-group/components-contrib/33a5fd20c0421744c15640fd3c74168935ae2202/tests/certification/state/sqlite/artifacts/readonly.db -------------------------------------------------------------------------------- /tests/certification/state/sqlite/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: keyvaultconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/state/sqlite/resources/memory/statestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.sqlite 7 | metadata: 8 | - name: connectionString 9 | value: ":memory:" -------------------------------------------------------------------------------- /tests/certification/state/sqlite/resources/readonly/statestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.sqlite 7 | metadata: 8 | # Prefix "file:" should be added automatically to the value 9 | # If that doesn't happen, tests will fail 10 | - name: connectionString 11 | value: "artifacts/readonly.db?mode=ro" 12 | # Do not use a key prefix for this test 13 | - name: keyPrefix 14 | value: none 15 | -------------------------------------------------------------------------------- /tests/certification/state/sqlserver/components/azure/localsecrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: envvar-secret-store 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env 8 | version: v1 9 | metadata: 10 | -------------------------------------------------------------------------------- /tests/certification/state/sqlserver/components/docker/default/sqlserver.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: dapr-state-store 5 | spec: 6 | type: state.sqlserver 7 | metadata: 8 | - name: connectionString 9 | value: "server=localhost;user id=sa;password=Pass@Word1;port=1433;Connection Timeout=5;" 10 | - name: databaseName 11 | value: certificationtest 12 | -------------------------------------------------------------------------------- /tests/certification/state/sqlserver/config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Configuration 3 | metadata: 4 | name: keyvaultconfig 5 | spec: 6 | features: 7 | -------------------------------------------------------------------------------- /tests/certification/state/sqlserver/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.7" 2 | services: 3 | sqlserver: 4 | image: mcr.microsoft.com/mssql/server:2019-latest 5 | ports: 6 | - "1433:1433" 7 | environment: 8 | ACCEPT_EULA: Y 9 | SA_PASSWORD: "Pass@Word1" 10 | -------------------------------------------------------------------------------- /tests/config/bindings/azure/blobstorage/bindings.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: azure-blobstorage-output 5 | namespace: default 6 | spec: 7 | type: bindings.azure.blobstorage 8 | version: v1 9 | metadata: 10 | - name: storageAccount 11 | value: ${{AzureBlobStorageAccount}} 12 | - name: storageAccessKey 13 | value: ${{AzureBlobStorageAccessKey}} 14 | - name: container 15 | value: binding-conf 16 | -------------------------------------------------------------------------------- /tests/config/bindings/azure/cosmosdb/bindings.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: azure-cosmosdb-binding 5 | namespace: default 6 | spec: 7 | type: bindings.azure.cosmosdb 8 | version: v1 9 | metadata: 10 | - name: url 11 | value: ${{AzureCosmosDBUrl}} 12 | - name: masterKey 13 | value: ${{AzureCosmosDBMasterKey}} 14 | - name: database 15 | value: ${{AzureCosmosDB}} 16 | - name: collection 17 | value: ${{AzureCosmosDBCollection}} 18 | - name: partitionKey 19 | value: partitionKey 20 | -------------------------------------------------------------------------------- /tests/config/bindings/azure/servicebusqueues/bindings.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: servicebusqueue-binding 5 | namespace: default 6 | spec: 7 | type: bindings.azure.servicebusqueues 8 | version: v1 9 | metadata: 10 | - name: connectionString 11 | value: ${{AzureServiceBusConnectionString}} 12 | - name: queueName 13 | value: conf-tests 14 | - name: ttlInSeconds 15 | value: 60 -------------------------------------------------------------------------------- /tests/config/bindings/azure/storagequeues/bindings.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: azure-storagequeues-output 5 | namespace: default 6 | spec: 7 | type: bindings.azure.storagequeues 8 | version: v1 9 | metadata: 10 | - name: storageAccount 11 | value: ${{AzureBlobStorageAccount}} 12 | - name: storageAccessKey 13 | value: ${{AzureBlobStorageAccessKey}} 14 | - name: queue 15 | value: ${{AzureBlobStorageQueue}} 16 | - name: ttlInSeconds 17 | value: "60" 18 | -------------------------------------------------------------------------------- /tests/config/bindings/cron/bindings.yaml: -------------------------------------------------------------------------------- 1 | 2 | apiVersion: dapr.io/v1alpha1 3 | kind: Component 4 | metadata: 5 | name: cron-binding 6 | namespace: default 7 | spec: 8 | type: bindings.cron 9 | version: v1 10 | metadata: 11 | - name: schedule 12 | value: "@every 1s" -------------------------------------------------------------------------------- /tests/config/bindings/http/bindings.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: http-binding 5 | namespace: default 6 | spec: 7 | type: bindings.http 8 | version: v1 9 | metadata: 10 | - name: url 11 | value: http://localhost:22222/call -------------------------------------------------------------------------------- /tests/config/bindings/influx/bindings.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: influx 5 | namespace: default 6 | spec: 7 | type: bindings.influx 8 | version: v1 9 | metadata: 10 | - name: url # Required 11 | value: http://localhost:8086 12 | - name: token # Required 13 | value: ${{ INFLUX_TOKEN }} 14 | - name: org # Required 15 | value: dapr-conf-test 16 | - name: bucket # Required 17 | value: dapr-conf-test-bucket 18 | -------------------------------------------------------------------------------- /tests/config/bindings/kafka/confluent/bindings.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: binding-topic-confluent 5 | namespace: default 6 | spec: 7 | type: bindings.kafka 8 | version: v1 9 | metadata: 10 | - name: topics # Input binding topic 11 | value: binding-topic 12 | - name: brokers 13 | value: localhost:9095 14 | - name: consumerGroup 15 | value: group1 16 | - name: publishTopic # Output binding topic 17 | value: binding-topic 18 | - name: authRequired 19 | value: "false" 20 | - name: initialOffset 21 | value: oldest 22 | -------------------------------------------------------------------------------- /tests/config/bindings/kafka/wurstmeister/bindings.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: binding-topic 5 | namespace: default 6 | spec: 7 | type: bindings.kafka 8 | version: v1 9 | metadata: 10 | - name: topics # Input binding topic 11 | value: binding-topic 12 | - name: brokers 13 | value: localhost:9092,localhost:9093 14 | - name: consumerGroup 15 | value: group1 16 | - name: publishTopic # Output binding topic 17 | value: binding-topic 18 | - name: authRequired 19 | value: "false" 20 | - name: initialOffset 21 | value: oldest 22 | -------------------------------------------------------------------------------- /tests/config/bindings/kubemq/binding.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: binding-topic 5 | namespace: default 6 | spec: 7 | type: bindings.kubemq 8 | version: v1 9 | metadata: 10 | - name: address 11 | value: localhost:50000 12 | - name: channel 13 | value: queue1 14 | -------------------------------------------------------------------------------- /tests/config/bindings/mqtt3/emqx/bindings.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: binding-mqtt-emqx 5 | spec: 6 | type: bindings.mqtt3 7 | version: v1 8 | metadata: 9 | - name: url 10 | value: "tcp://localhost:1884" 11 | - name: consumerID 12 | value: "testBindingConsumer" 13 | - name: topic 14 | value: "testBindingTopic" 15 | - name: retain 16 | value: false 17 | - name: qos 18 | value: 1 19 | - name: cleanSession 20 | value: false 21 | - name: backOffMaxRetries 22 | value: 5 -------------------------------------------------------------------------------- /tests/config/bindings/mqtt3/mosquitto/bindings.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: binding-mqtt-mosquitto 5 | spec: 6 | type: bindings.mqtt3 7 | version: v1 8 | metadata: 9 | - name: url 10 | value: "tcp://localhost:1883" 11 | - name: consumerID 12 | value: "testBindingConsumer" 13 | - name: topic 14 | value: "testBindingTopic" 15 | - name: retain 16 | value: false 17 | - name: qos 18 | value: 1 19 | - name: cleanSession 20 | value: false 21 | - name: backOffMaxRetries 22 | value: 5 -------------------------------------------------------------------------------- /tests/config/bindings/mqtt3/vernemq/bindings.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: binding-mqtt-vernemq 5 | spec: 6 | type: bindings.mqtt3 7 | version: v1 8 | metadata: 9 | - name: url 10 | value: "tcp://localhost:1885" 11 | - name: consumerID 12 | value: "testBindingConsumer" 13 | - name: topic 14 | value: "testBindingTopic" 15 | - name: retain 16 | value: false 17 | - name: qos 18 | value: 1 19 | - name: cleanSession 20 | value: false 21 | - name: backOffMaxRetries 22 | value: 5 -------------------------------------------------------------------------------- /tests/config/bindings/postgresql/azure/bindings.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: postgres-binding 5 | spec: 6 | type: bindings.postgresql 7 | version: v1 8 | metadata: 9 | - name: connectionString 10 | value: "${{AzureDBPostgresConnectionString}}" 11 | - name: azureClientId 12 | value: "${{AzureDBPostgresClientId}}" 13 | - name: azureClientSecret 14 | value: "${{AzureDBPostgresClientSecret}}" 15 | - name: azureTenantId 16 | value: "${{AzureDBPostgresTenantId}}" 17 | - name: useAzureAD 18 | value: "true" -------------------------------------------------------------------------------- /tests/config/bindings/postgresql/docker/bindings.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: postgres-binding 5 | spec: 6 | type: bindings.postgresql 7 | version: v1 8 | metadata: 9 | # "url" is the old name for "connectionString" and is kept here to test for backwards-compatibility 10 | - name: url 11 | value: "host=localhost user=postgres password=example port=5432 connect_timeout=10 database=dapr_test" 12 | -------------------------------------------------------------------------------- /tests/config/bindings/rabbitmq/bindings.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: binding-topic 5 | namespace: default 6 | spec: 7 | type: bindings.rabbitmq 8 | version: v1 9 | metadata: 10 | - name: queueName 11 | value: queue1 12 | - name: host 13 | value: "amqp://localhost:5672" 14 | - name: durable 15 | value: true 16 | - name: deleteWhenUnused 17 | value: false 18 | - name: ttlInSeconds 19 | value: 60 20 | - name: prefetchCount 21 | value: 0 22 | - name: exclusive 23 | value: false 24 | - name: maxPriority 25 | value: 5 26 | - name: contentType 27 | value: "text/plain" -------------------------------------------------------------------------------- /tests/config/bindings/redis/v6/bindings.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: redis-binding 5 | namespace: default 6 | spec: 7 | type: bindings.redis 8 | version: v1 9 | metadata: 10 | - name: redisHost 11 | value: localhost:6379 12 | - name: redisPassword 13 | value: 14 | - name: enableTLS 15 | value: false -------------------------------------------------------------------------------- /tests/config/bindings/redis/v7/bindings.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: redis-binding 5 | namespace: default 6 | spec: 7 | type: bindings.redis 8 | version: v1 9 | metadata: 10 | - name: redisHost 11 | value: localhost:6380 12 | - name: redisPassword 13 | value: 14 | - name: enableTLS 15 | value: false 16 | -------------------------------------------------------------------------------- /tests/config/configuration/postgresql/azure/configstore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: configstore 5 | spec: 6 | type: configuration.postgresql 7 | version: v1 8 | metadata: 9 | - name: connectionString 10 | value: "${{AzureDBPostgresConnectionString}}" 11 | - name: azureClientId 12 | value: "${{AzureDBPostgresClientId}}" 13 | - name: azureClientSecret 14 | value: "${{AzureDBPostgresClientSecret}}" 15 | - name: azureTenantId 16 | value: "${{AzureDBPostgresTenantId}}" 17 | - name: useAzureAD 18 | value: "true" 19 | - name: table 20 | value: configtable -------------------------------------------------------------------------------- /tests/config/configuration/postgresql/docker/configstore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: configstore 5 | spec: 6 | type: configuration.postgresql 7 | version: v1 8 | metadata: 9 | - name: connectionString 10 | value: "host=localhost user=postgres password=example port=5432 connect_timeout=10 database=dapr_test" 11 | - name: table 12 | value: configtable -------------------------------------------------------------------------------- /tests/config/configuration/redis/v6/configstore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: configstore 5 | spec: 6 | type: configuration.redis 7 | version: v1 8 | metadata: 9 | - name: redisHost 10 | value: localhost:6379 11 | - name: redisPassword 12 | value: "" -------------------------------------------------------------------------------- /tests/config/configuration/redis/v7/configstore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: configstore 5 | spec: 6 | type: configuration.redis 7 | version: v1 8 | metadata: 9 | - name: redisHost 10 | value: localhost:6380 11 | - name: redisPassword 12 | value: "" -------------------------------------------------------------------------------- /tests/config/configuration/tests.yml: -------------------------------------------------------------------------------- 1 | # Supported additional operation: (none) 2 | componentType: configuration 3 | components: 4 | - component: redis.v6 5 | operations: [] 6 | - component: redis.v7 7 | operations: [] 8 | - component: postgresql.azure 9 | operations: [] 10 | - component: postgresql.docker 11 | operations: [] 12 | -------------------------------------------------------------------------------- /tests/config/crypto/azure/keyvault/azure-keyvault.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: azurekeyvault 5 | spec: 6 | type: crypto.azure.keyvault 7 | metadata: 8 | - name: vaultName 9 | value: ${{AzureKeyVaultName}} 10 | - name: azureTenantId 11 | value: ${{AzureKeyVaultTenantId}} 12 | - name: azureClientId 13 | value: ${{AzureKeyVaultServicePrincipalClientId}} 14 | - name: azureClientSecret 15 | value: ${{AzureKeyVaultServicePrincipalClientSecret}} 16 | -------------------------------------------------------------------------------- /tests/config/crypto/jwks/jwks.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: jwks 5 | spec: 6 | type: crypto.jwks 7 | version: v1 8 | metadata: 9 | - name: jwks 10 | value: fixtures/crypto/jwks/jwks.json 11 | -------------------------------------------------------------------------------- /tests/config/crypto/localstorage/localstorage.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: mycrypto 5 | namespace: default 6 | spec: 7 | type: crypto.localstorage 8 | metadata: 9 | - name: path 10 | value: fixtures/crypto/localstorage/ 11 | -------------------------------------------------------------------------------- /tests/config/kind-data.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: conftestsecret 5 | type: Opaque 6 | stringData: 7 | conftestsecret: abcd 8 | --- 9 | apiVersion: v1 10 | kind: Secret 11 | metadata: 12 | name: secondsecret 13 | type: Opaque 14 | stringData: 15 | secondsecret: efgh 16 | -------------------------------------------------------------------------------- /tests/config/lock/redis/v6/statestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: lockstore 5 | spec: 6 | type: lock.redis 7 | version: v1 8 | metadata: 9 | - name: redisHost 10 | value: localhost:6379 11 | - name: redisPassword 12 | value: "" 13 | -------------------------------------------------------------------------------- /tests/config/lock/redis/v7/statestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: lockstore 5 | spec: 6 | type: lock.redis 7 | version: v1 8 | metadata: 9 | - name: redisHost 10 | value: localhost:6380 11 | - name: redisPassword 12 | value: "" 13 | -------------------------------------------------------------------------------- /tests/config/lock/tests.yml: -------------------------------------------------------------------------------- 1 | # Supported additional operations: (none) 2 | componentType: lock 3 | components: 4 | - component: redis.v6 5 | operations: [] 6 | - component: redis.v7 7 | operations: [] 8 | -------------------------------------------------------------------------------- /tests/config/pubsub/azure/servicebus/queues/pubsub.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: azure-servicebus 5 | spec: 6 | type: pubsub.azure.servicebus.queues 7 | version: v1 8 | metadata: 9 | - name: connectionString 10 | value: ${{AzureServiceBusConnectionString}} 11 | -------------------------------------------------------------------------------- /tests/config/pubsub/azure/servicebus/topics/pubsub.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: azure-servicebus 5 | spec: 6 | type: pubsub.azure.servicebus.topics 7 | version: v1 8 | metadata: 9 | - name: connectionString 10 | value: ${{AzureServiceBusConnectionString}} 11 | - name: consumerID 12 | value: "testConsumer" -------------------------------------------------------------------------------- /tests/config/pubsub/gcp/pubsub/docker/pubsub.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: gcp-pubsub 5 | spec: 6 | type: pubsub.gcp.pubsub 7 | version: v1 8 | metadata: 9 | - name: projectId 10 | value: "conformance-test-prj" 11 | - name: consumerID 12 | value: "conformanceTestConsumer" 13 | - name: endpoint 14 | value: "localhost:8085" -------------------------------------------------------------------------------- /tests/config/pubsub/gcp/pubsub/terraform/pubsub.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: gcp-pubsub 5 | spec: 6 | type: pubsub.gcp.pubsub 7 | version: v1 8 | metadata: 9 | - name: projectId 10 | value: ${{GCP_PROJECT_ID}} 11 | - name: consumerID 12 | value: "conformanceTestConsumer" 13 | - name: disableEntityManagement 14 | value: "false" 15 | - name: enableMessageOrdering 16 | value: "false" 17 | - name: maxReconnectionAttempts 18 | value: 30 19 | - name: connectionRecoveryInSec 20 | value: 2 -------------------------------------------------------------------------------- /tests/config/pubsub/in-memory/pubsub.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: pubsub 5 | namespace: default 6 | spec: 7 | type: pubsub.in-memory 8 | version: v1 9 | -------------------------------------------------------------------------------- /tests/config/pubsub/jetstream/pubsub.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: pubsub 5 | spec: 6 | type: pubsub.jetstream 7 | version: v1 8 | metadata: 9 | - name: natsURL 10 | value: "nats://localhost:4222" 11 | - name: name 12 | value: config-test 13 | - name: flowControl 14 | value: true 15 | - name: heartbeat 16 | value: 5s 17 | -------------------------------------------------------------------------------- /tests/config/pubsub/kafka/confluent/pubsub.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: pubsub-confluent 5 | spec: 6 | type: pubsub.kafka 7 | version: v1 8 | metadata: 9 | - name: brokers 10 | value: localhost:9095 11 | - name: consumerGroup 12 | value: pubsubgroup1 13 | - name: authRequired 14 | value: "false" 15 | - name: initialOffset 16 | value: oldest -------------------------------------------------------------------------------- /tests/config/pubsub/kafka/wurstmeister/pubsub.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: pubsub 5 | spec: 6 | type: pubsub.kafka 7 | version: v1 8 | metadata: 9 | - name: brokers 10 | value: localhost:9092 11 | - name: consumerGroup 12 | value: pubsubgroup1 13 | - name: authRequired 14 | value: "false" 15 | - name: initialOffset 16 | value: oldest -------------------------------------------------------------------------------- /tests/config/pubsub/kubemq/pubsub.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: messages 5 | spec: 6 | type: pubsub.kubemq 7 | version: v1 8 | metadata: 9 | - name: address 10 | value: localhost:50000 11 | - name: store 12 | value: false 13 | -------------------------------------------------------------------------------- /tests/config/pubsub/mqtt3/emqx/pubsub.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: pubsub 5 | spec: 6 | type: pubsub.mqtt3 7 | version: v1 8 | metadata: 9 | - name: url 10 | value: "tcp://localhost:1884" 11 | - name: consumerID 12 | value: "testConsumer" 13 | - name: retain 14 | value: false 15 | - name: qos 16 | value: 1 17 | - name: cleanSession 18 | value: false 19 | -------------------------------------------------------------------------------- /tests/config/pubsub/mqtt3/vernemq/pubsub.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: pubsub 5 | spec: 6 | type: pubsub.mqtt3 7 | version: v1 8 | metadata: 9 | - name: url 10 | value: "tcp://localhost:1885" 11 | - name: consumerID 12 | value: "testConsumer" 13 | - name: retain 14 | value: false 15 | - name: qos 16 | value: 1 17 | - name: cleanSession 18 | value: false 19 | -------------------------------------------------------------------------------- /tests/config/pubsub/natsstreaming/pubsub.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: pubsub 5 | spec: 6 | type: pubsub.natsstreaming 7 | version: v1 8 | metadata: 9 | - name: natsURL 10 | value: "nats://localhost:4222" 11 | - name: natsStreamingClusterID 12 | value: "test-cluster" 13 | - name: subscriptionType 14 | value: topic 15 | - name: consumerID 16 | value: myConsumerID 17 | - name: ackWaitTime 18 | value: 10s 19 | - name: maxInFlight 20 | value: 1 -------------------------------------------------------------------------------- /tests/config/pubsub/pulsar/pubsub.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: pubsub 5 | spec: 6 | type: pubsub.pulsar 7 | version: v1 8 | metadata: 9 | - name: host 10 | value: "localhost:6650" 11 | - name: consumerID 12 | value: myConsumerID 13 | - name: redeliveryDelay 14 | value: 200ms -------------------------------------------------------------------------------- /tests/config/pubsub/redis/v6/pubsub.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: pubsub 5 | spec: 6 | type: pubsub.redis 7 | version: v1 8 | metadata: 9 | - name: redisHost 10 | value: localhost:6379 11 | - name: redisPassword 12 | value: "" 13 | - name: consumerID 14 | value: "testConsumer" 15 | - name: processingTimeout 16 | value: 5s 17 | - name: redeliverInterval 18 | value: 1s 19 | - name: concurrency 20 | value: 1 -------------------------------------------------------------------------------- /tests/config/pubsub/redis/v7/pubsub.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: pubsub 5 | spec: 6 | type: pubsub.redis 7 | version: v1 8 | metadata: 9 | - name: redisHost 10 | value: localhost:6380 11 | - name: redisPassword 12 | value: "" 13 | - name: consumerID 14 | value: "testConsumer" 15 | - name: processingTimeout 16 | value: 5s 17 | - name: redeliverInterval 18 | value: 1s 19 | - name: concurrency 20 | value: 1 21 | -------------------------------------------------------------------------------- /tests/config/pubsub/solace/amqp/pubsub.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | spec: 4 | type: pubsub.solace.amqp 5 | version: v1 6 | metadata: 7 | - name: url 8 | value: 'amqp://localhost:5672' 9 | - name: anonymous 10 | value: true 11 | -------------------------------------------------------------------------------- /tests/config/secretstores/azure/keyvault/certificate/azure-keyvault.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: azurekeyvault 5 | spec: 6 | type: secretstores.azure.keyvault 7 | metadata: 8 | - name: vaultName 9 | value: ${{AzureKeyVaultName}} 10 | - name: spnTenantId 11 | value: ${{AzureKeyVaultTenantId}} 12 | - name: spnClientId 13 | value: ${{AzureKeyVaultClientId}} 14 | - name: spnCertificateFile 15 | value : ${{AzureKeyVaultCert}} 16 | -------------------------------------------------------------------------------- /tests/config/secretstores/azure/keyvault/serviceprincipal/azure-keyvault-service-principal.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: azurekeyvault-service-principal 5 | spec: 6 | type: secretstores.azure.keyvault 7 | metadata: 8 | - name: vaultName 9 | value: ${{AzureKeyVaultName}} 10 | - name: azureTenantId 11 | value: ${{AzureKeyVaultTenantId}} 12 | - name: azureClientId 13 | value: ${{AzureKeyVaultServicePrincipalClientId}} 14 | - name: azureClientSecret 15 | value: ${{AzureKeyVaultServicePrincipalClientSecret}} 16 | -------------------------------------------------------------------------------- /tests/config/secretstores/hashicorp/vault/hashicorp-vault.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: valut 5 | namespace: default 6 | spec: 7 | type: secretstores.hashicorp.vault 8 | version: v1 9 | metadata: 10 | - name: vaultAddr 11 | value: "http://127.0.0.1:8200" 12 | - name: vaultToken # Matches docker compose VAULT_DEV_ROOT_TOKEN_ID env. var. 13 | value: "vault-dev-root-token-id" 14 | -------------------------------------------------------------------------------- /tests/config/secretstores/kubernetes/kubernetes-secrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: kubernetes 5 | spec: 6 | type: secretstores.kubernetes 7 | metadata: 8 | - name: namespace 9 | value: default 10 | -------------------------------------------------------------------------------- /tests/config/secretstores/local/env/env.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: localsecretstore 5 | namespace: default 6 | spec: 7 | type: secretstores.local.env -------------------------------------------------------------------------------- /tests/config/secretstores/local/file/file.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: localsecretstore 5 | namespace: default 6 | spec: 7 | type: secretstores.local.file 8 | metadata: 9 | - name: secretsFile 10 | value: fixtures/secretstores/localfile/secrets.json 11 | - name: nestedSeparator 12 | value: ":" 13 | -------------------------------------------------------------------------------- /tests/config/secretstores/tests.yml: -------------------------------------------------------------------------------- 1 | # Supported additional operations: (none) 2 | componentType: secretstores 3 | components: 4 | - component: local.env 5 | operations: [] 6 | - component: local.file 7 | operations: [] 8 | - component: azure.keyvault.certificate 9 | operations: [] 10 | - component: azure.keyvault.serviceprincipal 11 | operations: [] 12 | - component: kubernetes 13 | operations: [] 14 | - component: hashicorp.vault 15 | operations: [] 16 | 17 | -------------------------------------------------------------------------------- /tests/config/state/aws/dynamodb/docker/statestore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.aws.dynamodb 7 | version: v1 8 | metadata: 9 | - name: endpoint 10 | value: "http://localhost:4566" 11 | - name: accessKey 12 | value: "my-access" 13 | - name: secretKey 14 | value: "my-secret" 15 | - name: region 16 | value: "us-east-1" 17 | - name: table 18 | value: "conformance-test-docker" -------------------------------------------------------------------------------- /tests/config/state/aws/dynamodb/terraform/statestore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.aws.dynamodb 7 | version: v1 8 | metadata: 9 | - name: accessKey 10 | value: ${{AWS_ACCESS_KEY_ID}} 11 | - name: secretKey 12 | value: ${{AWS_SECRET_ACCESS_KEY}} 13 | - name: region 14 | value: "us-east-1" 15 | - name: table 16 | value: ${{STATE_AWS_DYNAMODB_TABLE_1}} 17 | - name: ttlAttributeName 18 | value: "expiresAt" -------------------------------------------------------------------------------- /tests/config/state/azure/blobstorage/statestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.azure.blobstorage 7 | metadata: 8 | - name: accountName 9 | value: ${{AzureBlobStorageAccount}} 10 | - name: accountKey 11 | value: ${{AzureBlobStorageAccessKey}} 12 | - name: containerName 13 | value: statestore-conf 14 | -------------------------------------------------------------------------------- /tests/config/state/azure/cosmosdb/statestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.azure.cosmosdb 7 | version: v1 8 | metadata: 9 | - name: url 10 | value: ${{AzureCosmosDBUrl}} 11 | - name: masterKey 12 | value: ${{AzureCosmosDBMasterKey}} 13 | - name: database 14 | value: ${{AzureCosmosDB}} 15 | - name: collection 16 | value: ${{AzureCosmosDBCollection}} 17 | -------------------------------------------------------------------------------- /tests/config/state/azure/sql/statestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.sqlserver 7 | metadata: 8 | - name: connectionString 9 | value: ${{AzureSqlServerConnectionString}} 10 | - name: databaseName 11 | value: ${{AzureSqlServerDbName}} 12 | - name: tableName 13 | value: dapr_conf_test 14 | - name: keyType 15 | value: string 16 | - name: keyLength 17 | value: 120 18 | - name: schema 19 | value: proto 20 | -------------------------------------------------------------------------------- /tests/config/state/azure/tablestorage/cosmosdb/statestore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.azure.tablestorage 7 | version: v1 8 | metadata: 9 | - name: accountName 10 | value: ${{AzureCosmosDBTableAPI}} 11 | - name: accountKey 12 | value: ${{AzureCosmosDBTableAPIMasterKey}} 13 | - name: tableName 14 | value: TestTable 15 | - name: cosmosDbMode 16 | value: "true" 17 | -------------------------------------------------------------------------------- /tests/config/state/azure/tablestorage/storage/statestore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.azure.tablestorage 7 | version: v1 8 | metadata: 9 | - name: accountName 10 | value: ${{AzureBlobStorageAccount}} 11 | - name: accountKey 12 | value: ${{AzureBlobStorageAccessKey}} 13 | - name: tableName 14 | value: TestTable 15 | -------------------------------------------------------------------------------- /tests/config/state/cassandra/statestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.cassandra 7 | version: v1 8 | metadata: 9 | - name: hosts 10 | value: localhost 11 | - name: username 12 | value: cassandra 13 | - name: password 14 | value: cassandra -------------------------------------------------------------------------------- /tests/config/state/cloudflare/workerskv/statestore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.cloudflare.workerskv 7 | version: v1 8 | metadata: 9 | - name: workerName 10 | value: ${{CloudflareWorkerName}} 11 | - name: kvNamespaceID 12 | value: ${{CloudflareKVNamespaceID}} 13 | - name: cfAPIToken 14 | value: ${{CloudflareAPIToken}} 15 | - name: cfAccountID 16 | value: ${{CloudflareAccountID}} 17 | # Randomly-generated private key 18 | - name: key 19 | value: $((ed25519PrivateKey)) 20 | -------------------------------------------------------------------------------- /tests/config/state/cockroachdb/statestore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.cockroachdb 7 | metadata: 8 | - name: connectionString 9 | value: "host=localhost user=root port=26257 connect_timeout=10 database=dapr_test" 10 | - name: actorStateStore 11 | value: "true" 12 | -------------------------------------------------------------------------------- /tests/config/state/etcd/v1/statestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.etcd 7 | version: v1 8 | metadata: 9 | - name: endpoints 10 | value: "localhost:12379" 11 | - name: keyPrefixPath 12 | value: "dapr" 13 | - name: tlsEnable 14 | value: "false" 15 | -------------------------------------------------------------------------------- /tests/config/state/etcd/v2/statestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.etcd 7 | version: v2 8 | metadata: 9 | - name: endpoints 10 | value: "localhost:12379" 11 | - name: keyPrefixPath 12 | value: "dapr" 13 | - name: tlsEnable 14 | value: "false" 15 | -------------------------------------------------------------------------------- /tests/config/state/gcp/firestore/cloud/statestore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.gcp.firestore 7 | version: v1 8 | metadata: 9 | - name: project_id 10 | value: ${{GCP_PROJECT_ID}} 11 | - name: entity_kind 12 | value: "ConformanceTestEntity" 13 | - name: noindex 14 | value: "false" -------------------------------------------------------------------------------- /tests/config/state/gcp/firestore/docker/statestore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.gcp.firestore 7 | version: v1 8 | metadata: 9 | - name: project_id 10 | value: "conf-test-project" 11 | - name: endpoint 12 | value: "localhost:8432" 13 | - name: entity_kind 14 | value: "ConformanceTestEntity" 15 | - name: noindex 16 | value: "false" -------------------------------------------------------------------------------- /tests/config/state/in-memory/statestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.in-memory 7 | version: v1 8 | metadata: [] -------------------------------------------------------------------------------- /tests/config/state/memcached/statestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.memcached 7 | version: v1 8 | metadata: 9 | - name: hosts 10 | value: "localhost:11211" 11 | -------------------------------------------------------------------------------- /tests/config/state/mongodb/statestore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.mongodb 7 | metadata: 8 | - name: host 9 | value: localhost:27017 10 | - name: params 11 | value: replicaSet=test-rs 12 | -------------------------------------------------------------------------------- /tests/config/state/mysql/mariadb/statestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.mysql 7 | version: v1 8 | metadata: 9 | - name: connectionString 10 | value: "dapr:example@tcp(localhost:3306)/" 11 | -------------------------------------------------------------------------------- /tests/config/state/mysql/mysql/statestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.mysql 7 | version: v1 8 | metadata: 9 | - name: connectionString 10 | value: "dapr:example@tcp(localhost:3306)/?allowNativePasswords=true" 11 | -------------------------------------------------------------------------------- /tests/config/state/oracledatabase/statestore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.oracledatabase 7 | version: v1 8 | metadata: 9 | - name: connectionString 10 | value: "oracle://system:daprdev@localhost:1521/xe" 11 | -------------------------------------------------------------------------------- /tests/config/state/postgresql/azure/statestore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.postgresql 7 | version: v1 8 | metadata: 9 | - name: connectionString 10 | value: "${{AzureDBPostgresConnectionString}}" 11 | - name: azureClientId 12 | value: "${{AzureDBPostgresClientId}}" 13 | - name: azureClientSecret 14 | value: "${{AzureDBPostgresClientSecret}}" 15 | - name: azureTenantId 16 | value: "${{AzureDBPostgresTenantId}}" 17 | - name: useAzureAD 18 | value: "true" -------------------------------------------------------------------------------- /tests/config/state/postgresql/docker/statestore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.postgresql 7 | metadata: 8 | - name: connectionString 9 | value: "host=localhost user=postgres password=example port=5432 connect_timeout=10 database=dapr_test" 10 | - name: actorStateStore 11 | value: "true" 12 | -------------------------------------------------------------------------------- /tests/config/state/redis/v6/statestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.redis 7 | metadata: 8 | - name: redisHost 9 | value: localhost:6379 10 | - name: redisPassword 11 | value: "" 12 | - name: queryIndexes 13 | value: | 14 | [ 15 | { 16 | "name": "qIndx", 17 | "indexes": [ 18 | { 19 | "key": "message", 20 | "type": "TEXT" 21 | } 22 | ] 23 | } 24 | ] 25 | -------------------------------------------------------------------------------- /tests/config/state/redis/v7/statestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.redis 7 | metadata: 8 | - name: redisHost 9 | value: localhost:6380 10 | - name: redisPassword 11 | value: "" 12 | -------------------------------------------------------------------------------- /tests/config/state/rethinkdb/statestore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.rethinkdb 7 | version: v1 8 | metadata: 9 | - name: address 10 | value: 127.0.0.1:28015 11 | - name: database 12 | value: test 13 | -------------------------------------------------------------------------------- /tests/config/state/sqlite/statestore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.sqlite 7 | metadata: 8 | # For these tests, use an in-memory database 9 | - name: connectionString 10 | value: ":memory:" 11 | -------------------------------------------------------------------------------- /tests/config/state/sqlserver/statestore.yml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: statestore 5 | spec: 6 | type: state.sqlserver 7 | metadata: 8 | - name: connectionString 9 | value: "server=localhost;user id=sa;password=Pass@Word1;port=1433;" 10 | - name: tableName 11 | value: mytable 12 | -------------------------------------------------------------------------------- /tests/config/workflows/temporal/workflows.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: temporal 5 | spec: 6 | type: workflows.temporal 7 | version: v1 8 | metadata: 9 | - name: Identity 10 | value: TemporalTestClient 11 | - name: HostPort 12 | value: localhost:7233 13 | -------------------------------------------------------------------------------- /tests/config/workflows/tests.yml: -------------------------------------------------------------------------------- 1 | # Supported additional operations: (none) 2 | componentType: workflows 3 | components: 4 | - component: temporal 5 | operations: [] -------------------------------------------------------------------------------- /tests/conformance/fixtures/crypto/localstorage/ed25519-private.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MC4CAQAwBQYDK2VwBCIEIFnPHZMGmIQ4W8kx53JzZEDPVmTQwdI7uM5hxDzWIIbU 3 | -----END PRIVATE KEY----- 4 | -------------------------------------------------------------------------------- /tests/conformance/fixtures/crypto/localstorage/ed25519-public.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MCowBQYDK2VwAyEAzSjVm3Fj1chMFGcRoE/e6ft9xvAs3x1CVn6PVS+x1e8= 3 | -----END PUBLIC KEY----- 4 | -------------------------------------------------------------------------------- /tests/conformance/fixtures/crypto/localstorage/p256-private.json: -------------------------------------------------------------------------------- 1 | { 2 | "kid": "p256-private", 3 | "kty": "EC", 4 | "alg": "ES256", 5 | "crv": "P-256", 6 | "d": "5wV7hDpqt1L3uaXa1Xj7X3ieaV9A-Hyj2Kv-qxpwSjM", 7 | "x": "UMn1c2ioMNi2DqvC8hdBVUERFZ97eVFsNVcQIgR0Hso", 8 | "y": "uT1a0P3UOLiObve2-pOMFx2BVzLz5rFtU-qmQBPWwd0" 9 | } 10 | -------------------------------------------------------------------------------- /tests/conformance/fixtures/crypto/localstorage/p256-public.json: -------------------------------------------------------------------------------- 1 | { 2 | "kid": "p256-public", 3 | "kty": "EC", 4 | "alg": "ES256", 5 | "crv": "P-256", 6 | "x": "UMn1c2ioMNi2DqvC8hdBVUERFZ97eVFsNVcQIgR0Hso", 7 | "y": "uT1a0P3UOLiObve2-pOMFx2BVzLz5rFtU-qmQBPWwd0" 8 | } 9 | -------------------------------------------------------------------------------- /tests/conformance/fixtures/crypto/localstorage/rsa-public.json: -------------------------------------------------------------------------------- 1 | { 2 | "kid": "rsa-public", 3 | "kty": "RSA", 4 | "alg": "RSA-OAEP", 5 | "e": "AQAB", 6 | "n": "3I2mdIK4mRRu-ywMrYjUZzBxt0NlAVLrMhGlaJsby7PWTMiLpZVip4SBD9GwnCU0TGFD7k2-7tfs0y9U6WV7MwgCjc9m_DUUGbE-kKjEU7JYkLzYlndys-6xuhD4Jf1hu9AZVdfXftpWSy_NNg6fVwTH4nckOAbOSL1hXToOYWQcDDW95Rhw3U4z04PqssEpRKn5KGBuTahNNNiZcWns99pChpLTxgdm93LjMBI1KCGBpOaz7fcQJ9V3c6rSwMKyY3IPm1LwS6PIs7xb2ZJ0Eb8A6MtCkGhgNsodpkxhqKbqtxI-KqTuZy9g4jb8WKjJq9lB9q-HPHoQqIEDom6P8w" 7 | } 8 | -------------------------------------------------------------------------------- /tests/conformance/fixtures/crypto/localstorage/symmetric-256.b64: -------------------------------------------------------------------------------- 1 | RjJPhQzsDB5dvjQZ+85l/D/SBXWCBFx7IVsesenVvts= -------------------------------------------------------------------------------- /tests/conformance/fixtures/secretstores/localfile/secrets.json: -------------------------------------------------------------------------------- 1 | { 2 | "conftestsecret": "abcd", 3 | "secondsecret": "efgh" 4 | } 5 | -------------------------------------------------------------------------------- /tests/e2e/pubsub/jetstream/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | version: "3.5" 2 | services: 3 | nats: 4 | image: nats 5 | command: "--config /config/server.conf" 6 | volumes: 7 | - ./nsc:/nsc 8 | - ./:/config 9 | - ./jwt:/jwt 10 | 11 | dev: 12 | image: golang:1.18 13 | network_mode: 14 | service:nats 15 | volumes: 16 | - ../../../../:/go/src/github.com/dapr/components-contrib:cached 17 | depends_on: 18 | - nats -------------------------------------------------------------------------------- /tests/e2e/pubsub/jetstream/nsc/loving_keller/.nsc: -------------------------------------------------------------------------------- 1 | {"managed":false,"name":"loving_keller","kind":"operator","version":"1"} -------------------------------------------------------------------------------- /tests/e2e/pubsub/jetstream/nsc/loving_keller/accounts/loving_keller/users/loving_keller.jwt: -------------------------------------------------------------------------------- 1 | eyJ0eXAiOiJKV1QiLCJhbGciOiJlZDI1NTE5LW5rZXkifQ.eyJqdGkiOiJWS1UySENWNUlBRzUzSkNQT0hRNllaTDJKSEZZVkJBVzJSQ1RMUUtBWTJLT0UySDZSSDdBIiwiaWF0IjoxNjQyNDkwNjU5LCJpc3MiOiJBRFU0UVVNV0RQMkJKVFBIWktFWkNLVkw3STNIQTRPR1dRUUNWMjJRVlBHSVNTV1Q0T1hRN0VOUyIsIm5hbWUiOiJsb3Zpbmdfa2VsbGVyIiwic3ViIjoiVUFUSkNBWFRCNUoyRVVWNDJCU0UzMkRBSEpKS01WTkZNNlNIUkZXWDVUWkVMWDZEU1hURVlXVTUiLCJuYXRzIjp7InB1YiI6e30sInN1YiI6e30sInN1YnMiOi0xLCJkYXRhIjotMSwicGF5bG9hZCI6LTEsInR5cGUiOiJ1c2VyIiwidmVyc2lvbiI6Mn19.7K5VA23V8bBipH4Vkzhg01_jaQVw6MWW9NgxUkiYBUaMLNHLZB4_DnuT2mBz9SrQwi8XohNoZeKI7WTTbQxxBg -------------------------------------------------------------------------------- /tests/e2e/pubsub/jetstream/nsc/nkeys/keys/A/C7/AC74BYHKUDS5KPH4L4YVCUECDT2HPT3D5ESZWQSCL3LTXZFHDTH6OVRW.nk: -------------------------------------------------------------------------------- 1 | SAAJMIGVNJEMDXHEFG4ZEEOAPF7D6O6MNZPXEKNTHIE4LYACZPARQE72LA -------------------------------------------------------------------------------- /tests/e2e/pubsub/jetstream/nsc/nkeys/keys/A/CG/ACGCWVYZ62I6RZDQ6UUSAD3ISLME2CEPGNZW3QZB7OJRA5UNK2DCOO3A.nk: -------------------------------------------------------------------------------- 1 | SAAPB7HK6ZMZ7XGLS6OECY3ZB24B3VR2ZMKEF5SQNUUVQSNJXZ4V5CLHMU -------------------------------------------------------------------------------- /tests/e2e/pubsub/jetstream/nsc/nkeys/keys/A/DU/ADU4QUMWDP2BJTPHZKEZCKVL7I3HA4OGWQQCV22QVPGISSWT4OXQ7ENS.nk: -------------------------------------------------------------------------------- 1 | SAADF5COLGE3HENQTI7RSXXDCQLTNL6GOYZYGFB5X56ILH4UNS7JTFWMDA -------------------------------------------------------------------------------- /tests/e2e/pubsub/jetstream/nsc/nkeys/keys/O/DR/ODRLRWXHFHMKFSAVFFZQT5IEPDZMNH53EJDFNHHC2S7DDR7GJNOGYQUV.nk: -------------------------------------------------------------------------------- 1 | SOAI4FAEB4F23C43A3TO7T3JANMOU4N6KLJOLTESY2OEGQIUHHKT2Q63AY -------------------------------------------------------------------------------- /tests/e2e/pubsub/jetstream/nsc/nkeys/keys/U/AT/UATJCAXTB5J2EUV42BSE32DAHJJKMVNFM6SHRFWX5TZELX6DSXTEYWU5.nk: -------------------------------------------------------------------------------- 1 | SUAJF7ALJKFPLKTA23BOP6CILVPH3SV4V7EGM7VFZ3KCFWHKPPI7HCCZKI -------------------------------------------------------------------------------- /tests/e2e/pubsub/jetstream/nsc/nkeys/keys/U/BM/UBM7XJGENUQKPAV6DOWR2ZX7W3FPPBUPOCBVQ756PQZQH6VUFF7NDSS5.nk: -------------------------------------------------------------------------------- 1 | SUAIGUGTLK7FZMRVYLGCROG3TTCZK64D2MZOYFGKH7WJRADFYOMTL3QQZU -------------------------------------------------------------------------------- /tests/state/query/q1.json: -------------------------------------------------------------------------------- 1 | { 2 | "page": { 3 | "limit": 2 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tests/state/query/q2-token.json: -------------------------------------------------------------------------------- 1 | { 2 | "filter": { 3 | "EQ": { 4 | "state": "CA" 5 | } 6 | }, 7 | "page": { 8 | "limit": 2, 9 | "token": "2" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tests/state/query/q2.json: -------------------------------------------------------------------------------- 1 | { 2 | "filter": { 3 | "EQ": { 4 | "state": "CA" 5 | } 6 | }, 7 | "page": { 8 | "limit": 2 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/state/query/q3.json: -------------------------------------------------------------------------------- 1 | { 2 | "filter": { 3 | "AND": [ 4 | { 5 | "EQ": { 6 | "person.org": "A" 7 | } 8 | }, 9 | { 10 | "IN": { 11 | "state": ["CA", "WA"] 12 | } 13 | } 14 | ] 15 | }, 16 | "sort": [ 17 | { 18 | "key": "state", 19 | "order": "DESC" 20 | }, 21 | { 22 | "key": "person.name" 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /tests/utils/configupdater/updater.go: -------------------------------------------------------------------------------- 1 | package configupdater 2 | 3 | import "github.com/dapr/components-contrib/configuration" 4 | 5 | type Updater interface { 6 | Init(props map[string]string) error 7 | AddKey(items map[string]*configuration.Item) error 8 | UpdateKey(items map[string]*configuration.Item) error 9 | DeleteKey(keys []string) error 10 | } 11 | -------------------------------------------------------------------------------- /workflows/README.md: -------------------------------------------------------------------------------- 1 | # Workflows 2 | 3 | A workflow is custom application logic that consists of a set of tasks and or state transitions. 4 | 5 | ## Implementing a new Workflow 6 | 7 | A compliant workflow needs to implement the `Workflow` interface included in the [`workflow.go`](workflow.go) file. 8 | 9 | ## Using Temporal 10 | 11 | When using temporal as the workflow, the task queue must be provided as an Option in the start request struct with the key: `task_queue` 12 | 13 | ## Associated Information 14 | 15 | The following link to the workflow proposal will provide more information on this feature area: https://github.com/dapr/dapr/issues/4576 -------------------------------------------------------------------------------- /workflows/responses.go: -------------------------------------------------------------------------------- 1 | package workflows 2 | 3 | import "time" 4 | 5 | type WorkflowState struct { 6 | InstanceID string `json:"instanceID"` 7 | WorkflowName string `json:"workflowName"` 8 | CreatedAt time.Time `json:"startedAt"` 9 | LastUpdatedAt time.Time `json:"lastUpdatedAt"` 10 | RuntimeStatus string `json:"runtimeStatus"` 11 | Properties map[string]string `json:"properties"` 12 | } 13 | 14 | type StartResponse struct { 15 | InstanceID string `json:"instanceID"` 16 | } 17 | 18 | type StateResponse struct { 19 | Workflow *WorkflowState `json:"workflow"` 20 | } 21 | --------------------------------------------------------------------------------