├── .codecov.yml ├── .devcontainer ├── devcontainer.json └── post-create.sh ├── .dockerignore ├── .gitattributes ├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug.yaml │ ├── config.yaml │ ├── engineering.yaml │ └── feature.yaml ├── actions │ ├── create-kind-cluster │ │ └── action.yaml │ ├── create-local-registry │ │ └── action.yaml │ ├── download-pr-data-artifact │ │ └── action.yaml │ ├── install-gitea │ │ ├── action.yaml │ │ ├── gitea-config.yaml │ │ └── install-gitea.sh │ ├── process-test-results │ │ └── action.yaml │ └── save-pr-as-artifact │ │ └── action.yaml ├── dependabot.yml ├── pull_request_template.md ├── release.yml ├── runners │ ├── README.md │ └── runner-deployment.yaml ├── scripts │ ├── cleanup-long-running-cluster.sh │ ├── curl-with-retries.sh │ ├── delete-aws-resources.sh │ ├── get_release_version.py │ ├── publish-recipes.sh │ ├── publish-test-terraform-recipes.py │ ├── radius-bot.js │ ├── release-create-tag-and-branch.sh │ ├── release-get-version.sh │ ├── release-verification.sh │ ├── transform_test_results.py │ └── validate_semver.py ├── triage-bot │ └── triage-bot-config.yaml └── workflows │ ├── build.yaml │ ├── close-stale-prs.yml │ ├── devcontainer-feature-release.yaml │ ├── devcontainer-feature-test.yaml │ ├── devops-boards.yaml │ ├── functional-test-cloud.yaml │ ├── functional-test-noncloud.yaml │ ├── functional-tests-approval.yaml │ ├── lint.yaml │ ├── long-running-azure.yaml │ ├── publish-docs.yaml │ ├── purge-artifacts.yaml │ ├── purge-aws-test-resources.yaml │ ├── purge-azure-test-resources.yaml │ ├── purge-old-images.yaml │ ├── radius-bot.yaml │ ├── release-verification.yaml │ ├── release.yaml │ ├── require-pr-checklist.yaml │ ├── scorecard.yaml │ ├── test.yaml │ ├── triage-bot.yaml │ ├── validate-bicep.yaml │ ├── validate-devcontainer-feature.yaml │ └── validate-installers.yaml ├── .gitignore ├── .gitmodules ├── .golangci.yml ├── .prettierignore ├── .vscode ├── README.md ├── launch.json └── tasks.json ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── GOVERNANCE.md ├── LICENSE ├── Makefile ├── README.md ├── SECURITY.md ├── SUPPORT.md ├── THIRD-PARTY-NOTICES.txt ├── bicepconfig.json ├── boilerplate.go.txt ├── build ├── build.mk ├── db.mk ├── debug.mk ├── docker.mk ├── generate.mk ├── help.mk ├── install-bicep.sh ├── install.mk ├── prettier.mk ├── recipes.mk ├── test.mk ├── util.mk ├── validate-bicep.sh └── version.mk ├── cmd ├── applications-rp │ ├── applications-rp-dev.yaml │ ├── cmd │ │ └── root.go │ └── main.go ├── controller │ ├── cmd │ │ └── root.go │ ├── controller-dev.yaml │ └── main.go ├── docgen │ └── main.go ├── dynamic-rp │ ├── cmd │ │ └── root.go │ ├── dynamicrp-dev.yaml │ └── main.go ├── rad │ ├── cmd │ │ ├── application.go │ │ ├── bicep.go │ │ ├── bicepDelete.go │ │ ├── bicepDownload.go │ │ ├── completion.go │ │ ├── debuglogs.go │ │ ├── env.go │ │ ├── recipe.go │ │ ├── resource.go │ │ ├── resourceExpose.go │ │ ├── resourceLogs.go │ │ ├── resourceprovider.go │ │ ├── resourcetype.go │ │ ├── root.go │ │ └── workspace.go │ └── main.go └── ucpd │ ├── cmd │ └── root.go │ ├── main.go │ └── ucp-dev.yaml ├── deploy ├── Chart │ ├── Chart.yaml │ ├── README.md │ ├── crds │ │ ├── radius │ │ │ ├── radapp.io_deploymentresources.yaml │ │ │ ├── radapp.io_deploymenttemplates.yaml │ │ │ └── radapp.io_recipes.yaml │ │ └── ucpd │ │ │ ├── ucp.dev_queuemessages.yaml │ │ │ └── ucp.dev_resources.yaml │ ├── templates │ │ ├── NOTES.txt │ │ ├── _helpers.tpl │ │ ├── controller │ │ │ ├── configmaps.yaml │ │ │ ├── deployment.yaml │ │ │ ├── rbac.yaml │ │ │ ├── service.yaml │ │ │ ├── serviceaccount.yaml │ │ │ └── validating-webhook-configuration.yaml │ │ ├── dashboard │ │ │ ├── deployment.yaml │ │ │ ├── rbac.yaml │ │ │ ├── service.yaml │ │ │ └── serviceaccount.yaml │ │ ├── database │ │ │ ├── configmaps.yaml │ │ │ ├── service.yaml │ │ │ ├── serviceaccount.yaml │ │ │ └── statefulset.yaml │ │ ├── de │ │ │ ├── configmaps.yaml │ │ │ ├── deployment.yaml │ │ │ ├── rbac.yaml │ │ │ ├── service.yaml │ │ │ └── serviceaccount.yaml │ │ ├── dynamic-rp │ │ │ ├── configmaps.yaml │ │ │ ├── deployment.yaml │ │ │ ├── rbac.yaml │ │ │ ├── service.yaml │ │ │ └── serviceaccount.yaml │ │ ├── global │ │ │ └── secret.yaml │ │ ├── rp │ │ │ ├── configmaps.yaml │ │ │ ├── deployment.yaml │ │ │ ├── rbac.yaml │ │ │ ├── service.yaml │ │ │ └── serviceaccount.yaml │ │ └── ucp │ │ │ ├── apiservice.yaml │ │ │ ├── configmaps.yaml │ │ │ ├── deployment.yaml │ │ │ ├── rbac.yaml │ │ │ ├── service.yaml │ │ │ └── serviceaccount.yaml │ └── values.yaml ├── devcontainer-feature │ ├── src │ │ └── radcli │ │ │ ├── README.md │ │ │ ├── devcontainer-feature.json │ │ │ └── install.sh │ └── test │ │ └── radcli │ │ ├── edge.sh │ │ ├── scenarios.json │ │ ├── test.sh │ │ └── version.sh ├── images │ ├── applications-rp │ │ ├── Dockerfile │ │ └── Dockerfile.mariner │ ├── bicep │ │ └── Dockerfile │ ├── controller │ │ └── Dockerfile │ ├── dynamic-rp │ │ ├── Dockerfile │ │ └── Dockerfile.mariner │ └── ucpd │ │ └── Dockerfile ├── init-db │ ├── db.sql.txt │ └── init-db.sh ├── install.ps1 ├── install.sh ├── manifest │ └── built-in-providers │ │ ├── dev │ │ ├── applications_core.yaml │ │ ├── applications_dapr.yaml │ │ ├── applications_datastores.yaml │ │ ├── applications_messaging.yaml │ │ └── microsoft_resources.yaml │ │ └── self-hosted │ │ ├── applications_core.yaml │ │ ├── applications_dapr.yaml │ │ ├── applications_datastores.yaml │ │ ├── applications_messaging.yaml │ │ └── microsoft_resources.yaml ├── monitoring │ ├── jaeger-allinall.yaml │ └── zipkin-mem.yaml ├── test-pwsh-install.ps1 └── tf-module-server │ └── resources.yaml ├── docs ├── README.md ├── contributing │ ├── contributing-code │ │ ├── contributing-code-building │ │ │ └── README.md │ │ ├── contributing-code-cli │ │ │ └── README.md │ │ ├── contributing-code-control-plane │ │ │ ├── README.md │ │ │ ├── configExamples │ │ │ │ ├── kubeConfig.png │ │ │ │ └── localConfig.png │ │ │ ├── configSettings.md │ │ │ ├── generating-and-installing-custom-build.md │ │ │ ├── logging.md │ │ │ ├── running-controlplane-locally.md │ │ │ └── troubleshooting-installation.md │ │ ├── contributing-code-first-commit │ │ │ ├── README.md │ │ │ ├── first-commit-00-prerequisites │ │ │ │ └── index.md │ │ │ ├── first-commit-01-development-tools │ │ │ │ └── index.md │ │ │ ├── first-commit-02-building │ │ │ │ └── index.md │ │ │ ├── first-commit-03-working-on-cli │ │ │ │ ├── index.md │ │ │ │ ├── main-after-change.png │ │ │ │ └── main-before-change.png │ │ │ ├── first-commit-04-debugging-cli │ │ │ │ ├── img │ │ │ │ │ ├── main-breakpoint-hit.png │ │ │ │ │ ├── main-with-breakpoint.png │ │ │ │ │ ├── version-breakpoint-hit.png │ │ │ │ │ ├── version-with-breakpoint.png │ │ │ │ │ ├── vscode-debug-config-selection-with-args.png │ │ │ │ │ ├── vscode-debug-config-selection.png │ │ │ │ │ ├── vscode-debug-pane.png │ │ │ │ │ ├── vscode-debug-prompt-cmd.png │ │ │ │ │ ├── vscode-debug-start-version-with-args.png │ │ │ │ │ └── vscode-debug-start.png │ │ │ │ └── index.md │ │ │ ├── first-commit-05-running-tests │ │ │ │ ├── index.md │ │ │ │ └── unittest-commands.png │ │ │ └── first-commit-06-creating-a-pr │ │ │ │ ├── index.md │ │ │ │ └── pr-checks.png │ │ ├── contributing-code-forks │ │ │ ├── compare.png │ │ │ ├── fork.png │ │ │ └── index.md │ │ ├── contributing-code-organization │ │ │ └── README.md │ │ ├── contributing-code-prerequisites │ │ │ ├── README.md │ │ │ └── img │ │ │ │ ├── vscode-cmd-palette-container.png │ │ │ │ ├── vscode-devcontainer-open-remote-button.png │ │ │ │ └── vscode-devcontainer-opening-process.png │ │ ├── contributing-code-reviewing │ │ │ └── README.md │ │ ├── contributing-code-schema-changes │ │ │ └── README.md │ │ ├── contributing-code-tests │ │ │ ├── README.md │ │ │ ├── running-functional-tests.md │ │ │ ├── testing-local.md │ │ │ ├── tests-images-pushtoghcr.md │ │ │ ├── tests-logging.md │ │ │ ├── tests-naming-conventions.md │ │ │ ├── vscode_debug_test.png │ │ │ └── writing-functional-tests.md │ │ └── contributing-code-writing │ │ │ └── README.md │ ├── contributing-issues │ │ └── README.md │ ├── contributing-pull-requests │ │ └── README.md │ ├── contributing-releases │ │ ├── README.md │ │ └── image.png │ ├── how-to.md │ └── triage │ │ ├── images │ │ ├── radius_triage.jpg │ │ └── triage_review.jpg │ │ └── triage-process.md ├── release-notes │ ├── README.md │ ├── template.md │ ├── template_patch.md │ ├── v0.22.0.md │ ├── v0.23.0.md │ ├── v0.24.0.md │ ├── v0.25.0.md │ ├── v0.26.0.md │ ├── v0.26.4.md │ ├── v0.26.5.md │ ├── v0.26.7.md │ ├── v0.26.8.md │ ├── v0.26.9.md │ ├── v0.27.0.md │ ├── v0.27.1.md │ ├── v0.28.0.md │ ├── v0.29.0.md │ ├── v0.30.0.md │ ├── v0.31.0.md │ ├── v0.32.0.md │ ├── v0.33.0.md │ ├── v0.34.0.md │ ├── v0.35.0.md │ ├── v0.36.0.md │ ├── v0.37.0.md │ ├── v0.38.0.md │ ├── v0.39.0.md │ ├── v0.40.0.md │ ├── v0.41.0.md │ ├── v0.42.0.md │ ├── v0.43.0.md │ ├── v0.44.0.md │ ├── v0.45.0.md │ ├── v0.46.0.md │ └── v0.47.0.md └── ucp │ ├── addressing_scheme.md │ ├── aws.md │ ├── call_flows.md │ ├── call_flows │ ├── aws.txt │ ├── cosmodb-deploy.txt │ ├── env-deploy.txt │ └── readme.md │ ├── code_walkthrough.md │ ├── configuration.md │ ├── developer_guide.md │ ├── images │ ├── aws.png │ ├── cosmodb-deploy.png │ ├── env-deploy.png │ ├── image-label.png │ └── overview.png │ ├── overview.md │ ├── readme.md │ └── resources.md ├── go.mod ├── go.sum ├── grafana ├── README.md ├── radius-overview-dashboard.json └── radius-resource-provider-dashboard.json ├── hack └── bicep-types-radius │ ├── generated │ ├── applications │ │ ├── applications.core │ │ │ └── 2023-10-01-preview │ │ │ │ └── types.json │ │ ├── applications.dapr │ │ │ └── 2023-10-01-preview │ │ │ │ └── types.json │ │ ├── applications.datastores │ │ │ └── 2023-10-01-preview │ │ │ │ └── types.json │ │ └── applications.messaging │ │ │ └── 2023-10-01-preview │ │ │ └── types.json │ └── index.json │ └── src │ ├── autorest.bicep │ ├── .eslintrc.js │ ├── .gitignore │ ├── .npmignore │ ├── .prettierignore │ ├── .prettierrc │ ├── README.md │ ├── jest.config.ts │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── main.ts │ │ ├── resources.ts │ │ ├── type-generator.ts │ │ ├── utils.ts │ │ └── writers │ │ │ └── markdown-table.ts │ ├── test │ │ └── integration │ │ │ ├── generated │ │ │ └── basic │ │ │ │ └── test.rp1 │ │ │ │ └── 2021-10-31 │ │ │ │ ├── docs │ │ │ │ └── testtype1.md │ │ │ │ ├── types.json │ │ │ │ └── types.md │ │ │ ├── integration.test.ts │ │ │ ├── specs │ │ │ ├── basic │ │ │ │ └── resource-manager │ │ │ │ │ ├── README.md │ │ │ │ │ └── Test.Rp1 │ │ │ │ │ └── stable │ │ │ │ │ └── 2021-10-31 │ │ │ │ │ └── spec.json │ │ │ └── common-types │ │ │ │ └── resource-management │ │ │ │ └── v3 │ │ │ │ └── types.json │ │ │ └── utils.ts │ └── tsconfig.json │ └── generator │ ├── .eslintrc.js │ ├── .gitignore │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── Bicep.TypeGen.Autorest │ │ └── packages.lock.json │ ├── cmd │ │ └── generate.ts │ ├── config.ts │ └── utils.ts │ └── tsconfig.json ├── pkg ├── algorithm │ └── graph │ │ ├── compute.go │ │ └── types.go ├── armrpc │ ├── api │ │ └── v1 │ │ │ ├── armrequestcontext.go │ │ │ ├── armrequestcontext_test.go │ │ │ ├── asyncoperationstatus.go │ │ │ ├── contexts.go │ │ │ ├── conv.go │ │ │ ├── doc.go │ │ │ ├── error.go │ │ │ ├── errorcodes.go │ │ │ ├── errorresponse.go │ │ │ ├── location.go │ │ │ ├── operations.go │ │ │ ├── paginatedlist.go │ │ │ ├── subscriptions.go │ │ │ ├── systemdata.go │ │ │ ├── testdata │ │ │ └── armrpcheaders.json │ │ │ ├── time_util.go │ │ │ ├── time_util_test.go │ │ │ ├── types.go │ │ │ └── types_test.go │ ├── asyncoperation │ │ ├── controller │ │ │ ├── controller.go │ │ │ ├── request.go │ │ │ ├── request_test.go │ │ │ └── result.go │ │ ├── statusmanager │ │ │ ├── mock_statusmanager.go │ │ │ ├── status.go │ │ │ ├── statusmanager.go │ │ │ └── statusmanager_test.go │ │ └── worker │ │ │ ├── registry.go │ │ │ ├── registry_test.go │ │ │ ├── service.go │ │ │ ├── worker.go │ │ │ ├── worker_runoperation_test.go │ │ │ └── worker_test.go │ ├── authentication │ │ ├── arm_cert_manager.go │ │ ├── arm_cert_store.go │ │ ├── certificate.go │ │ ├── certvalidator.go │ │ └── certvalidator_test.go │ ├── builder │ │ ├── builder.go │ │ ├── builder_test.go │ │ ├── namespace.go │ │ ├── namespace_test.go │ │ ├── node.go │ │ ├── node_test.go │ │ ├── operation.go │ │ ├── operation_test.go │ │ └── types.go │ ├── doc.go │ ├── frontend │ │ ├── controller │ │ │ ├── controller.go │ │ │ ├── controller_test.go │ │ │ ├── messages.go │ │ │ ├── operation.go │ │ │ ├── util.go │ │ │ └── util_test.go │ │ ├── defaultoperation │ │ │ ├── createorupdatesubscription.go │ │ │ ├── createorupdatesubscription_test.go │ │ │ ├── defaultasyncdelete.go │ │ │ ├── defaultasyncdelete_test.go │ │ │ ├── defaultasyncput.go │ │ │ ├── defaultasyncput_test.go │ │ │ ├── defaultsyncdelete.go │ │ │ ├── defaultsyncdelete_test.go │ │ │ ├── defaultsyncput.go │ │ │ ├── defaultsyncput_test.go │ │ │ ├── getavailableoperations.go │ │ │ ├── getoperationresult.go │ │ │ ├── getoperationresult_test.go │ │ │ ├── getoperationstatus.go │ │ │ ├── getoperationstatus_test.go │ │ │ ├── getresource.go │ │ │ ├── getresource_test.go │ │ │ ├── listresources.go │ │ │ ├── listresources_test.go │ │ │ ├── resource_test.go │ │ │ └── testdata │ │ │ │ ├── armsubscriptionheaders.json │ │ │ │ ├── operationresult_requestheaders.json │ │ │ │ ├── operationresult_responseheaders.json │ │ │ │ ├── operationstatus_datamodel.json │ │ │ │ ├── operationstatus_output.json │ │ │ │ ├── operationstatus_requestheaders.json │ │ │ │ ├── registeredsubscriptiontestdata.json │ │ │ │ ├── resource-datamodel.json │ │ │ │ ├── resource-request-invalidapp.json │ │ │ │ ├── resource-request.json │ │ │ │ ├── resource-response.json │ │ │ │ ├── resource-sync-datamodel.json │ │ │ │ ├── resource-sync-request-invalid.json │ │ │ │ ├── resource-sync-request.json │ │ │ │ ├── resource_planescope_requestheaders.json │ │ │ │ ├── resource_requestheaders.json │ │ │ │ └── unregisteredsubscriptiontestdata.json │ │ └── server │ │ │ ├── doc.go │ │ │ ├── handler.go │ │ │ ├── handler_test.go │ │ │ ├── server.go │ │ │ └── service.go │ ├── hostoptions │ │ ├── env.go │ │ ├── hostoptions.go │ │ ├── options.go │ │ └── providerconfig.go │ ├── rest │ │ ├── results.go │ │ └── results_test.go │ ├── rpctest │ │ ├── controllers.go │ │ ├── requests.go │ │ ├── routers.go │ │ └── testdatamodel.go │ └── servicecontext │ │ ├── middleware.go │ │ └── middleware_test.go ├── aws │ └── operations │ │ ├── operations.go │ │ └── operations_test.go ├── azure │ ├── armauth │ │ └── auth.go │ ├── azcli │ │ └── azcli.go │ ├── azresources │ │ ├── keys.go │ │ └── types.go │ ├── clientv2 │ │ ├── apiversion.go │ │ ├── clients.go │ │ ├── common.go │ │ ├── customaction.go │ │ ├── errors.go │ │ ├── errors_test.go │ │ ├── types.go │ │ ├── unfold.go │ │ └── unfold_test.go │ ├── credential │ │ ├── ucpcredentials.go │ │ └── ucpcredentials_test.go │ ├── roleassignment │ │ └── roleassignment.go │ └── tokencredentials │ │ └── anonymous.go ├── cli │ ├── aws │ │ ├── client.go │ │ ├── client_mock.go │ │ └── provider.go │ ├── azure │ │ ├── client.go │ │ ├── client_mock.go │ │ ├── profile.go │ │ ├── provider.go │ │ └── subscriptions.go │ ├── bicep │ │ ├── bicep.go │ │ ├── build.go │ │ ├── convert_test.go │ │ ├── deployment_parameters.go │ │ ├── deployment_parameters_test.go │ │ ├── doc.go │ │ ├── envinject.go │ │ ├── envinject_test.go │ │ ├── files.go │ │ ├── mock_bicep.go │ │ ├── parameters.go │ │ ├── parameters_test.go │ │ ├── testdata │ │ │ ├── test-extractparameters.json │ │ │ ├── test-injectappid.json │ │ │ ├── test-injectenvid.json │ │ │ ├── test-noenv.json │ │ │ └── test-parameters.json │ │ ├── tools │ │ │ ├── download_tools.go │ │ │ ├── download_tools_test.go │ │ │ ├── err.go │ │ │ └── util.go │ │ └── types.go │ ├── clients │ │ ├── clients.go │ │ ├── errors.go │ │ ├── errors_test.go │ │ ├── management.go │ │ ├── management_mocks.go │ │ ├── management_test.go │ │ ├── mock_applicationsclient.go │ │ ├── mock_diagnosticsclient.go │ │ ├── mock_management_wrapped_clients.go │ │ └── types.go │ ├── clients_new │ │ ├── README.md │ │ └── generated │ │ │ ├── zz_generated_constants.go │ │ │ ├── zz_generated_genericresources_client.go │ │ │ ├── zz_generated_models.go │ │ │ ├── zz_generated_models_serde.go │ │ │ ├── zz_generated_response_types.go │ │ │ └── zz_generated_time_rfc3339.go │ ├── clierrors │ │ ├── doc.go │ │ ├── errors.go │ │ └── types.go │ ├── clivalidation.go │ ├── clivalidation_test.go │ ├── cmd │ │ ├── README.md │ │ ├── app │ │ │ ├── delete │ │ │ │ ├── delete.go │ │ │ │ └── delete_test.go │ │ │ ├── graph │ │ │ │ ├── compute.go │ │ │ │ ├── compute_test.go │ │ │ │ ├── display.go │ │ │ │ ├── display_test.go │ │ │ │ ├── graph.go │ │ │ │ ├── graph_test.go │ │ │ │ └── shareddata_test.go │ │ │ ├── list │ │ │ │ ├── list.go │ │ │ │ └── list_test.go │ │ │ ├── show │ │ │ │ ├── show.go │ │ │ │ └── show_test.go │ │ │ └── status │ │ │ │ ├── objectformats.go │ │ │ │ ├── objectformats_test.go │ │ │ │ ├── status.go │ │ │ │ └── status_test.go │ │ ├── bicep │ │ │ ├── generatekubernetesmanifest │ │ │ │ ├── generatekubernetesmanifest.go │ │ │ │ ├── generatekubernetesmanifest_test.go │ │ │ │ └── testdata │ │ │ │ │ ├── deploymenttemplate │ │ │ │ │ ├── deploymenttemplate-parameters.json │ │ │ │ │ ├── deploymenttemplate.bicep │ │ │ │ │ ├── deploymenttemplate.json │ │ │ │ │ └── deploymenttemplate.yaml │ │ │ │ │ └── parameters.json │ │ │ ├── publish │ │ │ │ ├── publish.go │ │ │ │ └── publish_test.go │ │ │ └── publishextension │ │ │ │ ├── publish.go │ │ │ │ ├── publish_test.go │ │ │ │ └── testdata │ │ │ │ ├── invalid.yaml │ │ │ │ └── valid.yaml │ │ ├── commonflags │ │ │ └── flags.go │ │ ├── credential │ │ │ ├── common │ │ │ │ ├── doc.go │ │ │ │ └── validation.go │ │ │ ├── credential.go │ │ │ ├── list │ │ │ │ ├── list.go │ │ │ │ ├── list_test.go │ │ │ │ ├── objectformats.go │ │ │ │ └── objectformats_test.go │ │ │ ├── register │ │ │ │ ├── aws │ │ │ │ │ ├── accesskey │ │ │ │ │ │ ├── accesskey.go │ │ │ │ │ │ └── accesskey_test.go │ │ │ │ │ ├── aws.go │ │ │ │ │ └── irsa │ │ │ │ │ │ ├── irsa.go │ │ │ │ │ │ └── irsa_test.go │ │ │ │ ├── azure │ │ │ │ │ ├── azure.go │ │ │ │ │ ├── sp │ │ │ │ │ │ ├── serviceprincipal.go │ │ │ │ │ │ └── serviceprincipal_test.go │ │ │ │ │ └── wi │ │ │ │ │ │ ├── workloadidentity.go │ │ │ │ │ │ └── workloadidentity_test.go │ │ │ │ └── register.go │ │ │ ├── show │ │ │ │ ├── objectformats.go │ │ │ │ ├── objectformats_test.go │ │ │ │ ├── show.go │ │ │ │ └── show_test.go │ │ │ └── unregister │ │ │ │ ├── unregister.go │ │ │ │ └── unregister_test.go │ │ ├── deploy │ │ │ ├── deploy.go │ │ │ └── deploy_test.go │ │ ├── env │ │ │ ├── create │ │ │ │ ├── create.go │ │ │ │ └── create_test.go │ │ │ ├── delete │ │ │ │ ├── delete.go │ │ │ │ └── delete_test.go │ │ │ ├── envswitch │ │ │ │ ├── switch.go │ │ │ │ └── switch_test.go │ │ │ ├── list │ │ │ │ ├── list.go │ │ │ │ └── list_test.go │ │ │ ├── namespace │ │ │ │ ├── mock_namespace.go │ │ │ │ └── namespace.go │ │ │ ├── show │ │ │ │ ├── show.go │ │ │ │ └── show_test.go │ │ │ └── update │ │ │ │ ├── objectformats.go │ │ │ │ ├── objectformats_test.go │ │ │ │ ├── update.go │ │ │ │ └── update_test.go │ │ ├── group │ │ │ ├── common │ │ │ │ ├── objectformats.go │ │ │ │ ├── objectformats_test.go │ │ │ │ └── validation.go │ │ │ ├── create │ │ │ │ ├── create.go │ │ │ │ └── create_test.go │ │ │ ├── delete │ │ │ │ ├── delete.go │ │ │ │ └── delete_test.go │ │ │ ├── group.go │ │ │ ├── groupswitch │ │ │ │ ├── switch.go │ │ │ │ └── switch_test.go │ │ │ ├── list │ │ │ │ ├── list.go │ │ │ │ └── list_test.go │ │ │ └── show │ │ │ │ ├── show.go │ │ │ │ └── show_test.go │ │ ├── install │ │ │ ├── install.go │ │ │ └── kubernetes │ │ │ │ ├── kubernetes.go │ │ │ │ └── kubernetes_test.go │ │ ├── radinit │ │ │ ├── application.go │ │ │ ├── application_test.go │ │ │ ├── aws.go │ │ │ ├── aws_test.go │ │ │ ├── azure.go │ │ │ ├── azure_test.go │ │ │ ├── cloud.go │ │ │ ├── cloud_test.go │ │ │ ├── cluster.go │ │ │ ├── cluster_test.go │ │ │ ├── display.go │ │ │ ├── display_test.go │ │ │ ├── environment.go │ │ │ ├── environment_test.go │ │ │ ├── init.go │ │ │ ├── init_test.go │ │ │ ├── mock_devrecipeclient.go │ │ │ ├── options.go │ │ │ ├── options_test.go │ │ │ ├── recipe.go │ │ │ └── recipe_test.go │ │ ├── recipe │ │ │ ├── common │ │ │ │ ├── objectformats.go │ │ │ │ └── objectformats_test.go │ │ │ ├── list │ │ │ │ ├── list.go │ │ │ │ └── list_test.go │ │ │ ├── register │ │ │ │ ├── register.go │ │ │ │ ├── register_test.go │ │ │ │ └── testdata │ │ │ │ │ └── recipeparam.json │ │ │ ├── show │ │ │ │ ├── show.go │ │ │ │ └── show_test.go │ │ │ ├── types.go │ │ │ └── unregister │ │ │ │ ├── unregister.go │ │ │ │ └── unregister_test.go │ │ ├── resource │ │ │ ├── create │ │ │ │ ├── create.go │ │ │ │ └── create_test.go │ │ │ ├── delete │ │ │ │ ├── delete.go │ │ │ │ └── delete_test.go │ │ │ ├── list │ │ │ │ ├── list.go │ │ │ │ └── list_test.go │ │ │ └── show │ │ │ │ ├── show.go │ │ │ │ └── show_test.go │ │ ├── resourceprovider │ │ │ ├── common │ │ │ │ └── objectformat.go │ │ │ ├── create │ │ │ │ ├── create.go │ │ │ │ ├── create_test.go │ │ │ │ └── testdata │ │ │ │ │ ├── missing-required-field.yaml │ │ │ │ │ └── valid.yaml │ │ │ ├── delete │ │ │ │ ├── delete.go │ │ │ │ └── delete_test.go │ │ │ ├── list │ │ │ │ ├── list.go │ │ │ │ └── list_test.go │ │ │ └── show │ │ │ │ ├── show.go │ │ │ │ └── show_test.go │ │ ├── resourcetype │ │ │ ├── common │ │ │ │ ├── resourcetype.go │ │ │ │ └── resourcetype_test.go │ │ │ ├── create │ │ │ │ ├── create.go │ │ │ │ ├── create_test.go │ │ │ │ └── testdata │ │ │ │ │ └── valid.yaml │ │ │ ├── delete │ │ │ │ ├── delete.go │ │ │ │ └── delete_test.go │ │ │ ├── list │ │ │ │ ├── list.go │ │ │ │ └── list_test.go │ │ │ └── show │ │ │ │ ├── display.go │ │ │ │ ├── show.go │ │ │ │ └── show_test.go │ │ ├── run │ │ │ ├── run.go │ │ │ └── run_test.go │ │ ├── uninstall │ │ │ ├── kubernetes │ │ │ │ ├── kubernetes.go │ │ │ │ └── kubernetes_test.go │ │ │ └── uninstall.go │ │ ├── utils.go │ │ ├── utils_test.go │ │ ├── version │ │ │ ├── version.go │ │ │ └── version_test.go │ │ └── workspace │ │ │ ├── common │ │ │ ├── objectformats.go │ │ │ └── objectformats_test.go │ │ │ ├── create │ │ │ ├── create.go │ │ │ ├── create_test.go │ │ │ └── validation.go │ │ │ ├── delete │ │ │ ├── delete.go │ │ │ └── delete_test.go │ │ │ ├── list │ │ │ ├── list.go │ │ │ └── list_test.go │ │ │ ├── show │ │ │ ├── show.go │ │ │ └── show_test.go │ │ │ └── switch │ │ │ ├── switch.go │ │ │ └── switch_test.go │ ├── config.go │ ├── config │ │ ├── doc.go │ │ ├── radyaml.go │ │ └── radyaml_test.go │ ├── config_test.go │ ├── connections │ │ ├── doc.go │ │ ├── factory.go │ │ └── mock_factory.go │ ├── credential │ │ ├── aws_credential_management.go │ │ ├── azure_credential_management.go │ │ ├── credential_management.go │ │ ├── credential_management_test.go │ │ ├── mock_aws_credential_management.go │ │ ├── mock_azure_credential_management.go │ │ └── mock_credentialmanagementclient.go │ ├── deploy │ │ ├── deploy.go │ │ ├── doc.go │ │ ├── endpoints.go │ │ ├── mock_deploy.go │ │ ├── progress.go │ │ └── types.go │ ├── deployment │ │ ├── deploy.go │ │ ├── deploy_test.go │ │ └── diagnostics.go │ ├── filesystem │ │ ├── filesystem.go │ │ ├── memmapfs.go │ │ ├── memmapfs_test.go │ │ └── osfs.go │ ├── framework │ │ ├── config.go │ │ ├── framework.go │ │ ├── framework_test.go │ │ ├── mock_config.go │ │ ├── mock_factory.go │ │ └── mock_framework.go │ ├── helm │ │ ├── cluster.go │ │ ├── cluster_test.go │ │ ├── contour.go │ │ ├── contour_test.go │ │ ├── helmaction.go │ │ ├── helmaction_test.go │ │ ├── helmclient.go │ │ ├── mock_cluster.go │ │ ├── mock_helmclient.go │ │ ├── radius.go │ │ └── testdata │ │ │ └── fake-ca-cert.crt │ ├── kubernetes │ │ ├── kubernetes.go │ │ ├── kubernetes_test.go │ │ ├── logstream │ │ │ ├── doc.go │ │ │ ├── mock_logstream.go │ │ │ ├── stern.go │ │ │ └── types.go │ │ ├── mock_kubernetes.go │ │ └── portforward │ │ │ ├── application_watcher.go │ │ │ ├── application_watcher_test.go │ │ │ ├── deployment_watcher.go │ │ │ ├── deployment_watcher_test.go │ │ │ ├── doc.go │ │ │ ├── impl.go │ │ │ ├── labels.go │ │ │ ├── labels_test.go │ │ │ ├── mock_portforward.go │ │ │ ├── pod_watcher.go │ │ │ ├── pod_watcher_test.go │ │ │ ├── types.go │ │ │ ├── util.go │ │ │ └── util_test.go │ ├── manifest │ │ ├── doc.go │ │ ├── manifest.go │ │ ├── manifest_test.go │ │ ├── parser.go │ │ ├── registermanifest.go │ │ ├── registermanifest_test.go │ │ ├── testclientfactory.go │ │ ├── testdata │ │ │ ├── duplicate-key.yaml │ │ │ ├── invalid-yaml.yaml │ │ │ ├── missing-required-field.json │ │ │ ├── missing-required-field.yaml │ │ │ ├── registerdirectory │ │ │ │ ├── resourceprovider-valid1.yaml │ │ │ │ └── resourceprovider-valid2.yaml │ │ │ ├── valid.json │ │ │ └── valid.yaml │ │ └── validation.go │ ├── objectformats │ │ ├── objectformats.go │ │ ├── objectformats_test.go │ │ ├── transformers.go │ │ ├── transformers_test.go │ │ └── trim.go │ ├── output │ │ ├── formats.go │ │ ├── formatter.go │ │ ├── json.go │ │ ├── json_test.go │ │ ├── logger.go │ │ ├── mock_writer.go │ │ ├── output_mock.go │ │ ├── resources.go │ │ ├── streams.go │ │ ├── table.go │ │ ├── table_test.go │ │ ├── writer.go │ │ └── writer_test.go │ ├── prompt │ │ ├── errors.go │ │ ├── list │ │ │ └── list.go │ │ ├── mock_prompter.go │ │ ├── prompt.go │ │ ├── prompt_test.go │ │ ├── text │ │ │ ├── text.go │ │ │ └── text_test.go │ │ └── validator.go │ ├── setup │ │ ├── application.go │ │ ├── application_test.go │ │ └── doc.go │ ├── swagger │ │ ├── examples │ │ │ ├── GenericResources_CreateOrUpdate.json │ │ │ ├── GenericResources_Delete.json │ │ │ ├── GenericResources_Get.json │ │ │ ├── GenericResources_ListByRootScope.json │ │ │ └── GenericResources_ListSecrets.json │ │ └── genericResource.json │ └── workspaces │ │ ├── connection.go │ │ ├── connection_test.go │ │ ├── doc.go │ │ ├── err.go │ │ └── types.go ├── components │ ├── database │ │ ├── apiserverstore │ │ │ ├── api │ │ │ │ └── ucp.dev │ │ │ │ │ └── v1alpha1 │ │ │ │ │ ├── groupversion_info.go │ │ │ │ │ ├── queuemessage_types.go │ │ │ │ │ ├── resource_types.go │ │ │ │ │ └── zz_generated.deepcopy.go │ │ │ ├── apiserverclient.go │ │ │ └── apiserverclient_test.go │ │ ├── client.go │ │ ├── client_test.go │ │ ├── databaseprovider │ │ │ ├── factory.go │ │ │ ├── options.go │ │ │ ├── storageprovider.go │ │ │ ├── storageprovider_test.go │ │ │ └── types.go │ │ ├── databaseutil │ │ │ ├── doc.go │ │ │ ├── id.go │ │ │ └── id_test.go │ │ ├── err.go │ │ ├── filter.go │ │ ├── filter_test.go │ │ ├── inmemory │ │ │ ├── client.go │ │ │ ├── client_test.go │ │ │ └── doc.go │ │ ├── map.go │ │ ├── map_test.go │ │ ├── mock_client.go │ │ ├── object.go │ │ ├── options.go │ │ ├── postgres │ │ │ ├── postgresclient.go │ │ │ └── postgresclient_test.go │ │ └── resources.go │ ├── doc.go │ ├── hosting │ │ ├── hosting.go │ │ ├── hosting_test.go │ │ └── run.go │ ├── kubernetesclient │ │ └── kubernetesclientprovider │ │ │ └── types.go │ ├── metrics │ │ ├── README.md │ │ ├── asyncoperationmetrics.go │ │ ├── metrics.go │ │ ├── metricsservice │ │ │ ├── options.go │ │ │ ├── prometheusexporter.go │ │ │ └── service.go │ │ ├── recipeenginemetrics.go │ │ └── types.go │ ├── profiler │ │ └── profilerservice │ │ │ └── service.go │ ├── queue │ │ ├── apiserver │ │ │ ├── client.go │ │ │ └── client_test.go │ │ ├── client.go │ │ ├── client_test.go │ │ ├── inmemory │ │ │ ├── client.go │ │ │ ├── client_test.go │ │ │ ├── queue.go │ │ │ └── queue_test.go │ │ ├── message.go │ │ ├── mock_client.go │ │ ├── options.go │ │ └── queueprovider │ │ │ ├── factory.go │ │ │ ├── options.go │ │ │ ├── provider.go │ │ │ ├── provider_test.go │ │ │ └── types.go │ ├── secret │ │ ├── client.go │ │ ├── client_test.go │ │ ├── inmemory │ │ │ ├── client.go │ │ │ └── client_test.go │ │ ├── kubernetes │ │ │ ├── client.go │ │ │ └── client_test.go │ │ ├── mock_client.go │ │ └── secretprovider │ │ │ ├── factory.go │ │ │ ├── options.go │ │ │ ├── provider.go │ │ │ ├── provider_test.go │ │ │ └── types.go │ ├── testhost │ │ ├── clients.go │ │ ├── doc.go │ │ └── host.go │ └── trace │ │ ├── doc.go │ │ ├── traceservice │ │ ├── options.go │ │ └── service.go │ │ ├── util.go │ │ └── util_test.go ├── controller │ ├── api │ │ └── radapp.io │ │ │ └── v1alpha3 │ │ │ ├── deploymentresource_types.go │ │ │ ├── deploymenttemplate_types.go │ │ │ ├── groupversion_info.go │ │ │ ├── recipe_types.go │ │ │ └── zz_generated.deepcopy.go │ ├── reconciler │ │ ├── annotations.go │ │ ├── annotations_test.go │ │ ├── archivefetcher.go │ │ ├── connections.go │ │ ├── const.go │ │ ├── deployment_reconciler.go │ │ ├── deployment_reconciler_test.go │ │ ├── deployment_util.go │ │ ├── deployment_util_test.go │ │ ├── deploymentresource_reconciler.go │ │ ├── deploymentresource_reconciler_test.go │ │ ├── deploymenttemplate_reconciler.go │ │ ├── deploymenttemplate_reconciler_test.go │ │ ├── flux_controller.go │ │ ├── flux_controller_test.go │ │ ├── flux_gitrepository_predicate.go │ │ ├── flux_gitrepository_predicate_test.go │ │ ├── main_test.go │ │ ├── mock_archivefetcher.go │ │ ├── mock_radius_client_test.go │ │ ├── radius_client.go │ │ ├── recipe_reconciler.go │ │ ├── recipe_reconciler_test.go │ │ ├── recipe_webhook.go │ │ ├── recipe_webhook_test.go │ │ ├── shared_test.go │ │ ├── testdata │ │ │ ├── deploymenttemplate-outputresources-1.json │ │ │ ├── deploymenttemplate-outputresources-2.json │ │ │ ├── deploymenttemplate-update-1.json │ │ │ ├── deploymenttemplate-update-2.json │ │ │ ├── deploymenttemplate-withresources.json │ │ │ ├── flux-basic │ │ │ │ ├── flux-basic.bicep │ │ │ │ ├── flux-basic.json │ │ │ │ └── radius-gitops-config.yaml │ │ │ └── flux-update │ │ │ │ ├── step-1 │ │ │ │ ├── flux-update.bicep │ │ │ │ ├── flux-update.bicepparam │ │ │ │ ├── flux-update.json │ │ │ │ ├── flux-update.parameters.json │ │ │ │ └── radius-gitops-config.yaml │ │ │ │ └── step-2 │ │ │ │ ├── flux-update.bicep │ │ │ │ ├── flux-update.bicepparam │ │ │ │ ├── flux-update.json │ │ │ │ ├── flux-update.parameters.json │ │ │ │ └── radius-gitops-config.yaml │ │ ├── util.go │ │ └── util_test.go │ └── service.go ├── corerp │ ├── README.md │ ├── api │ │ ├── README.md │ │ └── v20231001preview │ │ │ ├── application_conversion.go │ │ │ ├── application_conversion_test.go │ │ │ ├── container_conversion.go │ │ │ ├── container_conversion_test.go │ │ │ ├── environment_conversion.go │ │ │ ├── environment_conversion_test.go │ │ │ ├── environmentrecipeproperties_conversion.go │ │ │ ├── environmentrecipeproperties_conversion_test.go │ │ │ ├── extender_conversion.go │ │ │ ├── extender_conversion_test.go │ │ │ ├── gateway_conversion.go │ │ │ ├── gateway_conversion_test.go │ │ │ ├── secretstore_conversion.go │ │ │ ├── secretstore_conversion_test.go │ │ │ ├── testdata │ │ │ ├── applicationresource.json │ │ │ ├── applicationresourcedatamodel.json │ │ │ ├── applicationresourcedatamodelemptyext.json │ │ │ ├── applicationresourceemptyext.json │ │ │ ├── applicationresourceemptyext2.json │ │ │ ├── containerresource-manual.json │ │ │ ├── containerresource-nil-env-variables.json │ │ │ ├── containerresource-runtimes-aci.json │ │ │ ├── containerresource-runtimes.json │ │ │ ├── containerresource.json │ │ │ ├── containerresourcedatamodel-manual.json │ │ │ ├── containerresourcedatamodel-runtime-aci.json │ │ │ ├── containerresourcedatamodel-runtime.json │ │ │ ├── containerresourcedatamodel.json │ │ │ ├── containerresourcedatamodelemptyext.json │ │ │ ├── containerresourceemptyext.json │ │ │ ├── containerresourceemptyext2.json │ │ │ ├── containerresourcenegativetest.json │ │ │ ├── environmentrecipepropertiesdatamodel-insecure-registry.json │ │ │ ├── environmentrecipepropertiesdatamodel-missingtemplatekind.json │ │ │ ├── environmentrecipepropertiesdatamodel-terraform.json │ │ │ ├── environmentrecipepropertiesdatamodel.json │ │ │ ├── environmentresource-invalid-missing-namespace.json │ │ │ ├── environmentresource-invalid-namespace.json │ │ │ ├── environmentresource-invalid-resourcetype.json │ │ │ ├── environmentresource-invalid-templatekind.json │ │ │ ├── environmentresource-missing-templatekind.json │ │ │ ├── environmentresource-terraformrecipe-localpath.json │ │ │ ├── environmentresource-with-acicompute.json │ │ │ ├── environmentresource-with-simulated-enabled.json │ │ │ ├── environmentresource-with-workload-identity.json │ │ │ ├── environmentresource.json │ │ │ ├── environmentresourcedatamodel-with-aci.json │ │ │ ├── environmentresourcedatamodel-with-workload-identity.json │ │ │ ├── environmentresourcedatamodel.json │ │ │ ├── environmentresourcedatamodelemptyext.json │ │ │ ├── environmentresourcedatamodelemptytemplatekind.json │ │ │ ├── environmentresourceemptyext.json │ │ │ ├── environmentresourceemptyext2.json │ │ │ ├── extender_manual.json │ │ │ ├── extender_manual_nosecrets.json │ │ │ ├── extender_recipe.json │ │ │ ├── extenderdatamodel_manual.json │ │ │ ├── extenderdatamodel_manual_nosecrets.json │ │ │ ├── extenderdatamodel_recipe.json │ │ │ ├── extenderresource-invalid.json │ │ │ ├── extenderresponseresourcedatamodel.json │ │ │ ├── gatewayresource-with-sslpassthrough.json │ │ │ ├── gatewayresource-with-tlstermination-nominprotocolversion.json │ │ │ ├── gatewayresource-with-tlstermination.json │ │ │ ├── gatewayresource.json │ │ │ ├── gatewayresourcedatamodel-with-enablewebsockets.json │ │ │ ├── gatewayresourcedatamodel-with-gatewaytimeout.json │ │ │ ├── gatewayresourcedatamodel-with-sslpassthrough.json │ │ │ ├── gatewayresourcedatamodel-with-tlstermination-nominprotocolversion.json │ │ │ ├── gatewayresourcedatamodel-with-tlstermination.json │ │ │ ├── gatewayresourcedatamodel.json │ │ │ ├── reciperesource.json │ │ │ ├── secretstore-datamodel-resource.json │ │ │ ├── secretstore-datamodel.json │ │ │ ├── secretstore-versioned-resource.json │ │ │ ├── secretstore-versioned.json │ │ │ ├── volume-az-kv-datamodel.json │ │ │ └── volume-az-kv.json │ │ │ ├── util.go │ │ │ ├── util_test.go │ │ │ ├── version.go │ │ │ ├── volume_conversion.go │ │ │ ├── volume_conversion_test.go │ │ │ ├── zz_generated_applications_client.go │ │ │ ├── zz_generated_client_factory.go │ │ │ ├── zz_generated_constants.go │ │ │ ├── zz_generated_containers_client.go │ │ │ ├── zz_generated_environments_client.go │ │ │ ├── zz_generated_extenders_client.go │ │ │ ├── zz_generated_gateways_client.go │ │ │ ├── zz_generated_interfaces.go │ │ │ ├── zz_generated_models.go │ │ │ ├── zz_generated_models_serde.go │ │ │ ├── zz_generated_operations_client.go │ │ │ ├── zz_generated_options.go │ │ │ ├── zz_generated_polymorphic_helpers.go │ │ │ ├── zz_generated_responses.go │ │ │ ├── zz_generated_secretstores_client.go │ │ │ ├── zz_generated_time_rfc3339.go │ │ │ └── zz_generated_volumes_client.go │ ├── backend │ │ ├── controller │ │ │ ├── createorupdateresource.go │ │ │ ├── createorupdateresource_test.go │ │ │ ├── deleteresource.go │ │ │ └── deleteresource_test.go │ │ └── deployment │ │ │ ├── deploymentprocessor.go │ │ │ ├── deploymentprocessor_test.go │ │ │ ├── mock_deploymentprocessor.go │ │ │ └── testdata │ │ │ ├── containerresourcedatamodel.json │ │ │ ├── containerresourcedatamodellowercase.json │ │ │ └── containerresourcedatamodeluppercase.json │ ├── datamodel │ │ ├── application.go │ │ ├── container.go │ │ ├── converter │ │ │ ├── application_converter.go │ │ │ ├── application_converter_test.go │ │ │ ├── container_converter.go │ │ │ ├── container_converter_test.go │ │ │ ├── environment_converter.go │ │ │ ├── environment_converter_test.go │ │ │ ├── environmentrecipeproperties_converter.go │ │ │ ├── environmentrecipeproperties_converter_test.go │ │ │ ├── extender_converter.go │ │ │ ├── extender_converter_test.go │ │ │ ├── gateway_converter.go │ │ │ ├── gateway_converter_test.go │ │ │ ├── secretstore_converter.go │ │ │ ├── secretstore_converter_test.go │ │ │ ├── volume_converter.go │ │ │ └── volume_converter_test.go │ │ ├── doc.go │ │ ├── environment.go │ │ ├── extender.go │ │ ├── extension.go │ │ ├── gateway.go │ │ ├── portableresourcemetadata.go │ │ ├── recipe_types.go │ │ ├── secretstore.go │ │ └── volume.go │ ├── frontend │ │ └── controller │ │ │ ├── applications │ │ │ ├── getgraph.go │ │ │ ├── getgraph_test.go │ │ │ ├── graph_util.go │ │ │ ├── graph_util_test.go │ │ │ ├── testdata │ │ │ │ ├── application20231001preview_datamodel.json │ │ │ │ ├── application20231001preview_input.json │ │ │ │ ├── application20231001preview_input_diff_env.json │ │ │ │ ├── application20231001preview_output.json │ │ │ │ ├── graph-app-directroute-in.json │ │ │ │ ├── graph-app-directroute-out.json │ │ │ │ ├── graph-app-gw-in.json │ │ │ │ └── graph-app-gw-out.json │ │ │ ├── types.go │ │ │ ├── updatefilter.go │ │ │ └── updatefilter_test.go │ │ │ ├── containers │ │ │ ├── testdata │ │ │ │ ├── container20231001preview_datamodel.json │ │ │ │ ├── container20231001preview_input.json │ │ │ │ ├── container20231001preview_input_appid.json │ │ │ │ ├── container20231001preview_output.json │ │ │ │ └── requestheaders20231001preview.json │ │ │ ├── types.go │ │ │ ├── validator.go │ │ │ └── validator_test.go │ │ │ ├── environments │ │ │ ├── createorupdateenvironment.go │ │ │ ├── createorupdateenvironment_test.go │ │ │ ├── getrecipemetadata.go │ │ │ ├── getrecipemetadata_test.go │ │ │ ├── testdata │ │ │ │ ├── environment20231001preview_datamodel.json │ │ │ │ ├── environment20231001preview_input.json │ │ │ │ ├── environment20231001preview_output.json │ │ │ │ ├── environmentgetmetadatanonexistingrecipe20231001preview_input.json │ │ │ │ ├── environmentgetrecipemetadata20231001preview_datamodel.json │ │ │ │ ├── environmentgetrecipemetadata20231001preview_input.json │ │ │ │ ├── environmentgetrecipemetadata20231001preview_input_terraform.json │ │ │ │ ├── environmentgetrecipemetadata20231001preview_output.json │ │ │ │ ├── environmentgetrecipemetadata20231001preview_output_terraform.json │ │ │ │ ├── recipedatawithmalformedparameterdetails.json │ │ │ │ ├── recipedatawithmalformedparameters.json │ │ │ │ ├── recipedatawithoutparameters.json │ │ │ │ ├── recipedatawithparameters.json │ │ │ │ ├── requestheaders20231001preview.json │ │ │ │ ├── requestheadersgetrecipemetadata20231001preview.json │ │ │ │ └── requestheadersgetrecipemetadatanotexisting20231001preview.json │ │ │ ├── types.go │ │ │ └── v20231001preview_test.go │ │ │ ├── extenders │ │ │ ├── listsecretsextender.go │ │ │ ├── listsecretsextender_test.go │ │ │ ├── testdata │ │ │ │ ├── 20231001preview_datamodel.json │ │ │ │ ├── 20231001preview_input.json │ │ │ │ ├── 20231001preview_input_diff_env.json │ │ │ │ ├── 20231001preview_output.json │ │ │ │ ├── 20231001preview_requestheaders.json │ │ │ │ └── 20231001previewgetandlist_output.json │ │ │ ├── types.go │ │ │ └── v20231001preview_test.go │ │ │ ├── gateways │ │ │ ├── testdata │ │ │ │ ├── gateway20231001preview_datamodel.json │ │ │ │ ├── gateway20231001preview_input.json │ │ │ │ ├── gateway20231001preview_input_appid.json │ │ │ │ └── gateway20231001preview_output.json │ │ │ ├── types.go │ │ │ ├── validator.go │ │ │ └── validator_test.go │ │ │ ├── secretstores │ │ │ ├── kubernetes.go │ │ │ ├── kubernetes_test.go │ │ │ ├── listsecrets.go │ │ │ ├── listsecrets_test.go │ │ │ ├── testdata │ │ │ │ ├── app_datamodel.json │ │ │ │ ├── env_datamodel.json │ │ │ │ ├── env_nonk8s_datamodel.json │ │ │ │ ├── secretstores_datamodel_awsirsa.json │ │ │ │ ├── secretstores_datamodel_azwi.json │ │ │ │ ├── secretstores_datamodel_basicauth.json │ │ │ │ ├── secretstores_datamodel_basicauth_invalid.json │ │ │ │ ├── secretstores_datamodel_cert_value.json │ │ │ │ ├── secretstores_datamodel_cert_valuefrom.json │ │ │ │ ├── secretstores_datamodel_generic.json │ │ │ │ ├── secretstores_datamodel_global_scope.json │ │ │ │ ├── secretstores_datamodel_global_scope_empty_resource.json │ │ │ │ └── secretstores_datamodel_global_scope_invalid_resource.json │ │ │ └── types.go │ │ │ ├── util │ │ │ └── query.go │ │ │ └── volumes │ │ │ ├── types.go │ │ │ ├── validator.go │ │ │ └── validator_test.go │ ├── handlers │ │ ├── arm_handler.go │ │ ├── azure_appgw.go │ │ ├── azure_cgnroups.go │ │ ├── azure_cgprofile.go │ │ ├── azure_containerlb.go │ │ ├── azure_federatedidentity.go │ │ ├── azure_nsg.go │ │ ├── azure_publicip.go │ │ ├── azure_roleassignment.go │ │ ├── azure_userassigned_managedidentity.go │ │ ├── azure_vnetsubnet.go │ │ ├── kubernetes.go │ │ ├── kubernetes_deployment_waiter.go │ │ ├── kubernetes_deployment_waiter_test.go │ │ ├── kubernetes_http_proxy_waiter.go │ │ ├── kubernetes_http_proxy_waiter_test.go │ │ ├── kubernetes_test.go │ │ ├── mock_resource_handler.go │ │ ├── resource_handler.go │ │ ├── util.go │ │ └── util_test.go │ ├── model │ │ ├── application_model.go │ │ └── types.go │ ├── processors │ │ └── extenders │ │ │ ├── doc.go │ │ │ ├── processor.go │ │ │ └── processor_test.go │ ├── renderers │ │ ├── aci │ │ │ ├── gateway │ │ │ │ ├── render.go │ │ │ │ └── types.go │ │ │ ├── manualscale │ │ │ │ └── render.go │ │ │ └── renderer.go │ │ ├── container │ │ │ ├── azure │ │ │ │ ├── fileshare.go │ │ │ │ ├── identity.go │ │ │ │ ├── identity_test.go │ │ │ │ ├── keyvaultvolume.go │ │ │ │ ├── keyvaultvolume_test.go │ │ │ │ ├── util.go │ │ │ │ └── util_test.go │ │ │ ├── identity.go │ │ │ ├── manifest.go │ │ │ ├── manifest_test.go │ │ │ ├── rbac.go │ │ │ ├── render.go │ │ │ ├── render_test.go │ │ │ ├── testdata │ │ │ │ ├── .gitattributes │ │ │ │ ├── basemanifest-input-addcontainer.yaml │ │ │ │ ├── basemanifest-input-merge.yaml │ │ │ │ ├── basemanifest-output-addcontainer.json │ │ │ │ └── basemanifest-output-merge.json │ │ │ └── volumes.go │ │ ├── daprextension │ │ │ ├── renderer.go │ │ │ └── renderer_test.go │ │ ├── gateway │ │ │ ├── errors.go │ │ │ ├── render.go │ │ │ ├── render_test.go │ │ │ └── types.go │ │ ├── kubernetesmetadata.go │ │ ├── kubernetesmetadata │ │ │ ├── render.go │ │ │ └── render_test.go │ │ ├── manualscale │ │ │ ├── render.go │ │ │ └── render_test.go │ │ ├── mock_renderer.go │ │ ├── mux │ │ │ └── renderer.go │ │ ├── types.go │ │ ├── url.go │ │ ├── url_test.go │ │ └── volume │ │ │ ├── azure │ │ │ ├── keyvault.go │ │ │ ├── keyvault_test.go │ │ │ └── testdata │ │ │ │ └── volume-az-kv-systemassigned.json │ │ │ ├── render.go │ │ │ ├── render_test.go │ │ │ └── types.go │ └── setup │ │ ├── operations.go │ │ ├── setup.go │ │ └── setup_test.go ├── daprrp │ ├── api │ │ ├── README.md │ │ └── v20231001preview │ │ │ ├── configurationstore_conversion.go │ │ │ ├── configurationstore_conversion_test.go │ │ │ ├── datamodel_util.go │ │ │ ├── datamodel_util_test.go │ │ │ ├── pubsubbroker_conversion.go │ │ │ ├── pubsubbroker_conversion_test.go │ │ │ ├── secretstore_conversion.go │ │ │ ├── secretstore_conversion_test.go │ │ │ ├── statestore_conversion.go │ │ │ ├── statestore_conversion_test.go │ │ │ ├── testdata │ │ │ ├── configurationstore_invalidmanual_resource.json │ │ │ ├── configurationstore_invalidrecipe_resource.json │ │ │ ├── configurationstore_manual_datamodel.json │ │ │ ├── configurationstore_manual_generic_datamodel.json │ │ │ ├── configurationstore_manual_resource.json │ │ │ ├── configurationstore_recipe_datamodel.json │ │ │ ├── configurationstore_recipe_resource.json │ │ │ ├── pubsubbroker_invalidmanual_resource.json │ │ │ ├── pubsubbroker_invalidrecipe_resource.json │ │ │ ├── pubsubbroker_manual_datamodel.json │ │ │ ├── pubsubbroker_manual_generic_datamodel.json │ │ │ ├── pubsubbroker_manual_resource.json │ │ │ ├── pubsubbroker_recipe_datamodel.json │ │ │ ├── pubsubbroker_recipe_resource.json │ │ │ ├── secretstore_invalidrecipe_resource.json │ │ │ ├── secretstore_invalidvalues_resource.json │ │ │ ├── secretstore_manual_resource.json │ │ │ ├── secretstore_manual_resourcedatamodel.json │ │ │ ├── secretstore_recipe_resource.json │ │ │ ├── secretstore_recipe_resourcedatamodel.json │ │ │ ├── statestore_invalidrecipe_resource.json │ │ │ ├── statestore_invalidvalues_resource.json │ │ │ ├── statestore_recipe_resource.json │ │ │ ├── statestore_recipe_resourcedatamodel.json │ │ │ ├── statestore_values_resource.json │ │ │ └── statestore_values_resourcedatamodel.json │ │ │ ├── version.go │ │ │ ├── zz_generated_client_factory.go │ │ │ ├── zz_generated_configurationstores_client.go │ │ │ ├── zz_generated_constants.go │ │ │ ├── zz_generated_interfaces.go │ │ │ ├── zz_generated_models.go │ │ │ ├── zz_generated_models_serde.go │ │ │ ├── zz_generated_operations_client.go │ │ │ ├── zz_generated_options.go │ │ │ ├── zz_generated_polymorphic_helpers.go │ │ │ ├── zz_generated_pubsubbrokers_client.go │ │ │ ├── zz_generated_responses.go │ │ │ ├── zz_generated_secretstores_client.go │ │ │ ├── zz_generated_statestores_client.go │ │ │ └── zz_generated_time_rfc3339.go │ ├── datamodel │ │ ├── converter │ │ │ ├── configurationstore_converter.go │ │ │ ├── configurationstore_converter_test.go │ │ │ ├── pubsubbroker_converter.go │ │ │ ├── pubsubbroker_converter_test.go │ │ │ ├── secretstore_converter.go │ │ │ ├── secretstore_converter_test.go │ │ │ ├── statestore_converter.go │ │ │ └── statestore_converter_test.go │ │ ├── daprconfigurationstore.go │ │ ├── daprdetector.go │ │ ├── daprpubsubbroker.go │ │ ├── daprsecretstore.go │ │ └── daprstatestore.go │ ├── frontend │ │ └── controller │ │ │ └── types.go │ ├── processors │ │ ├── configurationstores │ │ │ ├── doc.go │ │ │ ├── processor.go │ │ │ └── processor_test.go │ │ ├── pubsubbrokers │ │ │ ├── doc.go │ │ │ ├── processor.go │ │ │ └── processor_test.go │ │ ├── secretstores │ │ │ ├── doc.go │ │ │ ├── processor.go │ │ │ └── processor_test.go │ │ └── statestores │ │ │ ├── doc.go │ │ │ ├── processor.go │ │ │ └── processor_test.go │ └── setup │ │ ├── operations.go │ │ ├── setup.go │ │ └── setup_test.go ├── datastoresrp │ ├── api │ │ ├── README.md │ │ └── v20231001preview │ │ │ ├── datamodel_util.go │ │ │ ├── datamodel_util_test.go │ │ │ ├── mongodatabase_conversion.go │ │ │ ├── mongodatabase_conversion_test.go │ │ │ ├── rediscache_conversion.go │ │ │ ├── rediscache_conversion_test.go │ │ │ ├── sqldatabase_conversion.go │ │ │ ├── sqldatabase_conversion_test.go │ │ │ ├── testdata │ │ │ ├── mongodatabaseresource-invalid.json │ │ │ ├── mongodatabaseresource-invalidresprovisioning.json │ │ │ ├── mongodatabaseresource-missinginputs.json │ │ │ ├── mongodatabaseresource.json │ │ │ ├── mongodatabaseresource2.json │ │ │ ├── mongodatabaseresource_recipe.json │ │ │ ├── mongodatabaseresource_recipe2.json │ │ │ ├── mongodatabaseresourcedatamodel.json │ │ │ ├── mongodatabaseresourcedatamodel2.json │ │ │ ├── mongodatabaseresourcedatamodel_recipe.json │ │ │ ├── mongodatabasesecrets.json │ │ │ ├── mongodatabasesecretsdatamodel.json │ │ │ ├── rediscacheresource-invalid.json │ │ │ ├── rediscacheresource-invalid2.json │ │ │ ├── rediscacheresource-invalidinput.json │ │ │ ├── rediscacheresource_defaultrecipe.json │ │ │ ├── rediscacheresource_manual.json │ │ │ ├── rediscacheresource_manual_noresources.json │ │ │ ├── rediscacheresource_recipe_named.json │ │ │ ├── rediscacheresource_recipe_overridevalues.json │ │ │ ├── rediscacheresourcedatamodel_manual.json │ │ │ ├── rediscacheresourcedatamodel_manual_resources.json │ │ │ ├── rediscacheresourcedatamodel_recipe_default.json │ │ │ ├── rediscacheresourcedatamodel_recipe_params.json │ │ │ ├── rediscachesecrets.json │ │ │ ├── rediscachesecretsdatamodel.json │ │ │ ├── sqldatabase_invalid_properties_resource.json │ │ │ ├── sqldatabase_invalid_resourceprovisioning_resource.json │ │ │ ├── sqldatabase_manual_resource.json │ │ │ ├── sqldatabase_manual_resourcedatamodel.json │ │ │ ├── sqldatabase_recipe_resource.json │ │ │ ├── sqldatabase_recipe_resourcedatamodel.json │ │ │ ├── sqldatabase_secrets_datamodel.json │ │ │ └── sqldatabaseresource-invalid.json │ │ │ ├── version.go │ │ │ ├── zz_generated_client_factory.go │ │ │ ├── zz_generated_constants.go │ │ │ ├── zz_generated_interfaces.go │ │ │ ├── zz_generated_models.go │ │ │ ├── zz_generated_models_serde.go │ │ │ ├── zz_generated_mongodatabases_client.go │ │ │ ├── zz_generated_operations_client.go │ │ │ ├── zz_generated_options.go │ │ │ ├── zz_generated_polymorphic_helpers.go │ │ │ ├── zz_generated_rediscaches_client.go │ │ │ ├── zz_generated_responses.go │ │ │ ├── zz_generated_sqldatabases_client.go │ │ │ └── zz_generated_time_rfc3339.go │ ├── datamodel │ │ ├── converter │ │ │ ├── mongodatabase_converter.go │ │ │ ├── mongodatabase_converter_test.go │ │ │ ├── rediscache_converter.go │ │ │ ├── rediscache_converter_test.go │ │ │ ├── sqldatabase_converter.go │ │ │ └── sqldatabase_converter_test.go │ │ ├── mongodatabase.go │ │ ├── rediscache.go │ │ └── sqldatabase.go │ ├── frontend │ │ └── controller │ │ │ ├── mongodatabases │ │ │ ├── listsecretsmongodatabase.go │ │ │ ├── listsecretsmongodatabase_test.go │ │ │ ├── testdata │ │ │ │ ├── 20231001preview_datamodel.json │ │ │ │ └── 20231001preview_requestheaders.json │ │ │ └── v20231001preview_test.go │ │ │ ├── rediscaches │ │ │ ├── listsecretsrediscache.go │ │ │ ├── listsecretsrediscache_test.go │ │ │ ├── testdata │ │ │ │ ├── 20231001preview_datamodel.json │ │ │ │ └── 20231001preview_requestheaders.json │ │ │ └── v20231001preview_test.go │ │ │ ├── sqldatabases │ │ │ ├── listsecretssqldatabase.go │ │ │ ├── listsecretssqldatabase_test.go │ │ │ ├── testdata │ │ │ │ ├── 20231001preview_datamodel.json │ │ │ │ ├── 20231001preview_input.json │ │ │ │ ├── 20231001preview_output.json │ │ │ │ └── 20231001preview_requestheaders.json │ │ │ └── v20231001preview_test.go │ │ │ └── types.go │ ├── processors │ │ ├── mongodatabases │ │ │ ├── doc.go │ │ │ ├── processor.go │ │ │ └── processor_test.go │ │ ├── rediscaches │ │ │ ├── doc.go │ │ │ ├── processor.go │ │ │ └── processor_test.go │ │ └── sqldatabases │ │ │ ├── doc.go │ │ │ ├── processor.go │ │ │ └── processor_test.go │ └── setup │ │ ├── operations.go │ │ ├── setup.go │ │ └── setup_test.go ├── dynamicrp │ ├── api │ │ ├── dynamicresource.go │ │ ├── dynamicresource_conversion.go │ │ ├── dynamicresource_conversion_test.go │ │ └── testdata │ │ │ ├── dynamicresource-datamodel.json │ │ │ └── dynamicresource-resource.json │ ├── backend │ │ ├── controller │ │ │ ├── deleteinert.go │ │ │ ├── deleteinert_test.go │ │ │ ├── deleterecipe.go │ │ │ ├── dynamicresource.go │ │ │ ├── dynamicresource_test.go │ │ │ ├── putinert.go │ │ │ ├── putinert_test.go │ │ │ └── putrecipe.go │ │ ├── processor │ │ │ ├── dynamicresource.go │ │ │ └── dynamicresource_test.go │ │ └── service.go │ ├── config.go │ ├── datamodel │ │ ├── converter │ │ │ └── dynamicresource_converter.go │ │ ├── dynamicresource.go │ │ └── dynamicresource_test.go │ ├── doc.go │ ├── frontend │ │ ├── operations.go │ │ ├── routes.go │ │ └── service.go │ ├── integrationtest │ │ └── dynamic │ │ │ ├── operations_test.go │ │ │ └── resource_test.go │ ├── options.go │ ├── server │ │ ├── doc.go │ │ └── server.go │ └── testhost │ │ ├── doc.go │ │ └── host.go ├── kubernetes │ ├── labels.go │ ├── labels_test.go │ ├── object.go │ ├── object_test.go │ └── secrets.go ├── kubeutil │ ├── client.go │ ├── config.go │ ├── config_test.go │ ├── manifest.go │ ├── manifest_test.go │ ├── namespace.go │ └── namespace_test.go ├── logging │ └── logfields.go ├── messagingrp │ ├── api │ │ ├── README.md │ │ └── v20231001preview │ │ │ ├── datamodel_util.go │ │ │ ├── datamodel_util_test.go │ │ │ ├── rabbitmq_conversion.go │ │ │ ├── rabbitmq_conversion_test.go │ │ │ ├── testdata │ │ │ ├── rabbitmq_invalid_properties_resource.json │ │ │ ├── rabbitmq_invalid_resourceprovisioning_resource.json │ │ │ ├── rabbitmq_manual_datamodel.json │ │ │ ├── rabbitmq_manual_resource.json │ │ │ ├── rabbitmq_recipe_datamodel.json │ │ │ ├── rabbitmq_recipe_resource.json │ │ │ ├── rabbitmqresource-invalid.json │ │ │ ├── rabbitmqsecrets.json │ │ │ └── rabbitmqsecretsdatamodel.json │ │ │ ├── version.go │ │ │ ├── zz_generated_client_factory.go │ │ │ ├── zz_generated_constants.go │ │ │ ├── zz_generated_interfaces.go │ │ │ ├── zz_generated_models.go │ │ │ ├── zz_generated_models_serde.go │ │ │ ├── zz_generated_operations_client.go │ │ │ ├── zz_generated_options.go │ │ │ ├── zz_generated_polymorphic_helpers.go │ │ │ ├── zz_generated_rabbitmqqueues_client.go │ │ │ ├── zz_generated_responses.go │ │ │ └── zz_generated_time_rfc3339.go │ ├── datamodel │ │ ├── converter │ │ │ ├── rabbitmq_converter.go │ │ │ └── rabbitmq_converter_test.go │ │ └── rabbitmq.go │ ├── frontend │ │ └── controller │ │ │ ├── rabbitmqqueues │ │ │ ├── listsecretsrabbitmq.go │ │ │ ├── listsecretsrabbitmq_test.go │ │ │ ├── testdata │ │ │ │ ├── 20231001preview_datamodel.json │ │ │ │ └── 20231001preview_requestheaders.json │ │ │ └── v20231001preview_test.go │ │ │ └── types.go │ ├── processors │ │ └── rabbitmqqueues │ │ │ ├── doc.go │ │ │ ├── processor.go │ │ │ └── processor_test.go │ └── setup │ │ ├── operations.go │ │ ├── setup.go │ │ └── setup_test.go ├── middleware │ ├── logger.go │ ├── lowercaseurlpath.go │ ├── lowercaseurlpath_test.go │ ├── normalizepath.go │ ├── normalizepath_test.go │ ├── recoverer.go │ ├── recoverer_test.go │ ├── removeremoteaddr.go │ └── util.go ├── portableresources │ ├── api │ │ └── versions.go │ ├── backend │ │ └── controller │ │ │ ├── createorupdateresource.go │ │ │ ├── createorupdateresource_test.go │ │ │ ├── deleteresource.go │ │ │ ├── deleteresource_test.go │ │ │ ├── utils.go │ │ │ └── utils_test.go │ ├── datamodel │ │ ├── doc.go │ │ ├── metadata.go │ │ └── recipes.go │ ├── handlers │ │ ├── util.go │ │ └── util_test.go │ ├── processors │ │ ├── doc.go │ │ ├── mock_resourceclient.go │ │ ├── resourceclient.go │ │ ├── resourceclient_test.go │ │ ├── types.go │ │ ├── util.go │ │ ├── util_test.go │ │ ├── validator.go │ │ └── validator_test.go │ ├── renderers │ │ ├── dapr │ │ │ ├── generic.go │ │ │ └── types.go │ │ └── types.go │ └── types.go ├── recipes │ ├── configloader │ │ ├── environment.go │ │ ├── environment_test.go │ │ ├── mock_config_loader.go │ │ ├── mock_secret_loader.go │ │ ├── secrets.go │ │ ├── secrets_test.go │ │ └── types.go │ ├── controllerconfig │ │ └── config.go │ ├── driver │ │ ├── bicep.go │ │ ├── bicep_test.go │ │ ├── gitconfig.go │ │ ├── gitconfig_test.go │ │ ├── mock_driver.go │ │ ├── mock_driver_with_secrets.go │ │ ├── terraform.go │ │ ├── terraform_test.go │ │ ├── types.go │ │ └── types_test.go │ ├── engine │ │ ├── engine.go │ │ ├── engine_test.go │ │ ├── mock_engine.go │ │ └── types.go │ ├── error.go │ ├── error_test.go │ ├── errorcodes.go │ ├── recipecontext │ │ ├── context.go │ │ ├── context_test.go │ │ └── types.go │ ├── terraform │ │ ├── config │ │ │ ├── backends │ │ │ │ ├── kubernetes.go │ │ │ │ ├── kubernetes_test.go │ │ │ │ ├── mock_backend.go │ │ │ │ └── types.go │ │ │ ├── config.go │ │ │ ├── config_test.go │ │ │ ├── providers │ │ │ │ ├── aws.go │ │ │ │ ├── aws_test.go │ │ │ │ ├── azure.go │ │ │ │ ├── azure_test.go │ │ │ │ ├── kubernetes.go │ │ │ │ ├── kubernetes_test.go │ │ │ │ ├── mock_provider.go │ │ │ │ ├── types.go │ │ │ │ └── types_test.go │ │ │ ├── testdata │ │ │ │ ├── .gitattributes │ │ │ │ ├── module-emptyparams.tf.json │ │ │ │ ├── module-emptyresourceparam.tf.json │ │ │ │ ├── module-emptytemplateversion.tf.json │ │ │ │ ├── module-private-git-repo.tf.json │ │ │ │ ├── module.tf.json │ │ │ │ ├── outputs.tf.json │ │ │ │ ├── providers-empty.tf.json │ │ │ │ ├── providers-emptyazureconfig.tf.json │ │ │ │ ├── providers-emptywithrequiredprovider.tf.json │ │ │ │ ├── providers-envrecipedefaultconfig.tf.json │ │ │ │ ├── providers-envrecipeproviders.tf.json │ │ │ │ ├── providers-modules-aliases.tf.json │ │ │ │ ├── providers-modules-noaliases.tf.json │ │ │ │ ├── providers-modules-subsetaliases.tf.json │ │ │ │ ├── providers-modules-unmatchedaliases.tf.json │ │ │ │ ├── providers-overrideucpproviderconfig.tf.json │ │ │ │ ├── providers-valid.tf.json │ │ │ │ ├── recipecontext-emptyrecipeparams.tf.json │ │ │ │ └── recipecontext.tf.json │ │ │ ├── types.go │ │ │ └── types_test.go │ │ ├── execute.go │ │ ├── execute_test.go │ │ ├── install.go │ │ ├── log.go │ │ ├── mock_executor.go │ │ ├── module.go │ │ ├── module_test.go │ │ ├── testdata │ │ │ └── .terraform │ │ │ │ └── modules │ │ │ │ ├── .gitattributes │ │ │ │ ├── test-module-provideronly │ │ │ │ └── main.tf │ │ │ │ ├── test-module-providerpartialinfo │ │ │ │ └── main.tf │ │ │ │ ├── test-module-recipe-context-outputs │ │ │ │ ├── main.tf │ │ │ │ ├── output.tf │ │ │ │ └── variables.tf │ │ │ │ └── test-submodule │ │ │ │ └── submodule │ │ │ │ └── main.tf │ │ ├── types.go │ │ └── types_test.go │ ├── types.go │ ├── types_test.go │ └── util │ │ └── deploymentStatus.go ├── resourcemodel │ └── identity.go ├── retry │ ├── retry.go │ └── retry_test.go ├── rp │ ├── doc.go │ ├── frontend │ │ ├── resource_test.go │ │ ├── validator.go │ │ └── validator_test.go │ ├── kube │ │ ├── kubernetesmetadata.go │ │ ├── kubernetesmetadata_test.go │ │ ├── resources.go │ │ └── resources_test.go │ ├── util │ │ ├── application.go │ │ ├── authclient │ │ │ ├── awsirsa.go │ │ │ ├── azureworkloadidentity.go │ │ │ ├── basicauthentication.go │ │ │ ├── mock_authclient.go │ │ │ ├── types.go │ │ │ └── types_test.go │ │ ├── datastore.go │ │ ├── environment.go │ │ ├── registry.go │ │ ├── registry_test.go │ │ └── registrytest │ │ │ └── fakeregistryserver.go │ └── v1 │ │ ├── identity.go │ │ ├── localids.go │ │ ├── localids_test.go │ │ ├── outputresource.go │ │ ├── outputresource_test.go │ │ ├── recipe.go │ │ ├── types.go │ │ └── types_test.go ├── sdk │ ├── aci-specification │ │ ├── common-types │ │ │ └── resource-management │ │ │ │ └── v5 │ │ │ │ ├── customermanagedkeys.json │ │ │ │ ├── managedidentity.json │ │ │ │ ├── managedidentitywithdelegation.json │ │ │ │ ├── mobo.json │ │ │ │ ├── privatelinks.json │ │ │ │ └── types.json │ │ └── containerinstance │ │ │ ├── cspell.yaml │ │ │ └── resource-manager │ │ │ ├── Microsoft.ContainerInstance │ │ │ └── preview │ │ │ │ └── 2024-11-01-preview │ │ │ │ ├── containerInstance.json │ │ │ │ └── examples │ │ │ │ ├── CachedImagesList.json │ │ │ │ ├── CapabilitiesList.json │ │ │ │ ├── ContainerAttach.json │ │ │ │ ├── ContainerExec.json │ │ │ │ ├── ContainerGroupCreateConfidential.json │ │ │ │ ├── ContainerGroupEncryptionProperties.json │ │ │ │ ├── ContainerGroupExtensions.json │ │ │ │ ├── ContainerGroupProfileCreateOrUpdate_CreateConfidential.json │ │ │ │ ├── ContainerGroupProfileCreateOrUpdate_EncryptionProperties.json │ │ │ │ ├── ContainerGroupProfileCreateOrUpdate_Extensions.json │ │ │ │ ├── ContainerGroupProfileGetByRevisionNumber.json │ │ │ │ ├── ContainerGroupProfileListAllRevisions.json │ │ │ │ ├── ContainerGroupProfilesCreateOrUpdate.json │ │ │ │ ├── ContainerGroupProfilesDelete.json │ │ │ │ ├── ContainerGroupProfilesGet.json │ │ │ │ ├── ContainerGroupProfilesGetPriority.json │ │ │ │ ├── ContainerGroupProfilesList.json │ │ │ │ ├── ContainerGroupProfilesListByResourceGroup.json │ │ │ │ ├── ContainerGroupProfilesPatch.json │ │ │ │ ├── ContainerGroupUsage.json │ │ │ │ ├── ContainerGroupsCreateOrUpdate.json │ │ │ │ ├── ContainerGroupsCreateOrUpdateSecretReference.json │ │ │ │ ├── ContainerGroupsCreatePriority.json │ │ │ │ ├── ContainerGroupsDelete.json │ │ │ │ ├── ContainerGroupsGetPriority.json │ │ │ │ ├── ContainerGroupsGet_Failed.json │ │ │ │ ├── ContainerGroupsGet_Succeeded.json │ │ │ │ ├── ContainerGroupsList.json │ │ │ │ ├── ContainerGroupsListByResourceGroup.json │ │ │ │ ├── ContainerGroupsRestart.json │ │ │ │ ├── ContainerGroupsStart.json │ │ │ │ ├── ContainerGroupsStop.json │ │ │ │ ├── ContainerGroupsUpdate.json │ │ │ │ ├── ContainerListLogs.json │ │ │ │ ├── OperationsList.json │ │ │ │ └── SubnetServiceAssociationLinkDelete.json │ │ │ ├── readme.go.md │ │ │ ├── readme.java.md │ │ │ ├── readme.md │ │ │ ├── readme.nodejs.md │ │ │ ├── readme.python.md │ │ │ ├── readme.ruby.md │ │ │ └── readme.typescript.md │ ├── clients │ │ ├── apiversion.go │ │ ├── clients.go │ │ ├── mock_resourcedeploymentsclient.go │ │ ├── poller.go │ │ ├── providerconfig.go │ │ ├── providerconfig_test.go │ │ ├── resourcedeploymentoperationsclient.go │ │ ├── resourcedeploymentsclient.go │ │ ├── types.go │ │ └── types_test.go │ ├── connection.go │ ├── connection_direct.go │ ├── connection_direct_test.go │ ├── connection_kubernetes.go │ ├── connection_kubernetes_test.go │ ├── connection_location.go │ ├── connection_location_test.go │ ├── doc.go │ ├── health.go │ ├── health_test.go │ ├── pipeline.go │ └── v20241101preview │ │ ├── cgprofile_client.go │ │ ├── cgprofiles_client.go │ │ ├── constants.go │ │ ├── containergroups_client.go │ │ ├── containers_client.go │ │ ├── location_client.go │ │ ├── models.go │ │ ├── models_serde.go │ │ ├── ngroups_client.go │ │ ├── operations_client.go │ │ ├── response_types.go │ │ ├── subnetserviceassociationlink_client.go │ │ └── time_rfc3339.go ├── server │ ├── apiservice.go │ └── asyncworker.go ├── to │ ├── ptr.go │ ├── ptr_test.go │ ├── value.go │ └── value_test.go ├── ucp │ ├── api │ │ ├── README.md │ │ └── v20231001preview │ │ │ ├── apiversion_conversion.go │ │ │ ├── apiversion_conversion_test.go │ │ │ ├── aws_credential_conversion.go │ │ │ ├── aws_credential_conversion_test.go │ │ │ ├── awsplane_conversion.go │ │ │ ├── awsplane_conversion_test.go │ │ │ ├── azure_credential_conversion.go │ │ │ ├── azure_credential_conversion_test.go │ │ │ ├── azureplane_conversion.go │ │ │ ├── azureplane_conversion_test.go │ │ │ ├── common.go │ │ │ ├── fake │ │ │ ├── zz_generated_apiversions_server.go │ │ │ ├── zz_generated_awscredentials_server.go │ │ │ ├── zz_generated_awsplanes_server.go │ │ │ ├── zz_generated_azurecredentials_server.go │ │ │ ├── zz_generated_azureplanes_server.go │ │ │ ├── zz_generated_internal.go │ │ │ ├── zz_generated_locations_server.go │ │ │ ├── zz_generated_planes_server.go │ │ │ ├── zz_generated_radiusplanes_server.go │ │ │ ├── zz_generated_resourcegroups_server.go │ │ │ ├── zz_generated_resourceproviders_server.go │ │ │ ├── zz_generated_resources_server.go │ │ │ ├── zz_generated_resourcetypes_server.go │ │ │ ├── zz_generated_server_factory.go │ │ │ └── zz_generated_time_rfc3339.go │ │ │ ├── genericplane_conversion.go │ │ │ ├── genericplane_conversion_test.go │ │ │ ├── genericresource_conversion.go │ │ │ ├── genericresource_conversion_test.go │ │ │ ├── location_conversion.go │ │ │ ├── location_conversion_test.go │ │ │ ├── radiusplane_conversion.go │ │ │ ├── radiusplane_conversion_test.go │ │ │ ├── resourcegroup_conversion.go │ │ │ ├── resourcegroup_conversion_test.go │ │ │ ├── resourceprovider_conversion.go │ │ │ ├── resourceprovider_conversion_test.go │ │ │ ├── resourceprovidersummary_conversion.go │ │ │ ├── resourceprovidersummary_conversion_test.go │ │ │ ├── resourcetype_conversion.go │ │ │ ├── resourcetype_conversion_test.go │ │ │ ├── testdata │ │ │ ├── apiversion_datamodel.json │ │ │ ├── apiversion_resource.json │ │ │ ├── awsplane-datamodel-empty.json │ │ │ ├── awsplane-resource-empty.json │ │ │ ├── azureplane-datamodel-empty.json │ │ │ ├── azureplane-resource-empty.json │ │ │ ├── credentialresource-aws-accesskey.json │ │ │ ├── credentialresource-aws-irsa.json │ │ │ ├── credentialresource-azure-serviceprincipal.json │ │ │ ├── credentialresource-azure-workloadidentity.json │ │ │ ├── credentialresource-empty-properties.json │ │ │ ├── credentialresource-empty-storage-aws.json │ │ │ ├── credentialresource-empty-storage-azure.json │ │ │ ├── credentialresource-empty-storage-kind-aws.json │ │ │ ├── credentialresource-empty-storage-kind-azure.json │ │ │ ├── credentialresource-invalid-storagekind-aws.json │ │ │ ├── credentialresource-invalid-storagekind-azure.json │ │ │ ├── credentialresource-other.json │ │ │ ├── credentialresourcedatamodel-aws-accesskey.json │ │ │ ├── credentialresourcedatamodel-aws-irsa.json │ │ │ ├── credentialresourcedatamodel-azure-serviceprincipal.json │ │ │ ├── credentialresourcedatamodel-azure-workloadidentity.json │ │ │ ├── credentialresourcedatamodel-default.json │ │ │ ├── genericplane-datamodel-empty.json │ │ │ ├── genericresource_datamodel.json │ │ │ ├── location_datamodel.json │ │ │ ├── location_resource.json │ │ │ ├── planeresource-empty-resourceproviders.json │ │ │ ├── planeresource-invalid-missing-kind.json │ │ │ ├── planeresource-invalid-missing-url.json │ │ │ ├── planeresource-invalid-unsupported-kind.json │ │ │ ├── planeresource.json │ │ │ ├── planeresourcedatamodel.json │ │ │ ├── radiusplane-datamodel-empty.json │ │ │ ├── radiusplane-resource-empty.json │ │ │ ├── resourcegroup.json │ │ │ ├── resourcegroupresourcedatamodel.json │ │ │ ├── resourceprovider_datamodel.json │ │ │ ├── resourceprovider_resource.json │ │ │ ├── resourceprovidersummary_datamodel.json │ │ │ ├── resourcetype_datamodel.json │ │ │ └── resourcetype_resource.json │ │ │ ├── version.go │ │ │ ├── zz_generated_apiversions_client.go │ │ │ ├── zz_generated_awscredentials_client.go │ │ │ ├── zz_generated_awsplanes_client.go │ │ │ ├── zz_generated_azurecredentials_client.go │ │ │ ├── zz_generated_azureplanes_client.go │ │ │ ├── zz_generated_client_factory.go │ │ │ ├── zz_generated_constants.go │ │ │ ├── zz_generated_interfaces.go │ │ │ ├── zz_generated_locations_client.go │ │ │ ├── zz_generated_models.go │ │ │ ├── zz_generated_models_serde.go │ │ │ ├── zz_generated_options.go │ │ │ ├── zz_generated_planes_client.go │ │ │ ├── zz_generated_polymorphic_helpers.go │ │ │ ├── zz_generated_radiusplanes_client.go │ │ │ ├── zz_generated_resourcegroups_client.go │ │ │ ├── zz_generated_resourceproviders_client.go │ │ │ ├── zz_generated_resources_client.go │ │ │ ├── zz_generated_resourcetypes_client.go │ │ │ ├── zz_generated_responses.go │ │ │ └── zz_generated_time_rfc3339.go │ ├── aws │ │ ├── clients.go │ │ ├── cloudcontrolclient.go │ │ ├── cloudformationclient.go │ │ ├── errorhandler.go │ │ ├── mock_awscloudcontrolclient.go │ │ ├── mock_awscloudformationclient.go │ │ ├── servicecontext │ │ │ ├── awsrequestcontext.go │ │ │ ├── awsrequestcontext_test.go │ │ │ └── testdata │ │ │ │ └── armrpcheaders.json │ │ ├── ucpcredentialprovider.go │ │ └── ucpcredentialprovider_test.go │ ├── backend │ │ ├── controller │ │ │ ├── resourcegroups │ │ │ │ ├── trackedresourceprocess.go │ │ │ │ └── trackedresourceprocess_test.go │ │ │ └── resourceproviders │ │ │ │ ├── apiversion_delete.go │ │ │ │ ├── apiversion_delete_test.go │ │ │ │ ├── apiversion_put.go │ │ │ │ ├── apiversion_put_test.go │ │ │ │ ├── location_delete.go │ │ │ │ ├── location_delete_test.go │ │ │ │ ├── location_put.go │ │ │ │ ├── location_put_test.go │ │ │ │ ├── resourceprovider_delete.go │ │ │ │ ├── resourceprovider_delete_test.go │ │ │ │ ├── resourceprovider_put.go │ │ │ │ ├── resourcetype_delete.go │ │ │ │ ├── resourcetype_delete_test.go │ │ │ │ ├── resourcetype_put.go │ │ │ │ ├── resourcetype_put_test.go │ │ │ │ ├── util.go │ │ │ │ └── util_test.go │ │ └── service.go │ ├── config.go │ ├── config │ │ └── ucpoptions.go │ ├── credentials │ │ ├── aws.go │ │ ├── azure.go │ │ ├── types.go │ │ └── types_test.go │ ├── datamodel │ │ ├── apiversion.go │ │ ├── awsplane.go │ │ ├── awsresource.go │ │ ├── azureplane.go │ │ ├── capabilities.go │ │ ├── converter │ │ │ ├── apiversion_converter.go │ │ │ ├── awscredential_converter.go │ │ │ ├── awsplane_converter.go │ │ │ ├── azurecredential_converter.go │ │ │ ├── azureplane_converter.go │ │ │ ├── genericplane_converter.go │ │ │ ├── genericresource_converter.go │ │ │ ├── location_converter.go │ │ │ ├── radiusplane_converter.go │ │ │ ├── resourcegroup_converter.go │ │ │ ├── resourceprovider_converter.go │ │ │ ├── resourceprovidersummary_converter.go │ │ │ └── resourcetype_converter.go │ │ ├── credential.go │ │ ├── genericplane.go │ │ ├── genericresource.go │ │ ├── genericresource_test.go │ │ ├── location.go │ │ ├── radiusplane.go │ │ ├── resourcegroup.go │ │ ├── resourceprovider.go │ │ ├── resourceprovider_util.go │ │ ├── resourceprovider_util_test.go │ │ ├── resourceprovidersummary.go │ │ └── resourcetype.go │ ├── doc.go │ ├── frontend │ │ ├── api │ │ │ ├── routes.go │ │ │ ├── routes_test.go │ │ │ └── server.go │ │ ├── aws │ │ │ ├── module.go │ │ │ ├── routes.go │ │ │ └── routes_test.go │ │ ├── azure │ │ │ ├── module.go │ │ │ ├── routes.go │ │ │ └── routes_test.go │ │ ├── controller │ │ │ ├── awsproxy │ │ │ │ ├── awsparsing.go │ │ │ │ ├── awsparsing_test.go │ │ │ │ ├── awsproxytest.go │ │ │ │ ├── createorupdateawsresource.go │ │ │ │ ├── createorupdateawsresource_test.go │ │ │ │ ├── createorupdateawsresourcewithpost.go │ │ │ │ ├── createorupdateawsresourcewithpost_test.go │ │ │ │ ├── deleteawsresource.go │ │ │ │ ├── deleteawsresource_test.go │ │ │ │ ├── deleteawsresourcewithpost.go │ │ │ │ ├── deleteawsresourcewithpost_test.go │ │ │ │ ├── getawsoperationresults.go │ │ │ │ ├── getawsoperationresults_test.go │ │ │ │ ├── getawsoperationstatuses.go │ │ │ │ ├── getawsoperationstatuses_test.go │ │ │ │ ├── getawsresource.go │ │ │ │ ├── getawsresource_test.go │ │ │ │ ├── getawsresourcewithpost.go │ │ │ │ ├── getawsresourcewithpost_test.go │ │ │ │ ├── listawsresources.go │ │ │ │ ├── listawsresources_test.go │ │ │ │ └── options.go │ │ │ ├── credentials │ │ │ │ ├── aws │ │ │ │ │ ├── createorupdateawscredential.go │ │ │ │ │ ├── createorupdateawscredential_test.go │ │ │ │ │ ├── deleteawscredential.go │ │ │ │ │ ├── deleteawscredential_test.go │ │ │ │ │ ├── testdata │ │ │ │ │ │ ├── aws-credential.json │ │ │ │ │ │ ├── invalid-request-aws-credential.json │ │ │ │ │ │ ├── requestheaders20231001preview.json │ │ │ │ │ │ ├── requestheaders20231001preview_badapiversion.json │ │ │ │ │ │ └── requestheaders20231001preview_invalidcredential.json │ │ │ │ │ └── testfixtures.go │ │ │ │ ├── azure │ │ │ │ │ ├── createorupdateazurecredential.go │ │ │ │ │ ├── createorupdateazurecredential_test.go │ │ │ │ │ ├── deleteazurecredential.go │ │ │ │ │ ├── deleteazurecredential_test.go │ │ │ │ │ ├── testdata │ │ │ │ │ │ ├── azure-credential.json │ │ │ │ │ │ ├── invalid-request-azure-credential.json │ │ │ │ │ │ ├── requestheaders20231001preview.json │ │ │ │ │ │ ├── requestheaders20231001preview_badapiversion.json │ │ │ │ │ │ └── requestheaders20231001preview_invalidcredential.json │ │ │ │ │ └── testfixtures.go │ │ │ │ ├── utils.go │ │ │ │ └── utils_test.go │ │ │ ├── kubernetes │ │ │ │ ├── discoverydoc.go │ │ │ │ ├── openapiv2doc.go │ │ │ │ └── openapiv3doc.go │ │ │ ├── planes │ │ │ │ ├── listplanes.go │ │ │ │ ├── listplanes_test.go │ │ │ │ ├── listplanesbytype.go │ │ │ │ ├── listplanesbytype_test.go │ │ │ │ ├── proxycontroller.go │ │ │ │ ├── testdata │ │ │ │ │ ├── createazureplane.json │ │ │ │ │ ├── createucpnativeplane.json │ │ │ │ │ ├── createucpnativeplanenoproviders.json │ │ │ │ │ ├── requestheaders20231001preview.json │ │ │ │ │ ├── requestheaders20231001preview_azure.json │ │ │ │ │ └── requestheaders20231001preview_nonexistentplane.json │ │ │ │ └── types.go │ │ │ ├── radius │ │ │ │ ├── proxy.go │ │ │ │ └── proxy_test.go │ │ │ ├── resourcegroups │ │ │ │ ├── listresourcegroups.go │ │ │ │ ├── listresourcegroups_test.go │ │ │ │ ├── listresources.go │ │ │ │ ├── listresources_test.go │ │ │ │ ├── types.go │ │ │ │ ├── util.go │ │ │ │ └── util_test.go │ │ │ └── resourceproviders │ │ │ │ ├── getresourceprovidersummary.go │ │ │ │ ├── getresourceprovidersummary_test.go │ │ │ │ └── listresourceprovidersummaries.go │ │ ├── modules │ │ │ ├── errors.go │ │ │ └── types.go │ │ ├── radius │ │ │ ├── module.go │ │ │ ├── routes.go │ │ │ └── routes_test.go │ │ └── versions │ │ │ └── versions.go │ ├── initializer │ │ └── service.go │ ├── integrationtests │ │ ├── aws │ │ │ ├── awstest.go │ │ │ ├── createresource_test.go │ │ │ ├── createresourcewithpost_test.go │ │ │ ├── deleteresource_test.go │ │ │ ├── deleteresourcewithpost_test.go │ │ │ ├── getresource_test.go │ │ │ ├── getresourcewithpost_test.go │ │ │ ├── listresources_test.go │ │ │ ├── operationresults_test.go │ │ │ ├── operationstatuses_test.go │ │ │ ├── updateresource_test.go │ │ │ └── updateresourcewithpost_test.go │ │ ├── azure │ │ │ └── proxy_test.go │ │ ├── doc.go │ │ ├── handler_test.go │ │ ├── planes │ │ │ ├── aws_test.go │ │ │ ├── azure_test.go │ │ │ ├── planes_test.go │ │ │ ├── radius_test.go │ │ │ ├── testdata │ │ │ │ ├── awsplane_updated_v20231001preview_requestbody.json │ │ │ │ ├── awsplane_updated_v20231001preview_responsebody.json │ │ │ │ ├── awsplane_v20231001preview_list_responsebody.json │ │ │ │ ├── awsplane_v20231001preview_requestbody.json │ │ │ │ ├── awsplane_v20231001preview_responsebody.json │ │ │ │ ├── azureplane_updated_v20231001preview_requestbody.json │ │ │ │ ├── azureplane_updated_v20231001preview_responsebody.json │ │ │ │ ├── azureplane_v20231001preview_list_responsebody.json │ │ │ │ ├── azureplane_v20231001preview_requestbody.json │ │ │ │ ├── azureplane_v20231001preview_responsebody.json │ │ │ │ ├── genericplane_v20231001preview_list_responsebody.json │ │ │ │ ├── radiusplane_updated_v20231001preview_requestbody.json │ │ │ │ ├── radiusplane_updated_v20231001preview_responsebody.json │ │ │ │ ├── radiusplane_v20231001preview_list_responsebody.json │ │ │ │ ├── radiusplane_v20231001preview_requestbody.json │ │ │ │ └── radiusplane_v20231001preview_responsebody.json │ │ │ └── validation_test.go │ │ ├── radius │ │ │ └── proxy_test.go │ │ ├── resourcegroups │ │ │ ├── resourcegroups_test.go │ │ │ └── testdata │ │ │ │ ├── resourcegroup_invalid_v20231001preview_requestbody.json │ │ │ │ ├── resourcegroup_invalid_v20231001preview_responsebody.json │ │ │ │ ├── resourcegroup_updated_v20231001preview_requestbody.json │ │ │ │ ├── resourcegroup_updated_v20231001preview_responsebody.json │ │ │ │ ├── resourcegroup_v20231001preview_list_responsebody.json │ │ │ │ ├── resourcegroup_v20231001preview_requestbody.json │ │ │ │ └── resourcegroup_v20231001preview_responsebody.json │ │ ├── resourceproviders │ │ │ ├── apiversions_test.go │ │ │ ├── locations_test.go │ │ │ ├── resourceproviders_test.go │ │ │ ├── resourcetypes_test.go │ │ │ ├── summary_test.go │ │ │ ├── testdata │ │ │ │ ├── apiversion_v20231001preview_emptylist_responsebody.json │ │ │ │ ├── apiversion_v20231001preview_list_responsebody.json │ │ │ │ ├── apiversion_v20231001preview_requestbody.json │ │ │ │ ├── apiversion_v20231001preview_responsebody.json │ │ │ │ ├── location_v20231001preview_emptylist_responsebody.json │ │ │ │ ├── location_v20231001preview_list_responsebody.json │ │ │ │ ├── location_v20231001preview_requestbody.json │ │ │ │ ├── location_v20231001preview_responsebody.json │ │ │ │ ├── manifests │ │ │ │ │ └── resourceprovider-valid1.yaml │ │ │ │ ├── resourceprovider_manifest_list_responsebody.json │ │ │ │ ├── resourceprovider_manifest_requestbody.json │ │ │ │ ├── resourceprovider_manifest_responsebody.json │ │ │ │ ├── resourceprovider_v20231001preview_emptylist_responsebody.json │ │ │ │ ├── resourceprovider_v20231001preview_list_responsebody.json │ │ │ │ ├── resourceprovider_v20231001preview_requestbody.json │ │ │ │ ├── resourceprovider_v20231001preview_responsebody.json │ │ │ │ ├── resourcetype_manifest_list_responsebody.json │ │ │ │ ├── resourcetype_manifest_requestbody.json │ │ │ │ ├── resourcetype_manifest_responsebody.json │ │ │ │ ├── resourcetype_v20231001preview_emptylist_responsebody.json │ │ │ │ ├── resourcetype_v20231001preview_list_responsebody.json │ │ │ │ ├── resourcetype_v20231001preview_requestbody.json │ │ │ │ └── resourcetype_v20231001preview_responsebody.json │ │ │ └── util_test.go │ │ └── testrp │ │ │ ├── async.go │ │ │ ├── converter.go │ │ │ ├── datamodel.go │ │ │ ├── resource.go │ │ │ ├── sync.go │ │ │ └── testrp.go │ ├── options.go │ ├── proxy │ │ ├── arm.go │ │ ├── arm_test.go │ │ ├── async.go │ │ ├── async_test.go │ │ ├── kubernetes.go │ │ ├── logging.go │ │ ├── testdata │ │ │ └── arm │ │ │ │ ├── async-header-roundtrip-pathbase │ │ │ │ ├── downstream-request.json │ │ │ │ ├── downstream-response.json │ │ │ │ ├── upstream-request.json │ │ │ │ └── upstream-response.json │ │ │ │ ├── async-header-roundtrip │ │ │ │ ├── downstream-request.json │ │ │ │ ├── downstream-response.json │ │ │ │ ├── upstream-request.json │ │ │ │ └── upstream-response.json │ │ │ │ └── basic-roundtrip │ │ │ │ ├── downstream-request.json │ │ │ │ ├── downstream-response.json │ │ │ │ ├── upstream-request.json │ │ │ │ └── upstream-response.json │ │ ├── types.go │ │ └── types_test.go │ ├── resources │ │ ├── aws │ │ │ ├── aws.go │ │ │ ├── aws_test.go │ │ │ └── doc.go │ │ ├── azure │ │ │ ├── azure.go │ │ │ ├── doc.go │ │ │ └── resource_types.go │ │ ├── id.go │ │ ├── id_test.go │ │ ├── kubernetes │ │ │ ├── doc.go │ │ │ ├── kubernetes.go │ │ │ ├── kubernetes_test.go │ │ │ └── resource_types.go │ │ ├── radius │ │ │ ├── doc.go │ │ │ ├── radius.go │ │ │ └── radius_test.go │ │ ├── url.go │ │ └── url_test.go │ ├── server │ │ └── server.go │ ├── testhost │ │ ├── doc.go │ │ └── host.go │ ├── trackedresource │ │ ├── doc.go │ │ ├── name.go │ │ ├── name_test.go │ │ ├── update.go │ │ └── update_test.go │ ├── ucplog │ │ ├── doc.go │ │ ├── log.go │ │ ├── log_test.go │ │ ├── logfields.go │ │ └── types.go │ └── util │ │ ├── etag │ │ ├── etag.go │ │ └── etag_test.go │ │ ├── normalize.go │ │ └── normalize_test.go ├── upgrade │ ├── README.md │ └── preflight │ │ ├── installation_check.go │ │ ├── installation_check_test.go │ │ ├── kubernetes_check.go │ │ ├── kubernetes_check_test.go │ │ ├── registry.go │ │ ├── registry_test.go │ │ ├── resource_check.go │ │ ├── resource_check_test.go │ │ ├── types.go │ │ ├── version_check.go │ │ └── version_check_test.go ├── validator │ ├── apivalidator.go │ ├── apivalidator_test.go │ ├── loader.go │ ├── loader_test.go │ ├── testdata │ │ ├── put-environments-invalid-json.json │ │ ├── put-environments-invalid-missing-kind.json │ │ ├── put-environments-invalid-missing-location.json │ │ ├── put-environments-invalid-missing-locationandkind.json │ │ ├── put-environments-valid-selfhost.json │ │ └── put-environments-valid.json │ ├── validator.go │ └── validator_test.go └── version │ ├── handler.go │ └── version.go ├── swagger ├── doc.go ├── specification │ ├── applications │ │ └── resource-manager │ │ │ ├── Applications.Core │ │ │ └── preview │ │ │ │ └── 2023-10-01-preview │ │ │ │ ├── examples │ │ │ │ ├── Applications_CreateOrUpdate.json │ │ │ │ ├── Applications_Delete.json │ │ │ │ ├── Applications_Get.json │ │ │ │ ├── Applications_List.json │ │ │ │ ├── Applications_ListByScope.json │ │ │ │ ├── Applications_Update.json │ │ │ │ ├── Containers_CreateOrUpdate.json │ │ │ │ ├── Containers_CreateOrUpdate_BaseManifest.json │ │ │ │ ├── Containers_Delete.json │ │ │ │ ├── Containers_Get.json │ │ │ │ ├── Containers_List.json │ │ │ │ ├── Containers_ListByScope.json │ │ │ │ ├── Environments_CreateOrUpdate.json │ │ │ │ ├── Environments_DeleteEnv0.json │ │ │ │ ├── Environments_GetEnv0.json │ │ │ │ ├── Environments_GetRecipeMetadata.json │ │ │ │ ├── Environments_List.json │ │ │ │ ├── Environments_ListByScope.json │ │ │ │ ├── Environments_PatchEnv0.json │ │ │ │ ├── Extenders_CreateOrUpdate.json │ │ │ │ ├── Extenders_CreateOrUpdateWithRecipe.json │ │ │ │ ├── Extenders_Delete.json │ │ │ │ ├── Extenders_Get.json │ │ │ │ ├── Extenders_List.json │ │ │ │ ├── Extenders_ListByRootScope.json │ │ │ │ ├── Extenders_ListSecrets.json │ │ │ │ ├── Extenders_Update.json │ │ │ │ ├── Gateways_CreateOrUpdate.json │ │ │ │ ├── Gateways_Delete.json │ │ │ │ ├── Gateways_Get.json │ │ │ │ ├── Gateways_List.json │ │ │ │ ├── Gateways_ListByScope.json │ │ │ │ ├── Operations_List.json │ │ │ │ ├── SecretStores_CreateOrUpdate.json │ │ │ │ ├── SecretStores_CreateOrUpdateValueFrom.json │ │ │ │ ├── SecretStores_CreateOrUpdate_GlobalScope.json │ │ │ │ ├── SecretStores_Delete.json │ │ │ │ ├── SecretStores_Get.json │ │ │ │ ├── SecretStores_Get_AzureKeyVault.json │ │ │ │ ├── SecretStores_List.json │ │ │ │ ├── SecretStores_ListSecrets.json │ │ │ │ ├── SecretStores_Update.json │ │ │ │ ├── Volumes_CreateOrUpdate.json │ │ │ │ ├── Volumes_Delete.json │ │ │ │ ├── Volumes_Get.json │ │ │ │ ├── Volumes_List.json │ │ │ │ ├── Volumes_ListByScope.json │ │ │ │ └── Volumes_Update.json │ │ │ │ └── openapi.json │ │ │ ├── Applications.Dapr │ │ │ └── preview │ │ │ │ └── 2023-10-01-preview │ │ │ │ ├── examples │ │ │ │ ├── ConfigurationStores_CreateOrUpdate.json │ │ │ │ ├── ConfigurationStores_CreateOrUpdateWithRecipe.json │ │ │ │ ├── ConfigurationStores_Delete.json │ │ │ │ ├── ConfigurationStores_Get.json │ │ │ │ ├── ConfigurationStores_List.json │ │ │ │ ├── ConfigurationStores_ListByRootScope.json │ │ │ │ ├── ConfigurationStores_Update.json │ │ │ │ ├── PubSubBrokers_CreateOrUpdate.json │ │ │ │ ├── PubSubBrokers_CreateOrUpdateWithRecipe.json │ │ │ │ ├── PubSubBrokers_Delete.json │ │ │ │ ├── PubSubBrokers_Get.json │ │ │ │ ├── PubSubBrokers_List.json │ │ │ │ ├── PubSubBrokers_ListByRootScope.json │ │ │ │ ├── PubSubBrokers_Update.json │ │ │ │ ├── SecretStores_CreateOrUpdate.json │ │ │ │ ├── SecretStores_Delete.json │ │ │ │ ├── SecretStores_Get.json │ │ │ │ ├── SecretStores_List.json │ │ │ │ ├── SecretStores_ListByRootScope.json │ │ │ │ ├── SecretStores_Update.json │ │ │ │ ├── StateStores_CreateOrUpdate.json │ │ │ │ ├── StateStores_CreateOrUpdateWithRecipe.json │ │ │ │ ├── StateStores_Delete.json │ │ │ │ ├── StateStores_Get.json │ │ │ │ ├── StateStores_List.json │ │ │ │ ├── StateStores_ListByRootScope.json │ │ │ │ └── StateStores_Update.json │ │ │ │ └── openapi.json │ │ │ ├── Applications.Datastores │ │ │ └── preview │ │ │ │ └── 2023-10-01-preview │ │ │ │ ├── examples │ │ │ │ ├── MongoDatabases_CreateOrUpdateRecipe.json │ │ │ │ ├── MongoDatabases_CreateOrUpdateValues.json │ │ │ │ ├── MongoDatabases_Delete.json │ │ │ │ ├── MongoDatabases_Get.json │ │ │ │ ├── MongoDatabases_List.json │ │ │ │ ├── MongoDatabases_ListByRootScope.json │ │ │ │ ├── MongoDatabases_ListSecrets.json │ │ │ │ ├── MongoDatabases_Update.json │ │ │ │ ├── RedisCaches_CreateOrUpdate.json │ │ │ │ ├── RedisCaches_CreateOrUpdateRecipe.json │ │ │ │ ├── RedisCaches_CreateOrUpdateValues.json │ │ │ │ ├── RedisCaches_Delete.json │ │ │ │ ├── RedisCaches_Get.json │ │ │ │ ├── RedisCaches_List.json │ │ │ │ ├── RedisCaches_ListByRootScope.json │ │ │ │ ├── RedisCaches_ListSecrets.json │ │ │ │ ├── RedisCaches_Update.json │ │ │ │ ├── SQLDatabases_CreateOrUpdate.json │ │ │ │ ├── SQLDatabases_Delete.json │ │ │ │ ├── SQLDatabases_Get.json │ │ │ │ ├── SQLDatabases_List.json │ │ │ │ ├── SQLDatabases_ListByRootScope.json │ │ │ │ └── SQLDatabases_Update.json │ │ │ │ └── openapi.json │ │ │ ├── Applications.Messaging │ │ │ └── preview │ │ │ │ └── 2023-10-01-preview │ │ │ │ ├── examples │ │ │ │ ├── RabbitMQQueues_CreateOrUpdate.json │ │ │ │ ├── RabbitMQQueues_Delete.json │ │ │ │ ├── RabbitMQQueues_Get.json │ │ │ │ ├── RabbitMQQueues_List.json │ │ │ │ ├── RabbitMQQueues_ListByRootScope.json │ │ │ │ ├── RabbitMQQueues_ListSecrets.json │ │ │ │ └── RabbitMQQueues_Update.json │ │ │ │ └── openapi.json │ │ │ ├── Test.Resource │ │ │ ├── preview │ │ │ │ └── 2022-08-19-preview │ │ │ │ │ ├── examples │ │ │ │ │ ├── TestAsyncResource_CreateOrUpdate.json │ │ │ │ │ ├── TestAsyncResource_Delete.json │ │ │ │ │ ├── TestAsyncResource_Get.json │ │ │ │ │ ├── TestAsyncResource_List.json │ │ │ │ │ ├── TestAsyncResource_ListByScope.json │ │ │ │ │ └── TestAsyncResource_Update.json │ │ │ │ │ └── openapi.json │ │ │ └── stable │ │ │ │ └── 2023-08-19 │ │ │ │ ├── examples │ │ │ │ ├── TestAsyncResource_CreateOrUpdate.json │ │ │ │ ├── TestAsyncResource_Delete.json │ │ │ │ ├── TestAsyncResource_Get.json │ │ │ │ ├── TestAsyncResource_List.json │ │ │ │ ├── TestAsyncResource_ListByScope.json │ │ │ │ ├── TestAsyncResource_Update.json │ │ │ │ ├── TestSyncResource_CreateOrUpdate.json │ │ │ │ ├── TestSyncResource_Get.json │ │ │ │ ├── TestSyncResource_List.json │ │ │ │ ├── TestSyncResource_ListByScope.json │ │ │ │ └── TestSyncResource_Update.json │ │ │ │ └── openapi.json │ │ │ ├── readme.az.md │ │ │ ├── readme.cli.md │ │ │ ├── readme.csharp.md │ │ │ ├── readme.go.md │ │ │ ├── readme.md │ │ │ ├── readme.python.md │ │ │ └── readme.typescript.md │ ├── common-types │ │ └── resource-management │ │ │ ├── v2 │ │ │ ├── README.md │ │ │ ├── privatelinks.json │ │ │ └── types.json │ │ │ ├── v3 │ │ │ ├── managedidentity.json │ │ │ ├── privatelinks.json │ │ │ └── types.json │ │ │ └── v5 │ │ │ ├── customermanagedkeys.json │ │ │ ├── managedidentity.json │ │ │ ├── managedidentitywithdelegation.json │ │ │ ├── mobo.json │ │ │ ├── privatelinks.json │ │ │ └── types.json │ └── ucp │ │ └── resource-manager │ │ └── UCP │ │ └── preview │ │ └── 2023-10-01-preview │ │ ├── examples │ │ ├── AWSCredential_AccessKey_CreateOrUpdate.json │ │ ├── AWSCredential_AccessKey_Delete.json │ │ ├── AWSCredential_AccessKey_Get.json │ │ ├── AWSCredential_AccessKey_List.json │ │ ├── AWSCredential_AccessKey_Update.json │ │ ├── AWSCredential_IRSA_CreateOrUpdate.json │ │ ├── AWSCredential_IRSA_Delete.json │ │ ├── AWSCredential_IRSA_Get.json │ │ ├── AWSCredential_IRSA_List.json │ │ ├── AWSCredential_IRSA_Update.json │ │ ├── AWSCredential_List.json │ │ ├── AWSCredential_Update.json │ │ ├── ApiVersions_CreateOrUpdate.json │ │ ├── ApiVersions_Delete.json │ │ ├── ApiVersions_Get.json │ │ ├── ApiVersions_List.json │ │ ├── AwsCredentials_Update.json │ │ ├── AwsPlanes_CreateOrUpdate.json │ │ ├── AwsPlanes_Delete.json │ │ ├── AwsPlanes_Get.json │ │ ├── AwsPlanes_List.json │ │ ├── AwsPlanes_Update.json │ │ ├── AzureCredential_CreateOrUpdate.json │ │ ├── AzureCredential_Delete.json │ │ ├── AzureCredential_Get.json │ │ ├── AzureCredential_List.json │ │ ├── AzureCredential_ServicePrincipal_CreateOrUpdate.json │ │ ├── AzureCredential_ServicePrincipal_Delete.json │ │ ├── AzureCredential_ServicePrincipal_Get.json │ │ ├── AzureCredential_ServicePrincipal_List.json │ │ ├── AzureCredential_ServicePrincipal_Update.json │ │ ├── AzureCredential_Update.json │ │ ├── AzureCredential_WorkloadIdentity_CreateOrUpdate.json │ │ ├── AzureCredential_WorkloadIdentity_Delete.json │ │ ├── AzureCredential_WorkloadIdentity_Get.json │ │ ├── AzureCredential_WorkloadIdentity_List.json │ │ ├── AzureCredential_WorkloadIdentity_Update.json │ │ ├── AzureCredentials_CreateOrUpdate.json │ │ ├── AzureCredentials_Delete.json │ │ ├── AzureCredentials_Get.json │ │ ├── AzureCredentials_List.json │ │ ├── AzureCredentials_Update.json │ │ ├── AzurePlanes_CreateOrUpdate.json │ │ ├── AzurePlanes_Delete.json │ │ ├── AzurePlanes_Get.json │ │ ├── AzurePlanes_List.json │ │ ├── AzurePlanes_Update.json │ │ ├── Locations_CreateOrUpdate.json │ │ ├── Locations_Delete.json │ │ ├── Locations_Get.json │ │ ├── Locations_List.json │ │ ├── Planes_List.json │ │ ├── RadiusPlanes_CreateOrUpdate.json │ │ ├── RadiusPlanes_Delete.json │ │ ├── RadiusPlanes_Get.json │ │ ├── RadiusPlanes_List.json │ │ ├── RadiusPlanes_Update.json │ │ ├── ResourceGroups_CreateOrUpdate.json │ │ ├── ResourceGroups_Delete.json │ │ ├── ResourceGroups_Get.json │ │ ├── ResourceGroups_List.json │ │ ├── ResourceGroups_Update.json │ │ ├── ResourceProviders_CreateOrUpdate.json │ │ ├── ResourceProviders_Delete.json │ │ ├── ResourceProviders_Get.json │ │ ├── ResourceProviders_GetProviderSummary.json │ │ ├── ResourceProviders_List.json │ │ ├── ResourceProviders_ListProviderSummaries.json │ │ ├── ResourceTypes_CreateOrUpdate.json │ │ ├── ResourceTypes_Delete.json │ │ ├── ResourceTypes_Get.json │ │ ├── ResourceTypes_List.json │ │ └── Resources_List.json │ │ └── openapi.json └── specs.go ├── test ├── crd │ ├── README.md │ ├── flux │ │ └── source.toolkit.fluxcd.io_gitrepositories.yaml │ └── generator.go ├── createAzureTestResources.bicep ├── executeFunctionalTest.sh ├── functional-portable │ ├── cli │ │ └── noncloud │ │ │ ├── cli_test.go │ │ │ └── testdata │ │ │ ├── corerp-kubernetes-cli-app-empty-resources.bicep │ │ │ ├── corerp-kubernetes-cli-parameters.bicep │ │ │ ├── corerp-kubernetes-cli-run-portforward.bicep │ │ │ ├── corerp-kubernetes-cli-run.bicep │ │ │ ├── corerp-kubernetes-cli-with-resources.bicep │ │ │ ├── corerp-kubernetes-cli-with-unassociated-resources.bicep │ │ │ ├── corerp-kubernetes-cli.bicep │ │ │ ├── corerp-kubernetes-cli.json │ │ │ └── corerp-resources-recipe-env.bicep │ ├── corerp │ │ ├── cloud │ │ │ ├── mechanics │ │ │ │ ├── aws_mechanics_test.go │ │ │ │ └── testdata │ │ │ │ │ ├── aws-mechanics-redeploy-withcreateandwritepropertyupdate.step1.bicep │ │ │ │ │ ├── aws-mechanics-redeploy-withcreateandwritepropertyupdate.step2.bicep │ │ │ │ │ ├── aws-mechanics-redeploy-withupdatedresource.step1.bicep │ │ │ │ │ └── aws-mechanics-redeploy-withupdatedresource.step2.bicep │ │ │ └── resources │ │ │ │ ├── aci_test.go │ │ │ │ ├── aws_multi_identifier_resource_test.go │ │ │ │ ├── aws_s3_bucket_test.go │ │ │ │ ├── azure_connections_test.go │ │ │ │ ├── extender_test.go │ │ │ │ ├── persistent_volume_test.go │ │ │ │ ├── recipe_terraform_test.go │ │ │ │ ├── storage_test.go │ │ │ │ └── testdata │ │ │ │ ├── aws-multi-identifier.bicep │ │ │ │ ├── aws-s3-bucket-existing.bicep │ │ │ │ ├── aws-s3-bucket.bicep │ │ │ │ ├── corerp-aci.bicep │ │ │ │ ├── corerp-azure-connection-database-service.bicep │ │ │ │ ├── corerp-resources-container-workload.bicep │ │ │ │ ├── corerp-resources-extender-aws-s3-recipe.bicep │ │ │ │ ├── corerp-resources-terraform-azurerg.bicep │ │ │ │ ├── corerp-resources-terraform-private-git-repo-redis.bicep │ │ │ │ └── corerp-resources-volume-azure-keyvault.bicep │ │ ├── noncloud │ │ │ ├── api_test.go │ │ │ ├── mechanics │ │ │ │ ├── k8s_extensibility_test.go │ │ │ │ ├── mechanics_test.go │ │ │ │ └── testdata │ │ │ │ │ ├── corerp-mechanics-communication-cycle.bicep │ │ │ │ │ ├── corerp-mechanics-invalid-resourceids.bicep │ │ │ │ │ ├── corerp-mechanics-nestedmodules.bicep │ │ │ │ │ ├── corerp-mechanics-redeploy-withanotherresource.step1.bicep │ │ │ │ │ ├── corerp-mechanics-redeploy-withanotherresource.step2.bicep │ │ │ │ │ ├── corerp-mechanics-redeploy-withtwoseparateresource.step1.bicep │ │ │ │ │ ├── corerp-mechanics-redeploy-withtwoseparateresource.step2.bicep │ │ │ │ │ ├── corerp-mechanics-redeploy-withupdatedresource.step1.bicep │ │ │ │ │ ├── corerp-mechanics-redeploy-withupdatedresource.step2.bicep │ │ │ │ │ ├── k8s-extensibility │ │ │ │ │ ├── connection-string.bicep │ │ │ │ │ ├── secret.input.yaml │ │ │ │ │ ├── secret.output.yaml │ │ │ │ │ └── service.input.yaml │ │ │ │ │ └── modules │ │ │ │ │ ├── corerp-mechanics-nestedmodules-innerapp.bicep │ │ │ │ │ └── corerp-mechanics-nestedmodules-outerapp.bicep │ │ │ └── resources │ │ │ │ ├── application_environment_test.go │ │ │ │ ├── application_test.go │ │ │ │ ├── container_runtimes_test.go │ │ │ │ ├── container_test.go │ │ │ │ ├── container_versioning_test.go │ │ │ │ ├── environment_test.go │ │ │ │ ├── extender_test.go │ │ │ │ ├── gateway_test.go │ │ │ │ ├── kubemetadata_cascade_test.go │ │ │ │ ├── kubemetadata_container_test.go │ │ │ │ ├── kubemetadata_gateway_test.go │ │ │ │ ├── recipe_bicep_test.go │ │ │ │ ├── recipe_terraform_test.go │ │ │ │ ├── recipe_test.go │ │ │ │ ├── simulated_environment_test.go │ │ │ │ └── testdata │ │ │ │ ├── containers │ │ │ │ ├── corerp-resources-friendly-container-version-1.bicep │ │ │ │ └── corerp-resources-friendly-container-version-2.bicep │ │ │ │ ├── corerp-azure-container-manualscale.bicep │ │ │ │ ├── corerp-resources-app-env.bicep │ │ │ │ ├── corerp-resources-application-graph-out.json │ │ │ │ ├── corerp-resources-application-graph.bicep │ │ │ │ ├── corerp-resources-application.bicep │ │ │ │ ├── corerp-resources-container-bad-healthprobe.bicep │ │ │ │ ├── corerp-resources-container-cmd-args.bicep │ │ │ │ ├── corerp-resources-container-liveness-readiness.bicep │ │ │ │ ├── corerp-resources-container-manifest-sidecar.bicep │ │ │ │ ├── corerp-resources-container-manifest.bicep │ │ │ │ ├── corerp-resources-container-multiple-containers-multiple-ports-dns.bicep │ │ │ │ ├── corerp-resources-container-multiple-ports.bicep │ │ │ │ ├── corerp-resources-container-nonexistent-container-image.bicep │ │ │ │ ├── corerp-resources-container-optional-port-scheme.bicep │ │ │ │ ├── corerp-resources-container-pod-patching.bicep │ │ │ │ ├── corerp-resources-container-secrets.bicep │ │ │ │ ├── corerp-resources-container-single-dns-request.bicep │ │ │ │ ├── corerp-resources-container-single-dns-service-creation.bicep │ │ │ │ ├── corerp-resources-container-two-containers-dns.bicep │ │ │ │ ├── corerp-resources-container.bicep │ │ │ │ ├── corerp-resources-environment.bicep │ │ │ │ ├── corerp-resources-extender-recipe.bicep │ │ │ │ ├── corerp-resources-extender.bicep │ │ │ │ ├── corerp-resources-gateway-dns.bicep │ │ │ │ ├── corerp-resources-gateway-failure.bicep │ │ │ │ ├── corerp-resources-gateway-kubernetesmetadata.bicep │ │ │ │ ├── corerp-resources-gateway-sslpassthrough.bicep │ │ │ │ ├── corerp-resources-gateway-timeout-ber.bicep │ │ │ │ ├── corerp-resources-gateway-timeout-invalid.bicep │ │ │ │ ├── corerp-resources-gateway-timeout.bicep │ │ │ │ ├── corerp-resources-gateway-tlstermination.bicep │ │ │ │ ├── corerp-resources-httproute-kubernetesmetadata.bicep │ │ │ │ ├── corerp-resources-kubemetadata-cascade.bicep │ │ │ │ ├── corerp-resources-kubemetadata-container.bicep │ │ │ │ ├── corerp-resources-recipe-bicep-resourcecreation.step0.bicep │ │ │ │ ├── corerp-resources-recipe-bicep-resourcecreation.step1.bicep │ │ │ │ ├── corerp-resources-recipe-bicep.bicep │ │ │ │ ├── corerp-resources-recipe-notfound.bicep │ │ │ │ ├── corerp-resources-simulatedenv.bicep │ │ │ │ ├── corerp-resources-terraform-context.bicep │ │ │ │ ├── corerp-resources-terraform-postgres.bicep │ │ │ │ ├── corerp-resources-terraform-recipe-terraform.bicep │ │ │ │ ├── corerp-resources-terraform-redis.bicep │ │ │ │ ├── manifest │ │ │ │ ├── basemanifest.yaml │ │ │ │ └── sidecar.yaml │ │ │ │ └── parameters │ │ │ │ └── test-tls-cert.parameters.json │ │ └── util.go │ ├── daprrp │ │ └── noncloud │ │ │ └── resources │ │ │ ├── common.go │ │ │ ├── dapr_component_name_conflict_test.go │ │ │ ├── dapr_configurationstore_test.go │ │ │ ├── dapr_pubsub_test.go │ │ │ ├── dapr_secretstore_test.go │ │ │ ├── dapr_serviceinvocation_test.go │ │ │ ├── dapr_statestore_test.go │ │ │ └── testdata │ │ │ ├── daprrp-resources-component-name-conflict.bicep │ │ │ ├── daprrp-resources-configurationstore-manual-secret.bicep │ │ │ ├── daprrp-resources-configurationstore-manual.bicep │ │ │ ├── daprrp-resources-configurationstore-recipe.bicep │ │ │ ├── daprrp-resources-pubsub-broker-manual-secret.bicep │ │ │ ├── daprrp-resources-pubsub-broker-manual.bicep │ │ │ ├── daprrp-resources-pubsub-broker-recipe.bicep │ │ │ ├── daprrp-resources-secretstore-manual.bicep │ │ │ ├── daprrp-resources-secretstore-recipe.bicep │ │ │ ├── daprrp-resources-serviceinvocation.bicep │ │ │ ├── daprrp-resources-statestore-manual-secret.bicep │ │ │ ├── daprrp-resources-statestore-manual.bicep │ │ │ └── daprrp-resources-statestore-recipe.bicep │ ├── datastoresrp │ │ └── noncloud │ │ │ └── resources │ │ │ ├── mongodb_test.go │ │ │ ├── redis_test.go │ │ │ ├── simulated_environment_test.go │ │ │ └── testdata │ │ │ ├── datastoresrp-resources-mongodb-recipe.bicep │ │ │ ├── datastoresrp-resources-redis-default-recipe.bicep │ │ │ ├── datastoresrp-resources-redis-manual.bicep │ │ │ ├── datastoresrp-resources-redis-recipe.bicep │ │ │ ├── datastoresrp-resources-simulatedenv-recipe.bicep │ │ │ └── datastoresrp-rs-mongodb-manual.bicep │ ├── dynamicrp │ │ └── noncloud │ │ │ └── resources │ │ │ ├── bicepconfig.json │ │ │ ├── dynamicrp_test.go │ │ │ └── testdata │ │ │ ├── externalresource.bicep │ │ │ ├── postgres-env-scoped-resource.bicep │ │ │ ├── postgres-existing-and-cntr.bicep │ │ │ ├── testresourcetypes.yaml │ │ │ └── usertypealpha-recipe.bicep │ ├── kubernetes │ │ └── noncloud │ │ │ ├── deploymenttemplate_test.go │ │ │ ├── flux_test.go │ │ │ ├── gitops_test.go │ │ │ ├── kubernetes_test.go │ │ │ └── testdata │ │ │ ├── env │ │ │ ├── env.bicep │ │ │ └── env.json │ │ │ ├── gitops │ │ │ ├── basic │ │ │ │ ├── step1 │ │ │ │ │ ├── flux-basic.bicep │ │ │ │ │ └── radius-gitops-config.yaml │ │ │ │ └── step2 │ │ │ │ │ └── radius-gitops-config.yaml │ │ │ └── complex │ │ │ │ ├── step1 │ │ │ │ ├── flux-complex-dependency.bicep │ │ │ │ ├── flux-complex.bicep │ │ │ │ ├── flux-complex.bicepparam │ │ │ │ └── radius-gitops-config.yaml │ │ │ │ ├── step2 │ │ │ │ ├── flux-complex-dependency.bicep │ │ │ │ ├── flux-complex.bicep │ │ │ │ ├── flux-complex.bicepparam │ │ │ │ └── radius-gitops-config.yaml │ │ │ │ └── step3 │ │ │ │ └── radius-gitops-config.yaml │ │ │ ├── module │ │ │ ├── module-dependency.bicep │ │ │ ├── module.bicep │ │ │ └── module.json │ │ │ ├── recipe │ │ │ ├── recipe.bicep │ │ │ └── recipe.json │ │ │ └── tutorial-environment.bicep │ ├── messagingrp │ │ └── noncloud │ │ │ └── resources │ │ │ ├── rabbitmq_test.go │ │ │ └── testdata │ │ │ ├── msgrp-resources-rabbitmq-recipe.bicep │ │ │ └── msgrp-resources-rabbitmq.bicep │ ├── samples │ │ └── noncloud │ │ │ ├── README.md │ │ │ ├── testdata │ │ │ └── tutorial-environment.bicep │ │ │ └── tutorial_test.go │ └── ucp │ │ ├── cloud │ │ ├── aws_credential_test.go │ │ ├── aws_test.go │ │ └── azure_credential_test.go │ │ └── noncloud │ │ ├── plane_test.go │ │ ├── resourcegroup_test.go │ │ ├── resourceprovider_test.go │ │ ├── testdata │ │ └── resourceprovider.yaml │ │ └── tracked_resource_test.go ├── infra │ ├── README.md │ └── azure │ │ ├── README.md │ │ ├── bicepconfig.json │ │ ├── main.bicep │ │ └── modules │ │ ├── akscluster.bicep │ │ ├── alert-management.bicep │ │ ├── ama-metrics-setting-configmap.bicep │ │ ├── assign-role.bicep │ │ ├── bootstrap.sh │ │ ├── datacollection-dcra.bicep │ │ ├── datacollection.bicep │ │ ├── deployment-script.bicep │ │ ├── grafana-onboard-metrics.bicep │ │ ├── grafana.bicep │ │ ├── loganalytics-datacollection.bicep │ │ └── loganalytics-workspace.bicep ├── k8sutil │ ├── doc.go │ ├── fake.go │ └── fakeresources.go ├── magpiego │ ├── Dockerfile │ ├── bindings │ │ ├── bindings.go │ │ ├── daprconfigurationstore.go │ │ ├── daprhttp.go │ │ ├── daprpubsub.go │ │ ├── daprsecretstore.go │ │ ├── daprstatestore.go │ │ ├── keyvault.go │ │ ├── microsoftsql.go │ │ ├── mongo.go │ │ ├── rabbitmq.go │ │ ├── redis.go │ │ ├── servicebus.go │ │ └── storage.go │ ├── go.mod │ ├── go.sum │ ├── main.go │ └── server.go ├── options.go ├── radcli │ ├── cli.go │ └── shared.go ├── rp │ └── rptest.go ├── step │ ├── deployerrorexecutor.go │ ├── deployexecutor.go │ ├── funcexecutor.go │ └── interface.go ├── testcontext │ └── testcontext.go ├── testrecipes │ ├── modules │ │ └── redis-selfhost.bicep │ ├── test-bicep-recipes │ │ ├── README.md │ │ ├── _resource-creation.bicep │ │ ├── context-parameter.bicep │ │ ├── corerp-redis-recipe.bicep │ │ ├── dapr-configuration-store.bicep │ │ ├── dapr-pubsub-broker.bicep │ │ ├── dapr-secret-store.bicep │ │ ├── dapr-state-store.bicep │ │ ├── dynamicrp_postgress_recipe.bicep │ │ ├── dynamicrp_recipe.bicep │ │ ├── empty-recipe.bicep │ │ ├── extender-recipe.bicep │ │ ├── extenders-aws-s3-recipe.bicep │ │ ├── mongodb-recipe-context.bicep │ │ ├── mongodb-recipe-kubernetes.bicep │ │ ├── parameters-outputs.bicep │ │ ├── rabbitmq-recipe.bicep │ │ ├── redis-recipe-value-backed.bicep │ │ ├── resource-creation-failure.bicep │ │ ├── resource-creation.bicep │ │ ├── sqldb-recipe.bicep │ │ └── wrong-output.bicep │ └── test-terraform-recipes │ │ ├── README.md │ │ ├── azure-rg │ │ ├── main.tf │ │ └── variables.tf │ │ ├── k8ssecret-context │ │ ├── main.tf │ │ └── variables.tf │ │ ├── kubernetes-redis │ │ └── modules │ │ │ ├── main.tf │ │ │ └── variables.tf │ │ ├── parameter-outputs │ │ ├── output.tf │ │ └── variables.tf │ │ ├── postgres │ │ ├── main.tf │ │ └── variables.tf │ │ └── wrong-output │ │ └── output.tf ├── testrp │ ├── Dockerfile │ ├── go.mod │ └── testrp.go ├── testutil │ ├── doc.go │ ├── resourcetypeutil │ │ └── types.go │ ├── testutil.go │ └── util.go ├── ucp │ ├── httpbaseline │ │ └── baseline.go │ ├── kubeenv │ │ └── testenv.go │ ├── queuetest │ │ └── shared.go │ ├── storetest │ │ └── shared.go │ └── ucptest.go └── validation │ ├── aws.go │ ├── k8s.go │ └── shared.go ├── typespec ├── Applications.Core │ ├── applications.tsp │ ├── common.tsp │ ├── containers.tsp │ ├── environments.tsp │ ├── examples │ │ └── 2023-10-01-preview │ │ │ ├── Applications_CreateOrUpdate.json │ │ │ ├── Applications_Delete.json │ │ │ ├── Applications_Get.json │ │ │ ├── Applications_List.json │ │ │ ├── Applications_ListByScope.json │ │ │ ├── Applications_Update.json │ │ │ ├── Containers_CreateOrUpdate.json │ │ │ ├── Containers_CreateOrUpdate_BaseManifest.json │ │ │ ├── Containers_Delete.json │ │ │ ├── Containers_Get.json │ │ │ ├── Containers_List.json │ │ │ ├── Containers_ListByScope.json │ │ │ ├── Containers_Update.json │ │ │ ├── Environments_CreateOrUpdate.json │ │ │ ├── Environments_DeleteEnv0.json │ │ │ ├── Environments_GetEnv0.json │ │ │ ├── Environments_GetRecipeMetadata.json │ │ │ ├── Environments_List.json │ │ │ ├── Environments_ListByScope.json │ │ │ ├── Environments_PatchEnv0.json │ │ │ ├── Extenders_CreateOrUpdate.json │ │ │ ├── Extenders_CreateOrUpdateWithRecipe.json │ │ │ ├── Extenders_Delete.json │ │ │ ├── Extenders_Get.json │ │ │ ├── Extenders_List.json │ │ │ ├── Extenders_ListByRootScope.json │ │ │ ├── Extenders_ListSecrets.json │ │ │ ├── Extenders_Update.json │ │ │ ├── Gateways_CreateOrUpdate.json │ │ │ ├── Gateways_Delete.json │ │ │ ├── Gateways_Get.json │ │ │ ├── Gateways_List.json │ │ │ ├── Gateways_ListByScope.json │ │ │ ├── Gateways_Update.json │ │ │ ├── Operations_List.json │ │ │ ├── SecretStores_CreateOrUpdate.json │ │ │ ├── SecretStores_CreateOrUpdateValueFrom.json │ │ │ ├── SecretStores_CreateOrUpdate_GlobalScope.json │ │ │ ├── SecretStores_Delete.json │ │ │ ├── SecretStores_Get.json │ │ │ ├── SecretStores_Get_AzureKeyVault.json │ │ │ ├── SecretStores_List.json │ │ │ ├── SecretStores_ListSecrets.json │ │ │ ├── SecretStores_Update.json │ │ │ ├── Volumes_CreateOrUpdate.json │ │ │ ├── Volumes_Delete.json │ │ │ ├── Volumes_Get.json │ │ │ ├── Volumes_List.json │ │ │ ├── Volumes_ListByScope.json │ │ │ └── Volumes_Update.json │ ├── extenders.tsp │ ├── extensions.tsp │ ├── gateways.tsp │ ├── main.tsp │ ├── secretStores.tsp │ ├── tspconfig.yaml │ └── volumes.tsp ├── Applications.Dapr │ ├── common.tsp │ ├── configurationStores.tsp │ ├── examples │ │ └── 2023-10-01-preview │ │ │ ├── ConfigurationStores_CreateOrUpdate.json │ │ │ ├── ConfigurationStores_CreateOrUpdateWithRecipe.json │ │ │ ├── ConfigurationStores_Delete.json │ │ │ ├── ConfigurationStores_Get.json │ │ │ ├── ConfigurationStores_List.json │ │ │ ├── ConfigurationStores_ListByRootScope.json │ │ │ ├── ConfigurationStores_Update.json │ │ │ ├── PubSubBrokers_CreateOrUpdate.json │ │ │ ├── PubSubBrokers_CreateOrUpdateWithRecipe.json │ │ │ ├── PubSubBrokers_Delete.json │ │ │ ├── PubSubBrokers_Get.json │ │ │ ├── PubSubBrokers_List.json │ │ │ ├── PubSubBrokers_ListByRootScope.json │ │ │ ├── PubSubBrokers_Update.json │ │ │ ├── SecretStores_CreateOrUpdate.json │ │ │ ├── SecretStores_Delete.json │ │ │ ├── SecretStores_Get.json │ │ │ ├── SecretStores_List.json │ │ │ ├── SecretStores_ListByRootScope.json │ │ │ ├── SecretStores_Update.json │ │ │ ├── StateStores_CreateOrUpdate.json │ │ │ ├── StateStores_CreateOrUpdateWithRecipe.json │ │ │ ├── StateStores_Delete.json │ │ │ ├── StateStores_Get.json │ │ │ ├── StateStores_List.json │ │ │ ├── StateStores_ListByRootScope.json │ │ │ └── StateStores_Update.json │ ├── main.tsp │ ├── pubSubBrokers.tsp │ ├── secretStores.tsp │ ├── stateStores.tsp │ └── tspconfig.yaml ├── Applications.Datastores │ ├── common.tsp │ ├── examples │ │ └── 2023-10-01-preview │ │ │ ├── MongoDatabases_CreateOrUpdateRecipe.json │ │ │ ├── MongoDatabases_CreateOrUpdateValues.json │ │ │ ├── MongoDatabases_Delete.json │ │ │ ├── MongoDatabases_Get.json │ │ │ ├── MongoDatabases_List.json │ │ │ ├── MongoDatabases_ListByRootScope.json │ │ │ ├── MongoDatabases_ListSecrets.json │ │ │ ├── RedisCaches_CreateOrUpdate.json │ │ │ ├── RedisCaches_CreateOrUpdateRecipe.json │ │ │ ├── RedisCaches_CreateOrUpdateValues.json │ │ │ ├── RedisCaches_Delete.json │ │ │ ├── RedisCaches_Get.json │ │ │ ├── RedisCaches_List.json │ │ │ ├── RedisCaches_ListByRootScope.json │ │ │ ├── RedisCaches_ListSecrets.json │ │ │ ├── RedisCaches_Update.json │ │ │ ├── SQLDatabases_CreateOrUpdate.json │ │ │ ├── SQLDatabases_Delete.json │ │ │ ├── SQLDatabases_Get.json │ │ │ ├── SQLDatabases_List.json │ │ │ ├── SQLDatabases_ListByRootScope.json │ │ │ ├── SQLDatabases_ListSecrets.json │ │ │ └── SQLDatabases_Update.json │ ├── main.tsp │ ├── mongoDatabases.tsp │ ├── redisCaches.tsp │ ├── sqlDatabases.tsp │ └── tspconfig.yaml ├── Applications.Messaging │ ├── common.tsp │ ├── examples │ │ └── 2023-10-01-preview │ │ │ ├── RabbitMQQueues_CreateOrUpdate.json │ │ │ ├── RabbitMQQueues_Delete.json │ │ │ ├── RabbitMQQueues_Get.json │ │ │ ├── RabbitMQQueues_List.json │ │ │ ├── RabbitMQQueues_ListByRootScope.json │ │ │ ├── RabbitMQQueues_ListSecrets.json │ │ │ └── RabbitMQQueues_Update.json │ ├── main.tsp │ ├── rabbitMQQueues.tsp │ └── tspconfig.yaml ├── README.md ├── Test.Resource │ ├── common.tsp │ ├── examples │ │ ├── 2022-08-19-preview │ │ │ ├── TestAsyncResource_CreateOrUpdate.json │ │ │ ├── TestAsyncResource_Delete.json │ │ │ ├── TestAsyncResource_Get.json │ │ │ ├── TestAsyncResource_List.json │ │ │ ├── TestAsyncResource_ListByScope.json │ │ │ └── TestAsyncResource_Update.json │ │ └── 2023-08-19 │ │ │ ├── TestAsyncResource_CreateOrUpdate.json │ │ │ ├── TestAsyncResource_Delete.json │ │ │ ├── TestAsyncResource_Get.json │ │ │ ├── TestAsyncResource_List.json │ │ │ ├── TestAsyncResource_ListByScope.json │ │ │ ├── TestAsyncResource_Update.json │ │ │ ├── TestSyncResource_CreateOrUpdate.json │ │ │ ├── TestSyncResource_Delete.json │ │ │ ├── TestSyncResource_Get.json │ │ │ ├── TestSyncResource_List.json │ │ │ ├── TestSyncResource_ListByScope.json │ │ │ └── TestSyncResource_Update.json │ ├── main.tsp │ ├── testasyncresources.tsp │ ├── testsyncresources.tsp │ └── tspconfig.yaml ├── UCP │ ├── aws-credentials.tsp │ ├── aws-plane.tsp │ ├── azure-credentials.tsp │ ├── azure-plane.tsp │ ├── common.tsp │ ├── examples │ │ └── 2023-10-01-preview │ │ │ ├── AWSCredential_AccessKey_CreateOrUpdate.json │ │ │ ├── AWSCredential_AccessKey_Delete.json │ │ │ ├── AWSCredential_AccessKey_Get.json │ │ │ ├── AWSCredential_AccessKey_List.json │ │ │ ├── AWSCredential_AccessKey_Update.json │ │ │ ├── AWSCredential_IRSA_CreateOrUpdate.json │ │ │ ├── AWSCredential_IRSA_Delete.json │ │ │ ├── AWSCredential_IRSA_Get.json │ │ │ ├── AWSCredential_IRSA_List.json │ │ │ ├── AWSCredential_IRSA_Update.json │ │ │ ├── ApiVersions_CreateOrUpdate.json │ │ │ ├── ApiVersions_Delete.json │ │ │ ├── ApiVersions_Get.json │ │ │ ├── ApiVersions_List.json │ │ │ ├── AzureCredential_ServicePrincipal_CreateOrUpdate.json │ │ │ ├── AzureCredential_ServicePrincipal_Delete.json │ │ │ ├── AzureCredential_ServicePrincipal_Get.json │ │ │ ├── AzureCredential_ServicePrincipal_List.json │ │ │ ├── AzureCredential_ServicePrincipal_Update.json │ │ │ ├── AzureCredential_WorkloadIdentity_CreateOrUpdate.json │ │ │ ├── AzureCredential_WorkloadIdentity_Delete.json │ │ │ ├── AzureCredential_WorkloadIdentity_Get.json │ │ │ ├── AzureCredential_WorkloadIdentity_List.json │ │ │ ├── AzureCredential_WorkloadIdentity_Update.json │ │ │ ├── Locations_CreateOrUpdate.json │ │ │ ├── Locations_Delete.json │ │ │ ├── Locations_Get.json │ │ │ ├── Locations_List.json │ │ │ ├── Planes_CreateOrUpdate.json │ │ │ ├── Planes_Delete.json │ │ │ ├── Planes_GetPlaneLocal.json │ │ │ ├── Planes_List.json │ │ │ ├── Planes_ListPlanesByType.json │ │ │ ├── Planes_Update.json │ │ │ ├── ResourceGroups_CreateOrUpdate.json │ │ │ ├── ResourceGroups_Delete.json │ │ │ ├── ResourceGroups_Get.json │ │ │ ├── ResourceGroups_List.json │ │ │ ├── ResourceGroups_Update.json │ │ │ ├── ResourceProviders_CreateOrUpdate.json │ │ │ ├── ResourceProviders_Delete.json │ │ │ ├── ResourceProviders_Get.json │ │ │ ├── ResourceProviders_GetProviderSummary.json │ │ │ ├── ResourceProviders_List.json │ │ │ ├── ResourceProviders_ListProviderSummaries.json │ │ │ ├── ResourceTypes_CreateOrUpdate.json │ │ │ ├── ResourceTypes_Delete.json │ │ │ ├── ResourceTypes_Get.json │ │ │ ├── ResourceTypes_List.json │ │ │ └── Resources_List.json │ ├── main.tsp │ ├── planes.tsp │ ├── radius-plane.tsp │ ├── resourcegroups.tsp │ ├── resourceproviders.tsp │ ├── tspconfig.yaml │ └── ucp-operations.tsp ├── package-lock.json ├── package.json └── radius │ └── v1 │ ├── resources.tsp │ ├── trackedresource.tsp │ └── ucprootscope.tsp └── versions.yaml /.dockerignore: -------------------------------------------------------------------------------- 1 | # Top level folders in our repo to be ignored 2 | .devcontainer/ 3 | .git/ 4 | .github/ 5 | .vscode/ 6 | build/ 7 | bin/ 8 | deploy/ 9 | docs/ 10 | diagrams/ 11 | dist/ 12 | docs/ 13 | examples/ 14 | install/ 15 | mocks/ 16 | schemas/ 17 | test/ 18 | 19 | # Specific files in our repo to ignore 20 | *.md 21 | .gitattributes 22 | .dockerignore 23 | .gitignore 24 | .gitmodules 25 | boilerplate.go.txt 26 | LICENSE 27 | Makefile 28 | PROJECT 29 | 30 | # Generated files to ignore 31 | radius-rp 32 | radius-rp.exe 33 | rad 34 | rad.exe 35 | ucp 36 | ucp.exe 37 | ucpd 38 | ucpd.exe 39 | .DS_Store 40 | 41 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # text files use OS defaults on checkout, LF on checkin 2 | * text eol=auto 3 | 4 | # shell scripts always use LF 5 | *.sh text eol=lf 6 | 7 | # images are binary 8 | *.png binary -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yaml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | contact_links: 3 | - name: Discord Support 4 | url: https://discord.gg/SRG3ePMKNy 5 | about: Please ask any questions you may have here 6 | -------------------------------------------------------------------------------- /.github/actions/install-gitea/gitea-config.yaml: -------------------------------------------------------------------------------- 1 | redis-cluster: 2 | enabled: false 3 | postgresql-ha: 4 | enabled: false 5 | redis: 6 | enabled: true 7 | postgresql: 8 | enabled: true 9 | -------------------------------------------------------------------------------- /.github/actions/save-pr-as-artifact/action.yaml: -------------------------------------------------------------------------------- 1 | name: "Save PR number as artifact" 2 | description: "Save PR number as artifact" 3 | runs: 4 | using: "composite" 5 | steps: 6 | - name: Save PR number 7 | shell: bash 8 | env: 9 | PR_NUMBER: ${{ github.event.number }} 10 | run: | 11 | mkdir -p ./pr 12 | echo $PR_NUMBER > ./pr/pr_number 13 | - uses: actions/upload-artifact@v4 14 | with: 15 | name: pr_number 16 | path: pr/ 17 | -------------------------------------------------------------------------------- /.github/release.yml: -------------------------------------------------------------------------------- 1 | changelog: 2 | exclude: 3 | labels: 4 | - ignore-for-release 5 | authors: 6 | - rad-ci-bot 7 | categories: 8 | - title: '## Breaking Changes' 9 | labels: 10 | - breaking-change 11 | - title: '## changelog' 12 | labels: 13 | - "*" -------------------------------------------------------------------------------- /.github/runners/README.md: -------------------------------------------------------------------------------- 1 | # Self-hosted runners 2 | 3 | Uses https://github.com/actions-runner-controller/actions-runner-controller 4 | 5 | -------------------------------------------------------------------------------- /.github/runners/runner-deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: actions.summerwind.dev/v1alpha1 2 | kind: RunnerDeployment 3 | metadata: 4 | name: aks-runnerdeploy 5 | spec: 6 | replicas: 12 7 | template: 8 | spec: 9 | organization: radius-project 10 | dockerdWithinRunnerContainer: true 11 | image: summerwind/actions-runner-dind 12 | nodeSelector: 13 | agentpool: dsrunnerpool 14 | -------------------------------------------------------------------------------- /.github/workflows/functional-tests-approval.yaml: -------------------------------------------------------------------------------- 1 | name: "Approve Functional Tests" 2 | on: 3 | pull_request: 4 | branches: 5 | - main 6 | - features/* 7 | - release/* 8 | jobs: 9 | approve-functional-tests-run: 10 | name: "Approve Functional Tests" 11 | runs-on: ubuntu-latest 12 | environment: functional-tests 13 | steps: 14 | - name: Checkout Radius repository 15 | uses: actions/checkout@v4 16 | 17 | - name: Save PR number 18 | uses: ./.github/actions/save-pr-as-artifact 19 | -------------------------------------------------------------------------------- /.github/workflows/purge-artifacts.yaml: -------------------------------------------------------------------------------- 1 | name: "Delete all GitHub artifacts" 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | retention: 7 | description: "Retention period (0 = delete immediately)" 8 | required: true 9 | default: "0" 10 | 11 | jobs: 12 | delete-artifacts: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: kolpav/purge-artifacts-action@v1 16 | with: 17 | token: ${{ secrets.GITHUB_TOKEN }} 18 | expire-in: ${{ github.event.inputs.retention }} 19 | -------------------------------------------------------------------------------- /.github/workflows/require-pr-checklist.yaml: -------------------------------------------------------------------------------- 1 | name: Require PR Checklist 2 | 3 | on: 4 | pull_request: 5 | types: [opened, edited, synchronize] 6 | 7 | jobs: 8 | checklist-completed: 9 | if: github.actor != 'dependabot[bot]' # Skip for Dependabot PRs 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: mheap/require-checklist-action@v2 13 | with: 14 | requireChecklist: true # If this is true and there are no checklists detected or not filled out, the action will fail -------------------------------------------------------------------------------- /.github/workflows/validate-devcontainer-feature.yaml: -------------------------------------------------------------------------------- 1 | name: "Validate devcontainer-feature.json files" 2 | on: 3 | workflow_dispatch: 4 | #pull_request: 5 | # paths: 6 | # - "deploy/devcontainer-feature/**" 7 | # - ".github/workflows/devcontainer-feature-test.yaml" 8 | # branches: 9 | # - main 10 | 11 | jobs: 12 | validate: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: actions/checkout@v4 16 | 17 | - name: "Validate devcontainer-feature.json files" 18 | uses: devcontainers/action@v1 19 | with: 20 | validate-only: "true" 21 | base-path-to-features: "./deploy/devcontainer-feature/src" 22 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "bicep-types"] 2 | path = bicep-types 3 | url = https://github.com/Azure/bicep-types 4 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # .prettierignore 2 | pkg/validator/testdata/put-environments-invalid-json.json 3 | 4 | hack/bicep-types-radius/generated/* 5 | 6 | bicep-types/* 7 | 8 | swagger/* 9 | -------------------------------------------------------------------------------- /.vscode/README.md: -------------------------------------------------------------------------------- 1 | # Configuration for VSCode development 2 | 3 | The files in this folder configure VS Code's debugger and build settings. Not every project chooses to check in these files. On Radius our development setup is somewhat complex, and most of us use VS Code. 4 | 5 | We made the decision to check in these files **and** add them to `.gitignore` so that we could: 6 | 7 | - Easily share settings 8 | - Document a smooth onramp for contributors 9 | - Allow individuals to customize these files if they want 10 | 11 | When committing changes to one of the files in the folder, you should use `git add -f `. -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | # See the owners for this repo at .github/CODEOWNERS -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Radius Community Code of Conduct 2 | 3 | Please refer to our [Radius Community Code of Conduct](https://github.com/radius-project/community/blob/main/CODE-OF-CONDUCT.md) 4 | -------------------------------------------------------------------------------- /GOVERNANCE.md: -------------------------------------------------------------------------------- 1 | # Governance 2 | 3 | ## Code of Conduct 4 | 5 | This project has adopted the [Contributor Covenant Code of Conduct](https://github.com/radius-project/community/blob/main/CODE-OF-CONDUCT.md). -------------------------------------------------------------------------------- /SUPPORT.md: -------------------------------------------------------------------------------- 1 | # Support 2 | 3 | ## How to file issues and get help 4 | 5 | For help and questions about using this project, please join and post to the [Radius Discord server](https://aka.ms/radius/discord). 6 | 7 | This project uses GitHub Issues to track bugs and feature requests. Please search the existing issues before filing new issues to avoid duplicates. For new issues, file your bug or feature request as a new Issue. 8 | 9 | ## Support Policy 10 | 11 | Support for this project is limited to the resources listed above. 12 | -------------------------------------------------------------------------------- /bicepconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "experimentalFeaturesEnabled": { 3 | "extensibility": true 4 | }, 5 | "extensions": { 6 | "radius": "br:biceptypes.azurecr.io/radius:latest", 7 | "aws": "br:biceptypes.azurecr.io/aws:latest" 8 | } 9 | } -------------------------------------------------------------------------------- /boilerplate.go.txt: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2023 The Radius Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS O F ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /deploy/Chart/templates/NOTES.txt: -------------------------------------------------------------------------------- 1 | CHART NAME: {{ .Chart.Name }} 2 | CHART VERSION: {{ .Chart.Version }} 3 | APP VERSION: {{ .Chart.AppVersion }} 4 | 5 | {{ $.Chart.Name }} has been installed. Check its status by running: 6 | 7 | kubectl --namespace {{ $.Release.Namespace }} get pods -l "app.kubernetes.io/part-of=radius" 8 | 9 | Visit https://docs.radapp.io to start Radius. 10 | -------------------------------------------------------------------------------- /deploy/Chart/templates/controller/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: controller 5 | namespace: "{{ .Release.Namespace }}" 6 | labels: 7 | app.kubernetes.io/name: controller 8 | app.kubernetes.io/part-of: radius 9 | spec: 10 | ports: 11 | - port: 443 12 | name: https 13 | protocol: TCP 14 | targetPort: 9443 15 | selector: 16 | app.kubernetes.io/name: controller 17 | -------------------------------------------------------------------------------- /deploy/Chart/templates/controller/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ServiceAccount 3 | metadata: 4 | name: controller 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | app.kubernetes.io/name: controller 8 | app.kubernetes.io/part-of: radius 9 | -------------------------------------------------------------------------------- /deploy/Chart/templates/dashboard/service.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.dashboard.enabled }} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: dashboard 6 | namespace: "{{ .Release.Namespace }}" 7 | labels: 8 | app.kubernetes.io/name: dashboard 9 | app.kubernetes.io/part-of: radius 10 | spec: 11 | ports: 12 | - name: http 13 | port: 80 14 | targetPort: {{ .Values.dashboard.containerPort }} 15 | selector: 16 | app.kubernetes.io/name: dashboard 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /deploy/Chart/templates/dashboard/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.dashboard.enabled }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: dashboard 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | app.kubernetes.io/name: dashboard 9 | app.kubernetes.io/part-of: radius 10 | {{- end }} 11 | -------------------------------------------------------------------------------- /deploy/Chart/templates/database/configmaps.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.database.enabled }} 2 | apiVersion: v1 3 | kind: Secret 4 | metadata: 5 | name: database-secret 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | control-plane: database 9 | app.kubernetes.io/name: database 10 | app.kubernetes.io/part-of: radius 11 | stringData: 12 | POSTGRES_USER: "{{ .Values.database.postgres_user }}" 13 | POSTGRES_PASSWORD: "{{ randAlphaNum 16 }}" 14 | POSTGRES_DB: POSTGRES_DB 15 | {{- end }} 16 | -------------------------------------------------------------------------------- /deploy/Chart/templates/database/service.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.database.enabled }} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: database 6 | namespace: "{{ .Release.Namespace }}" 7 | labels: 8 | app.kubernetes.io/name: database 9 | app.kubernetes.io/part-of: radius 10 | spec: 11 | ports: 12 | - port: 5432 13 | name: postgres 14 | protocol: TCP 15 | targetPort: 5432 16 | selector: 17 | app.kubernetes.io/name: database 18 | {{- end }} 19 | -------------------------------------------------------------------------------- /deploy/Chart/templates/database/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.database.enabled }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: database 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | app.kubernetes.io/name: database 9 | app.kubernetes.io/part-of: radius 10 | {{- end }} 11 | -------------------------------------------------------------------------------- /deploy/Chart/templates/de/rbac.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: rbac.authorization.k8s.io/v1 2 | kind: ClusterRoleBinding 3 | metadata: 4 | name: bicep-de 5 | labels: 6 | app.kubernetes.io/name: bicep-de 7 | app.kubernetes.io/part-of: radius 8 | roleRef: 9 | apiGroup: rbac.authorization.k8s.io 10 | kind: ClusterRole 11 | name: cluster-admin 12 | subjects: 13 | - kind: ServiceAccount 14 | name: bicep-de 15 | namespace: {{ .Release.Namespace }} 16 | -------------------------------------------------------------------------------- /deploy/Chart/templates/de/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: bicep-de 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | app.kubernetes.io/name: bicep-de 8 | app.kubernetes.io/part-of: radius 9 | spec: 10 | ports: 11 | - port: 6443 12 | name: http 13 | protocol: TCP 14 | targetPort: 6443 15 | selector: 16 | app.kubernetes.io/name: bicep-de 17 | -------------------------------------------------------------------------------- /deploy/Chart/templates/de/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ServiceAccount 3 | metadata: 4 | name: bicep-de 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | app.kubernetes.io/name: bicep-de 8 | app.kubernetes.io/part-of: radius 9 | -------------------------------------------------------------------------------- /deploy/Chart/templates/dynamic-rp/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: dynamic-rp 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | app.kubernetes.io/name: dynamic-rp 8 | app.kubernetes.io/part-of: radius 9 | spec: 10 | ports: 11 | - port: 8082 12 | name: http 13 | protocol: TCP 14 | targetPort: 8082 15 | selector: 16 | app.kubernetes.io/name: dynamic-rp 17 | -------------------------------------------------------------------------------- /deploy/Chart/templates/dynamic-rp/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ServiceAccount 3 | metadata: 4 | name: dynamic-rp 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | app.kubernetes.io/name: dynamic-rp 8 | app.kubernetes.io/part-of: radius 9 | -------------------------------------------------------------------------------- /deploy/Chart/templates/global/secret.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.global.rootCA.cert }} 2 | apiVersion: v1 3 | kind: Secret 4 | metadata: 5 | name: {{ .Values.global.rootCA.secretName }} 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | app.kubernetes.io/part-of: radius 9 | data: 10 | ca.crt: {{ .Values.global.rootCA.cert | b64enc }} 11 | {{- end}} 12 | -------------------------------------------------------------------------------- /deploy/Chart/templates/rp/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: applications-rp 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | app.kubernetes.io/name: applications-rp 8 | app.kubernetes.io/part-of: radius 9 | spec: 10 | ports: 11 | - port: 5443 12 | name: core-http 13 | protocol: TCP 14 | targetPort: 5443 15 | - port: 5444 16 | name: portablers-http 17 | protocol: TCP 18 | targetPort: 5444 19 | selector: 20 | app.kubernetes.io/name: applications-rp 21 | -------------------------------------------------------------------------------- /deploy/Chart/templates/rp/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ServiceAccount 3 | metadata: 4 | name: applications-rp 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | app.kubernetes.io/name: applications-rp 8 | app.kubernetes.io/part-of: radius 9 | -------------------------------------------------------------------------------- /deploy/Chart/templates/ucp/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: ucp 5 | namespace: "{{ .Release.Namespace }}" 6 | labels: 7 | app.kubernetes.io/name: ucp 8 | app.kubernetes.io/part-of: radius 9 | spec: 10 | ports: 11 | - port: 443 12 | name: https 13 | protocol: TCP 14 | targetPort: 9443 15 | selector: 16 | app.kubernetes.io/name: ucp 17 | -------------------------------------------------------------------------------- /deploy/Chart/templates/ucp/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ServiceAccount 3 | metadata: 4 | name: ucp 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | app.kubernetes.io/name: ucp 8 | app.kubernetes.io/part-of: radius 9 | -------------------------------------------------------------------------------- /deploy/devcontainer-feature/test/radcli/edge.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | # Optional: Import test library bundled with the devcontainer CLI 5 | source dev-container-features-test-lib 6 | 7 | # Feature-specific tests 8 | # The 'check' command comes from the dev-container-features-test-lib. 9 | check "execute command" bash -c "rad version | grep 'edge'" 10 | 11 | # Report result 12 | # If any of the checks above exited with a non-zero exit code, the test will fail. 13 | reportResults -------------------------------------------------------------------------------- /deploy/devcontainer-feature/test/radcli/scenarios.json: -------------------------------------------------------------------------------- 1 | { 2 | "edge": { 3 | "image": "mcr.microsoft.com/devcontainers/base:ubuntu", 4 | "features": { 5 | "radcli": { 6 | "version": "edge" 7 | } 8 | } 9 | }, 10 | "version": { 11 | "image": "mcr.microsoft.com/devcontainers/base:ubuntu", 12 | "features": { 13 | "radcli": { 14 | "version": "0.27.0" 15 | } 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /deploy/devcontainer-feature/test/radcli/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | # Optional: Import test library bundled with the devcontainer CLI 5 | source dev-container-features-test-lib 6 | 7 | # Feature-specific tests 8 | 9 | # Definition specific tests 10 | check "version" rad version 11 | 12 | # Report result 13 | # If any of the checks above exited with a non-zero exit code, the test will fail. 14 | reportResults -------------------------------------------------------------------------------- /deploy/devcontainer-feature/test/radcli/version.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | # Optional: Import test library bundled with the devcontainer CLI 5 | source dev-container-features-test-lib 6 | 7 | # Feature-specific tests 8 | # The 'check' command comes from the dev-container-features-test-lib. 9 | check "execute command" bash -c "rad version | grep '0.27.0'" 10 | 11 | # Report result 12 | # If any of the checks above exited with a non-zero exit code, the test will fail. 13 | reportResults -------------------------------------------------------------------------------- /deploy/images/bicep/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.21.3 2 | 3 | ARG TARGETARCH 4 | 5 | # Copy the Bicep CLI binary and configuration files for the specified architecture 6 | COPY ./linux_${TARGETARCH:-amd64}/release/bicep/bicepconfig.json bicepconfig.json 7 | COPY ./linux_${TARGETARCH:-amd64}/release/bicep/bicep bicep 8 | 9 | WORKDIR / 10 | 11 | # Set the entrypoint to the Bicep CLI binary 12 | CMD ["/bin/sh"] 13 | -------------------------------------------------------------------------------- /deploy/manifest/built-in-providers/dev/applications_datastores.yaml: -------------------------------------------------------------------------------- 1 | namespace: Applications.Datastores 2 | location: 3 | global: 4 | "http://localhost:8080" 5 | types: 6 | mongoDatabases: 7 | apiVersions: 8 | "2023-10-01-preview": 9 | schema: {} 10 | capabilities: ["SupportsRecipes"] 11 | sqlDatabases: 12 | apiVersions: 13 | "2023-10-01-preview": 14 | schema: {} 15 | capabilities: ["SupportsRecipes"] 16 | redisCaches: 17 | apiVersions: 18 | "2023-10-01-preview": 19 | schema: {} 20 | capabilities: ["SupportsRecipes"] 21 | -------------------------------------------------------------------------------- /deploy/manifest/built-in-providers/dev/applications_messaging.yaml: -------------------------------------------------------------------------------- 1 | namespace: Applications.Messaging 2 | location: 3 | global: 4 | "http://localhost:8080" 5 | types: 6 | rabbitMQQueues: 7 | apiVersions: 8 | "2023-10-01-preview": 9 | schema: {} 10 | capabilities: ["SupportsRecipes"] 11 | -------------------------------------------------------------------------------- /deploy/manifest/built-in-providers/dev/microsoft_resources.yaml: -------------------------------------------------------------------------------- 1 | namespace: Microsoft.Resources 2 | location: 3 | global: 4 | "http://localhost:5017" 5 | types: 6 | deployments: 7 | apiVersions: 8 | "2020-10-01": 9 | schema: {} 10 | "2022-09-01": 11 | schema: {} 12 | capabilities: [] 13 | -------------------------------------------------------------------------------- /deploy/manifest/built-in-providers/self-hosted/applications_datastores.yaml: -------------------------------------------------------------------------------- 1 | namespace: Applications.Datastores 2 | location: 3 | global: 4 | "http://applications-rp.radius-system:5443" 5 | types: 6 | mongoDatabases: 7 | apiVersions: 8 | "2023-10-01-preview": 9 | schema: {} 10 | capabilities: ["SupportsRecipes"] 11 | sqlDatabases: 12 | apiVersions: 13 | "2023-10-01-preview": 14 | schema: {} 15 | capabilities: ["SupportsRecipes"] 16 | redisCaches: 17 | apiVersions: 18 | "2023-10-01-preview": 19 | schema: {} 20 | capabilities: ["SupportsRecipes"] 21 | -------------------------------------------------------------------------------- /deploy/manifest/built-in-providers/self-hosted/applications_messaging.yaml: -------------------------------------------------------------------------------- 1 | namespace: Applications.Messaging 2 | location: 3 | global: 4 | "http://applications-rp.radius-system:5443" 5 | types: 6 | rabbitMQQueues: 7 | apiVersions: 8 | "2023-10-01-preview": 9 | schema: {} 10 | capabilities: ["SupportsRecipes"] 11 | -------------------------------------------------------------------------------- /deploy/manifest/built-in-providers/self-hosted/microsoft_resources.yaml: -------------------------------------------------------------------------------- 1 | namespace: Microsoft.Resources 2 | location: 3 | global: 4 | "http://bicep-de.radius-system:6443" 5 | types: 6 | deployments: 7 | apiVersions: 8 | "2020-10-01": 9 | schema: {} 10 | "2022-09-01": 11 | schema: {} 12 | capabilities: [] 13 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | # Radius documentation 2 | 3 | The documentation for Radius is at https://docs.radapp.io, with the source in the [radius-project/docs repo](https://github.com/radius-project/docs). 4 | 5 | ## Contributing to Radius 6 | 7 | This folder contains the documentation for contributing to Radius. 8 | 9 | To browse the table of contents, refer to the [contributing docs](./../CONTRIBUTING.md). 10 | -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-control-plane/configExamples/kubeConfig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-control-plane/configExamples/kubeConfig.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-control-plane/configExamples/localConfig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-control-plane/configExamples/localConfig.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-first-commit/README.md: -------------------------------------------------------------------------------- 1 | # Making your first commit to Radius 2 | 3 | This is a step-by-step walkthrough for contributing to the Radius codebase for those new to the project. In this walkthrough, you'll install prerequisites, learn how to debug the `rad` CLI and commit a code change. 4 | -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-first-commit/first-commit-03-working-on-cli/main-after-change.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-first-commit/first-commit-03-working-on-cli/main-after-change.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-first-commit/first-commit-03-working-on-cli/main-before-change.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-first-commit/first-commit-03-working-on-cli/main-before-change.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/main-breakpoint-hit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/main-breakpoint-hit.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/main-with-breakpoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/main-with-breakpoint.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/version-breakpoint-hit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/version-breakpoint-hit.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/version-with-breakpoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/version-with-breakpoint.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/vscode-debug-config-selection-with-args.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/vscode-debug-config-selection-with-args.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/vscode-debug-config-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/vscode-debug-config-selection.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/vscode-debug-pane.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/vscode-debug-pane.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/vscode-debug-prompt-cmd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/vscode-debug-prompt-cmd.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/vscode-debug-start-version-with-args.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/vscode-debug-start-version-with-args.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/vscode-debug-start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-first-commit/first-commit-04-debugging-cli/img/vscode-debug-start.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-first-commit/first-commit-05-running-tests/unittest-commands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-first-commit/first-commit-05-running-tests/unittest-commands.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-first-commit/first-commit-06-creating-a-pr/pr-checks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-first-commit/first-commit-06-creating-a-pr/pr-checks.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-forks/compare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-forks/compare.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-forks/fork.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-forks/fork.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-prerequisites/img/vscode-cmd-palette-container.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-prerequisites/img/vscode-cmd-palette-container.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-prerequisites/img/vscode-devcontainer-open-remote-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-prerequisites/img/vscode-devcontainer-open-remote-button.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-prerequisites/img/vscode-devcontainer-opening-process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-prerequisites/img/vscode-devcontainer-opening-process.png -------------------------------------------------------------------------------- /docs/contributing/contributing-code/contributing-code-tests/vscode_debug_test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-code/contributing-code-tests/vscode_debug_test.png -------------------------------------------------------------------------------- /docs/contributing/contributing-releases/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/contributing-releases/image.png -------------------------------------------------------------------------------- /docs/contributing/triage/images/radius_triage.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/triage/images/radius_triage.jpg -------------------------------------------------------------------------------- /docs/contributing/triage/images/triage_review.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/contributing/triage/images/triage_review.jpg -------------------------------------------------------------------------------- /docs/release-notes/template_patch.md: -------------------------------------------------------------------------------- 1 | ## Radius vX.Y.Z 2 | 3 | 4 | Check out the [changelog](#changelog) for more details of what was addressed in this patch. 5 | 6 | ## Changelog 7 | 8 | -------------------------------------------------------------------------------- /docs/release-notes/v0.26.5.md: -------------------------------------------------------------------------------- 1 | ## Radius v0.26.5 2 | 3 | This release addresses a CI/CD issue. Check out the [changelog](#changelog) for more details of what was addressed in this patch. 4 | 5 | ## Changelog 6 | 7 | * Update release build by @sk593 in https://github.com/radius-project/radius/pull/6504 8 | 9 | **Full Changelog**: https://github.com/radius-project/radius/compare/v0.26.0...v0.26.5 10 | 11 | 12 | -------------------------------------------------------------------------------- /docs/release-notes/v0.26.7.md: -------------------------------------------------------------------------------- 1 | ## Radius v0.26.7 2 | 3 | This release addresses an issue with the Radius Kubernetes controller. Check out the [changelog](#changelog) for more details of what was addressed in this patch. 4 | 5 | ## Changelog 6 | 7 | * Fix double-encoding of Kubernetes secrets by @rynowak in https://github.com/radius-project/radius/pull/6541 8 | 9 | **Full Changelog**: https://github.com/radius-project/radius/compare/v0.26.6...v0.26.7 10 | 11 | -------------------------------------------------------------------------------- /docs/release-notes/v0.26.8.md: -------------------------------------------------------------------------------- 1 | ## Radius v0.26.8 2 | 3 | This release addresses an issue with the Radius Dev Recipes for Dapr resources. Check out the [changelog](#changelog) for more details of what was addressed in this patch. 4 | 5 | ## Changelog 6 | 7 | - Fix for Dapr Statestores and Secretstores dev Recipes URL casing by @shalabhms in https://github.com/radius-project/radius/pull/6578 8 | -------------------------------------------------------------------------------- /docs/release-notes/v0.26.9.md: -------------------------------------------------------------------------------- 1 | ## Radius v0.26.9 2 | 3 | This release addresses an issue with the Bicep Download Flow. Check out the [changelog](#changelog) for more details of what was addressed in this patch. 4 | 5 | ## Changelog 6 | 7 | - Remove bicep download authentication credentials by @sk593 in 8 | -------------------------------------------------------------------------------- /docs/release-notes/v0.27.1.md: -------------------------------------------------------------------------------- 1 | ## Radius v0.27.1 2 | 3 | This release addresses an issue with helm chart download. Check out the [changelog](#changelog) for more details of what was addressed in this patch. 4 | 5 | ## Changelog 6 | 7 | - Revert "Use GHCR for Radius Helm repository by @kachawla in 8 | -------------------------------------------------------------------------------- /docs/ucp/call_flows/readme.md: -------------------------------------------------------------------------------- 1 | Sequence diagrams created using https://sequencediagram.org/. -------------------------------------------------------------------------------- /docs/ucp/configuration.md: -------------------------------------------------------------------------------- 1 | ## UCP Configuration 2 | 3 | UCP is configured to communicate with the different planes that it supports, currently Radius RP, Deployment Engine and AWS. Note: We will eventually add Azure to this list for which the communication currently happens via Deployment engine. 4 | 5 | The configuration can be found in: deploy/Chart/charts/ucp/ucp-config.yaml. 6 | 7 | Within each plane, the configuration specifies a URL to communicate with every supported resource provider. For example, separate URLs are specified for Applications.Core and portable resource providers within the Radius plane. 8 | -------------------------------------------------------------------------------- /docs/ucp/images/aws.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/ucp/images/aws.png -------------------------------------------------------------------------------- /docs/ucp/images/cosmodb-deploy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/ucp/images/cosmodb-deploy.png -------------------------------------------------------------------------------- /docs/ucp/images/env-deploy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/ucp/images/env-deploy.png -------------------------------------------------------------------------------- /docs/ucp/images/image-label.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/ucp/images/image-label.png -------------------------------------------------------------------------------- /docs/ucp/images/overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radius-project/radius/cc1b5892e60b538a8d89a444f5ce531c17616910/docs/ucp/images/overview.png -------------------------------------------------------------------------------- /grafana/README.md: -------------------------------------------------------------------------------- 1 | # Grafana dashboard 2 | 3 | This includes the following dashboard templates to monitor Radius services: 4 | 5 | * [Radius overview dashboard](./radius-overview-dashboard.json) : This dashboard template overviews each Radius service. 6 | * [Radius resource provider dashboard](./radius-resource-provider-dashboard.json) : This dashboard template shows the detail status of each Radius service. 7 | -------------------------------------------------------------------------------- /hack/bicep-types-radius/src/autorest.bicep/.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | node_modules 3 | test.json 4 | test/**/dist 5 | test/**/esm 6 | test/**/node_modules 7 | test-browser 8 | .tmp 9 | temp 10 | coverage -------------------------------------------------------------------------------- /hack/bicep-types-radius/src/autorest.bicep/.npmignore: -------------------------------------------------------------------------------- 1 | .gulp/ 2 | .vscode/ 3 | src/Model/ 4 | src/Properties/ 5 | test/ 6 | src/obj/ 7 | package/ 8 | *.tar 9 | *.tgz 10 | 11 | gulpfile.js 12 | *.sln 13 | *.cs 14 | *.resx 15 | src/obj/ 16 | yarn.lock 17 | 18 | *.log 19 | *.csproj 20 | 21 | .travis.yml 22 | .git* 23 | .git 24 | .vs/ 25 | node_modules/ 26 | .ntvs_analysis.* 27 | .nuget/ 28 | packages/ 29 | packages.config 30 | gulpfile.js -------------------------------------------------------------------------------- /hack/bicep-types-radius/src/autorest.bicep/.prettierignore: -------------------------------------------------------------------------------- 1 | *.ejs 2 | package.json -------------------------------------------------------------------------------- /hack/bicep-types-radius/src/autorest.bicep/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "none" 3 | } 4 | -------------------------------------------------------------------------------- /hack/bicep-types-radius/src/autorest.bicep/test/integration/specs/basic/resource-manager/README.md: -------------------------------------------------------------------------------- 1 | # basic 2 | 3 | ## Configuration 4 | 5 | ### Information 6 | 7 | ```yaml 8 | title: Basic 9 | description: Contains a set of basic spec samples for integration tests 10 | openapi-type: arm 11 | tag: package-2021-10-31 12 | ``` 13 | 14 | ### Tag: package-2021-10-31 15 | 16 | These settings apply only when `--tag=package-2021-10-31` is specified on the command line. 17 | 18 | ```yaml $(tag) == 'package-2021-10-31' 19 | input-file: 20 | - Test.Rp1/stable/2021-10-31/spec.json 21 | ``` -------------------------------------------------------------------------------- /hack/bicep-types-radius/src/generator/.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | node_modules 3 | test.json 4 | test/**/dist 5 | test/**/esm 6 | test/**/node_modules 7 | test-browser 8 | .tmp 9 | coverage -------------------------------------------------------------------------------- /hack/bicep-types-radius/src/generator/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "skipLibCheck": true, 4 | "module": "commonjs", 5 | "noEmitOnError": true, 6 | "noImplicitReturns": true, 7 | "sourceMap": true, 8 | "declarationMap": true, 9 | "strict": true, 10 | "declaration": true, 11 | "stripInternal": true, 12 | "noEmitHelpers": false, 13 | "target": "es2019", 14 | "types": ["node"], 15 | "esModuleInterop": true, 16 | "lib": ["es2020"], 17 | "newLine": "LF", 18 | "outDir": "dist", 19 | "rootDir": "." 20 | }, 21 | "exclude": ["dist", "node_modules"] 22 | } 23 | -------------------------------------------------------------------------------- /pkg/armrpc/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2023 The Radius Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package armrpc 18 | -------------------------------------------------------------------------------- /pkg/armrpc/frontend/defaultoperation/testdata/operationresult_responseheaders.json: -------------------------------------------------------------------------------- 1 | { 2 | "Location": "https://radapp.io/subscriptions/00000000-0000-0000-0000-000000000000/providers/Applications.Core/locations/westus/operationResults/00000000-0000-0000-0000-000000000000", 3 | "Retry-After": 60 4 | } 5 | -------------------------------------------------------------------------------- /pkg/armrpc/frontend/defaultoperation/testdata/operationstatus_output.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Applications.Core/locations/westus/operationsStatuses/00000000-0000-0000-0000-000000000000", 3 | "name": "op0", 4 | "type": "Applications.Core/operationStatuses", 5 | "operationType": "PUT", 6 | "location": "West US", 7 | "status": "Succeeded", 8 | "startTime": "2022-05-16T10:24:58.000000Z", 9 | "endTime": "2022-05-16T17:24:58.000000Z", 10 | "percentComplete": "100", 11 | "properties": { 12 | "provisioningState": "Succeeded" 13 | }, 14 | "error": {} 15 | } 16 | -------------------------------------------------------------------------------- /pkg/armrpc/frontend/defaultoperation/testdata/resource-request-invalidapp.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "properties": { 4 | "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0", 5 | "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/invalid", 6 | "propertyA": "propertyAValue", 7 | "propertyB": "propertyBValue" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pkg/armrpc/frontend/defaultoperation/testdata/resource-request.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "properties": { 4 | "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0", 5 | "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/app0", 6 | "propertyA": "propertyAValue", 7 | "propertyB": "propertyBValue" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pkg/armrpc/frontend/defaultoperation/testdata/resource-sync-datamodel.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local", 3 | "name": "local", 4 | "type": "radius", 5 | "location": "West US", 6 | "provisioningState": "Succeeded", 7 | "properties": { 8 | "kind": "UCPNative", 9 | "resourceProviders": { 10 | "Applications.Connection": "http://localhost:9081/", 11 | "Applications.Core": "http://localhost:9080/" 12 | } 13 | }, 14 | "tenantId": "00000000-0000-0000-0000-000000000000", 15 | "createdApiVersion": "2023-10-01-preview", 16 | "updatedApiVersion": "2023-10-01-preview" 17 | } 18 | -------------------------------------------------------------------------------- /pkg/armrpc/frontend/defaultoperation/testdata/resource-sync-request-invalid.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "properties": { 4 | "kind": "UCPNative", 5 | "resourceProviders": {} 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /pkg/armrpc/frontend/defaultoperation/testdata/resource-sync-request.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "properties": { 4 | "kind": "UCPNative", 5 | "resourceProviders": { 6 | "Applications.Connection": "http://localhost:9081/", 7 | "Applications.Core": "http://localhost:9080/" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /pkg/cli/bicep/testdata/test-parameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", 3 | "contentVersion": "1.0.0.0", 4 | "parameters": { 5 | "param1": { 6 | "value": "value1" 7 | }, 8 | "param2": { 9 | "value": "value2" 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /pkg/cli/cmd/bicep/generatekubernetesmanifest/testdata/deploymenttemplate/deploymenttemplate-parameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "tag": { 3 | "value": "v1.0.0" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /pkg/cli/cmd/bicep/generatekubernetesmanifest/testdata/parameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", 3 | "contentVersion": "1.0.0.0", 4 | "parameters": { 5 | "b": { 6 | "value": "c" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pkg/cli/cmd/bicep/publishextension/testdata/invalid.yaml: -------------------------------------------------------------------------------- 1 | namespace: MyCompany.Resources 2 | types: 3 | testResources dkdkkdkfkkd: 4 | apiVersions: 5 | '2025-01-01-preview': 6 | schema: {} -------------------------------------------------------------------------------- /pkg/cli/cmd/bicep/publishextension/testdata/valid.yaml: -------------------------------------------------------------------------------- 1 | namespace: MyCompany.Resources 2 | types: 3 | testResources: 4 | apiVersions: 5 | '2025-01-01-preview': 6 | schema: {} -------------------------------------------------------------------------------- /pkg/cli/cmd/recipe/register/testdata/recipeparam.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", 3 | "contentVersion": "1.0.0.0", 4 | "parameters": { 5 | "throughput": { 6 | "value": 400 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pkg/cli/cmd/resourceprovider/create/testdata/missing-required-field.yaml: -------------------------------------------------------------------------------- 1 | types: 2 | testResources: 3 | apiVersions: 4 | '2025-01-01-preview': 5 | schema: {} 6 | capabilities: ["SupportsRecipes"] -------------------------------------------------------------------------------- /pkg/cli/cmd/resourceprovider/create/testdata/valid.yaml: -------------------------------------------------------------------------------- 1 | namespace: MyCompany.Resources 2 | location: 3 | global: 4 | 'http://localhost:8080' 5 | types: 6 | testResources: 7 | apiVersions: 8 | '2025-01-01-preview': 9 | schema: {} 10 | capabilities: ["SupportsRecipes"] -------------------------------------------------------------------------------- /pkg/cli/manifest/testdata/duplicate-key.yaml: -------------------------------------------------------------------------------- 1 | namespace: test-provider 2 | types: 3 | testResources: 4 | apiVersions: 5 | '2025-01-01-preview': 6 | schema: {} 7 | capabilities: ["SupportsRecipes"] 8 | types: 9 | testResources: 10 | apiVersions: 11 | '2025-01-01-preview': 12 | schema: {} 13 | capabilities: ["SupportsRecipes"] -------------------------------------------------------------------------------- /pkg/cli/manifest/testdata/invalid-yaml.yaml: -------------------------------------------------------------------------------- 1 | namespace: test-provider 2 | asdf 3 | types: 4 | testResources: 5 | apiVersions: 6 | '2025-01-01-preview': 7 | schema: {} 8 | capabilities: ["SupportsRecipes"] -------------------------------------------------------------------------------- /pkg/cli/manifest/testdata/missing-required-field.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "testResources": { 4 | "apiVersions": { 5 | "2025-01-01-preview": { 6 | "schema": {}, 7 | "capabilities": ["SupportsRecipes"] 8 | } 9 | } 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /pkg/cli/manifest/testdata/missing-required-field.yaml: -------------------------------------------------------------------------------- 1 | types: 2 | testResources: 3 | apiVersions: 4 | '2025-01-01-preview': 5 | schema: {} 6 | capabilities: ["SupportsRecipes"] -------------------------------------------------------------------------------- /pkg/cli/manifest/testdata/registerdirectory/resourceprovider-valid1.yaml: -------------------------------------------------------------------------------- 1 | namespace: MyCompany.CompanyName 2 | types: 3 | testResource1: 4 | apiVersions: 5 | "2025-01-01-preview": 6 | schema: {} 7 | capabilities: [] 8 | testResource2: 9 | apiVersions: 10 | "2025-01-01-preview": 11 | schema: {} 12 | capabilities: [] 13 | -------------------------------------------------------------------------------- /pkg/cli/manifest/testdata/registerdirectory/resourceprovider-valid2.yaml: -------------------------------------------------------------------------------- 1 | namespace: MyCompany2.CompanyName2 2 | location: 3 | global: 4 | 'http://localhost:8080' 5 | types: 6 | testResource3: 7 | apiVersions: 8 | "2025-01-01-preview": 9 | schema: {} 10 | capabilities: ["SupportsRecipes"] 11 | testResource4: 12 | apiVersions: 13 | "2025-01-01-preview": 14 | schema: {} 15 | capabilities: ["SupportsRecipes"] 16 | -------------------------------------------------------------------------------- /pkg/cli/manifest/testdata/valid.json: -------------------------------------------------------------------------------- 1 | { 2 | "namespace": "MyCompany.Resources", 3 | "types": { 4 | "testResources": { 5 | "apiVersions": { 6 | "2025-01-01-preview": { 7 | "schema": {} 8 | } 9 | }, 10 | "capabilities": ["SupportsRecipes"] 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /pkg/cli/manifest/testdata/valid.yaml: -------------------------------------------------------------------------------- 1 | namespace: MyCompany.Resources 2 | location: 3 | global: 4 | 'http://localhost:8080' 5 | types: 6 | testResources: 7 | description: This is a test resource type. 8 | apiVersions: 9 | '2025-01-01-preview': 10 | schema: {} 11 | capabilities: ["SupportsRecipes"] -------------------------------------------------------------------------------- /pkg/cli/objectformats/trim.go: -------------------------------------------------------------------------------- 1 | package objectformats 2 | 3 | import "strings" 4 | 5 | // TrimSpaceMulti delete trailing whitespace on every line 6 | // of the given multi-line text. 7 | // 8 | // This is very useful when comparing table formatted strings. 9 | // 10 | 11 | // TrimSpaceMulti takes in a string and returns a string with all leading and trailing whitespace removed from each line. 12 | func TrimSpaceMulti(s string) string { 13 | lines := strings.Split(s, "\n") 14 | trimmed := make([]string, len(lines)) 15 | 16 | for i, line := range lines { 17 | trimmed[i] = strings.TrimSpace(line) 18 | } 19 | return strings.Join(trimmed, "\n") 20 | } 21 | -------------------------------------------------------------------------------- /pkg/cli/swagger/examples/GenericResources_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "GenericResources_Delete", 3 | "title": "Delete resource", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "rootScope": "/planes/radius/local/resourceGroups/test-group", 7 | "resourceType": "Applications.Core/extenders", 8 | "resourceName": "my-resource" 9 | }, 10 | "responses": { 11 | "200": {}, 12 | "202": {}, 13 | "204": {} 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /pkg/cli/swagger/examples/GenericResources_ListSecrets.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "GenericResources_ListSecrets", 3 | "title": "List secrets for a resource", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "rootScope": "/planes/radius/local/resourceGroups/test-group", 7 | "resourceType": "Applications.Core/extenders", 8 | "resourceName": "my-resource" 9 | }, 10 | "responses": { 11 | "200": { 12 | "body": { 13 | "valueA": "some-value" 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /pkg/controller/reconciler/testdata/flux-basic/flux-basic.bicep: -------------------------------------------------------------------------------- 1 | extension radius 2 | 3 | resource fluxBasicEnv 'Applications.Core/environments@2023-10-01-preview' = { 4 | name: 'flux-basic-env' 5 | properties: { 6 | compute: { 7 | kind: 'kubernetes' 8 | resourceId: 'self' 9 | namespace: 'flux-basic' 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /pkg/controller/reconciler/testdata/flux-basic/radius-gitops-config.yaml: -------------------------------------------------------------------------------- 1 | config: 2 | - name: flux-basic.bicep 3 | -------------------------------------------------------------------------------- /pkg/controller/reconciler/testdata/flux-update/step-1/flux-update.bicepparam: -------------------------------------------------------------------------------- 1 | using 'flux-update.bicep' 2 | 3 | param replicas = '1' 4 | -------------------------------------------------------------------------------- /pkg/controller/reconciler/testdata/flux-update/step-1/flux-update.parameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", 3 | "contentVersion": "1.0.0.0", 4 | "parameters": { 5 | "replicas": { 6 | "value": "1" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pkg/controller/reconciler/testdata/flux-update/step-1/radius-gitops-config.yaml: -------------------------------------------------------------------------------- 1 | config: 2 | - name: flux-update.bicep 3 | params: flux-update.bicepparam 4 | -------------------------------------------------------------------------------- /pkg/controller/reconciler/testdata/flux-update/step-2/flux-update.bicepparam: -------------------------------------------------------------------------------- 1 | using 'flux-update.bicep' 2 | 3 | param replicas = '2' 4 | -------------------------------------------------------------------------------- /pkg/controller/reconciler/testdata/flux-update/step-2/flux-update.parameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", 3 | "contentVersion": "1.0.0.0", 4 | "parameters": { 5 | "replicas": { 6 | "value": "2" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pkg/controller/reconciler/testdata/flux-update/step-2/radius-gitops-config.yaml: -------------------------------------------------------------------------------- 1 | config: 2 | - name: flux-update.bicep 3 | params: flux-update.bicepparam 4 | -------------------------------------------------------------------------------- /pkg/corerp/api/v20231001preview/testdata/applicationresourceemptyext.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/app0", 3 | "name": "app0", 4 | "type": "Applications.Core/applications", 5 | "properties": { 6 | "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0", 7 | "extensions": [ 8 | { 9 | "kind": "kubernetesMetadata" 10 | } 11 | ] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /pkg/corerp/api/v20231001preview/testdata/applicationresourceemptyext2.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/app0", 3 | "name": "app0", 4 | "type": "Applications.Core/applications", 5 | "properties": { 6 | "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0", 7 | "extensions": [ 8 | { 9 | "kind": "kubernetesMetadata", 10 | "annotations": {}, 11 | "labels": {} 12 | } 13 | ] 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel-insecure-registry.json: -------------------------------------------------------------------------------- 1 | { 2 | "templateKind": "bicep", 3 | "templatePath": "br:localhost:8000/recipes/cosmosdb", 4 | "plainHttp": true, 5 | "parameters": { 6 | "throughput": { 7 | "maxValue": 400, 8 | "defaultValue": 200 9 | }, 10 | "location": { 11 | "type": "string", 12 | "defaultValue": "[resourceGroup().location]" 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel-missingtemplatekind.json: -------------------------------------------------------------------------------- 1 | { 2 | "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/cosmosdb", 3 | "parameters": { 4 | "throughput": { 5 | "maxValue": 400, 6 | "defaultValue": 200 7 | }, 8 | "location": { 9 | "type": "string", 10 | "defaultValue": "[resourceGroup().location]" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel-terraform.json: -------------------------------------------------------------------------------- 1 | { 2 | "templateKind": "terraform", 3 | "templatePath": "Azure/cosmosdb/azurerm", 4 | "terraformVersion": "1.1.0", 5 | "parameters": { 6 | "throughput": { 7 | "maxValue": 400, 8 | "defaultValue": 200 9 | }, 10 | "location": { 11 | "type": "string", 12 | "defaultValue": "[resourceGroup().location]" 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /pkg/corerp/api/v20231001preview/testdata/environmentrecipepropertiesdatamodel.json: -------------------------------------------------------------------------------- 1 | { 2 | "templateKind": "bicep", 3 | "templatePath": "br:ghcr.io/sampleregistry/radius/recipes/cosmosdb", 4 | "parameters": { 5 | "throughput": { 6 | "maxValue": 400, 7 | "defaultValue": 200 8 | }, 9 | "location": { 10 | "type": "string", 11 | "defaultValue": "[resourceGroup().location]" 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /pkg/corerp/api/v20231001preview/testdata/environmentresource-invalid-missing-namespace.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0", 3 | "name": "env0", 4 | "type": "Applications.Core/environments", 5 | "properties": { 6 | "compute": { 7 | "kind": "kubernetes", 8 | "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /pkg/corerp/api/v20231001preview/testdata/environmentresource-with-simulated-enabled.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0", 3 | "name": "env0", 4 | "type": "Applications.Core/environments", 5 | "properties": { 6 | "compute": { 7 | "kind": "kubernetes", 8 | "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster", 9 | "namespace": "default" 10 | }, 11 | "simulated": true 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /pkg/corerp/api/v20231001preview/testdata/extenderresource-invalid.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/extenders/extender0", 3 | "name": "extender0", 4 | "type": "Applications.Core/extenders", 5 | "properties": { 6 | "secrets": 12345 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /pkg/corerp/api/v20231001preview/testdata/reciperesource.json: -------------------------------------------------------------------------------- 1 | { 2 | "resourceType": "Applications.Datastores/mongoDatabases", 3 | "name": "mongo-azure" 4 | } 5 | -------------------------------------------------------------------------------- /pkg/corerp/frontend/controller/applications/testdata/application20231001preview_input.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "West US", 3 | "properties": { 4 | "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/env0", 5 | "provisioningState": "Succeeded", 6 | "extensions": [ 7 | { 8 | "kind": "kubernetesNamespace", 9 | "namespace": "app0-ns" 10 | } 11 | ] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /pkg/corerp/frontend/controller/applications/testdata/application20231001preview_input_diff_env.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "West US", 3 | "properties": { 4 | "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/applications.core/environments/invalid", 5 | "provisioningState": "Succeeded" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /pkg/corerp/frontend/controller/environments/testdata/environmentgetmetadatanonexistingrecipe20231001preview_input.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mongodb", 3 | "resourceType": "Applications.Datastores/mongoDatabases" 4 | } 5 | -------------------------------------------------------------------------------- /pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_input.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mongo-parameters", 3 | "resourceType": "Applications.Datastores/mongoDatabases" 4 | } 5 | -------------------------------------------------------------------------------- /pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_input_terraform.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mongo-terraform", 3 | "resourceType": "Applications.Datastores/mongoDatabases" 4 | } 5 | -------------------------------------------------------------------------------- /pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_output.json: -------------------------------------------------------------------------------- 1 | { 2 | "templateKind": "bicep", 3 | "templatePath": "ghcr.io/radius-project/dev/recipes/functionaltest/parameters/mongodatabases/azure:1.0", 4 | "plainHttp": false, 5 | "parameters": { 6 | "mongodbName": { 7 | "type": "string" 8 | }, 9 | "documentdbName": { 10 | "type": "string" 11 | }, 12 | "location": { 13 | "type": "string", 14 | "defaultValue": "[resourceGroup().location]" 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /pkg/corerp/frontend/controller/environments/testdata/environmentgetrecipemetadata20231001preview_output_terraform.json: -------------------------------------------------------------------------------- 1 | { 2 | "templateKind": "terraform", 3 | "templatePath": "Azure/cosmosdb/azurerm", 4 | "templateVersion": "1.1.0", 5 | "parameters": { 6 | "mongodbName": { 7 | "type": "string" 8 | }, 9 | "documentdbName": { 10 | "type": "string" 11 | }, 12 | "location": { 13 | "type": "string", 14 | "defaultValue": "[resourceGroup().location]" 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /pkg/corerp/frontend/controller/environments/testdata/recipedatawithoutparameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", 3 | "contentVersion": "1.0.0.0", 4 | "resources": [ 5 | { 6 | "type": "Microsoft.Storage/storageAccounts", 7 | "apiVersion": "2022-05-01", 8 | "name": "storageAccount1", 9 | "location": "West US 2", 10 | "sku": { 11 | "name": "Standard_GRS" 12 | }, 13 | "kind": "StorageV2" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /pkg/corerp/frontend/controller/extenders/testdata/20231001preview_input.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "West US", 3 | "properties": { 4 | "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication", 5 | "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/env0", 6 | "fromNumber": "222-222-2222", 7 | "secrets": { 8 | "accountSid": "sid", 9 | "authToken:": "token" 10 | }, 11 | "resourceProvisioning": "manual" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /pkg/corerp/frontend/controller/extenders/testdata/20231001preview_input_diff_env.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "West US", 3 | "properties": { 4 | "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/applications/testApplication", 5 | "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Applications.Core/environments/invalid", 6 | "fromNumber": "222-222-2222", 7 | "secrets": { 8 | "accountSid": "sid", 9 | "authToken:": "token" 10 | }, 11 | "resourceProvisioning": "manual" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /pkg/corerp/renderers/container/testdata/.gitattributes: -------------------------------------------------------------------------------- 1 | #test files should use lf line endings 2 | *.tf text eol=lf 3 | *.json text eol=lf 4 | *.yaml text eol=lf -------------------------------------------------------------------------------- /pkg/corerp/renderers/container/testdata/basemanifest-input-addcontainer.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: test-container 5 | labels: 6 | app: test-container 7 | annotations: 8 | source: base-manifest-test 9 | spec: 10 | replicas: 3 11 | selector: 12 | matchLabels: 13 | app: test-container 14 | basemanifest: default 15 | template: 16 | spec: 17 | containers: 18 | - name: sidecar 19 | image: "sidecar:latest" 20 | ports: 21 | - containerPort: 80 22 | protocol: TCP 23 | env: 24 | - name: KEY 25 | value: VALUE 26 | -------------------------------------------------------------------------------- /pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource-invalid.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0", 3 | "name": "mongo0", 4 | "type": "Applications.Datastores/mongoDatabases", 5 | "properties": { 6 | "mode": "resource", 7 | "resource": 12345 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource-invalidresprovisioning.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0", 3 | "name": "mongo0", 4 | "type": "Applications.Datastores/mongoDatabases", 5 | "properties": { 6 | "resourceProvisioning": "invalid" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /pkg/datastoresrp/api/v20231001preview/testdata/mongodatabaseresource-missinginputs.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/mongoDatabases/mongo0", 3 | "name": "mongo0", 4 | "type": "Applications.Datastores/mongoDatabases", 5 | "properties": { 6 | "resourceProvisioning": "manual" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /pkg/datastoresrp/api/v20231001preview/testdata/mongodatabasesecrets.json: -------------------------------------------------------------------------------- 1 | { 2 | "password": "testPassword", 3 | "connectionString": "test-connection-string" 4 | } 5 | -------------------------------------------------------------------------------- /pkg/datastoresrp/api/v20231001preview/testdata/mongodatabasesecretsdatamodel.json: -------------------------------------------------------------------------------- 1 | { 2 | "password": "testPassword", 3 | "connectionString": "test-connection-string" 4 | } 5 | -------------------------------------------------------------------------------- /pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource-invalid.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0", 3 | "name": "redis0", 4 | "type": "Applications.Datastores/redisCaches", 5 | "properties": { 6 | "resourceProvisioning": "invalid" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource-invalid2.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0", 3 | "name": "redis0", 4 | "type": "Applications.Datastores/redisCaches", 5 | "properties": { 6 | "resourceProvisioning": "manual", 7 | "secrets": { 8 | "password": "password" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource-invalidinput.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0", 3 | "name": "redis0", 4 | "type": "Applications.Datastores/redisCaches", 5 | "properties": { 6 | "host": 12345 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /pkg/datastoresrp/api/v20231001preview/testdata/rediscacheresource_defaultrecipe.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/redisCaches/redis0", 3 | "name": "redis0", 4 | "type": "Applications.Datastores/redisCaches", 5 | "properties": { 6 | "application": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/applications/testApplication", 7 | "environment": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Core/environments/env0" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pkg/datastoresrp/api/v20231001preview/testdata/rediscachesecrets.json: -------------------------------------------------------------------------------- 1 | { 2 | "password": "testPassword", 3 | "connectionString": "test-connection-string", 4 | "url": "test-url" 5 | } 6 | -------------------------------------------------------------------------------- /pkg/datastoresrp/api/v20231001preview/testdata/rediscachesecretsdatamodel.json: -------------------------------------------------------------------------------- 1 | { 2 | "password": "testPassword", 3 | "connectionString": "test-connection-string", 4 | "url": "test-url" 5 | } 6 | -------------------------------------------------------------------------------- /pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_invalid_properties_resource.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/sqlDatabases/sql0", 3 | "name": "sql0", 4 | "type": "Applications.Datastores/sqlDatabases", 5 | "properties": { 6 | "resourceProvisioning": "manual" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_invalid_resourceprovisioning_resource.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/sqlDatabases/sql0", 3 | "name": "sql0", 4 | "type": "Applications.Datastores/sqlDatabases", 5 | "properties": { 6 | "resourceProvisioning": "invalid" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /pkg/datastoresrp/api/v20231001preview/testdata/sqldatabase_secrets_datamodel.json: -------------------------------------------------------------------------------- 1 | { 2 | "password": "testPassword", 3 | "connectionString": "test-connection-string" 4 | } 5 | -------------------------------------------------------------------------------- /pkg/datastoresrp/api/v20231001preview/testdata/sqldatabaseresource-invalid.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Datastores/sqlDatabases/sql0", 3 | "name": "sql0", 4 | "type": "Applications.Datastores/sqlDatabases", 5 | "properties": { 6 | "database": 12345, 7 | "resourceProvisioning": "manual" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pkg/datastoresrp/processors/sqldatabases/doc.go: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------ 2 | // Copyright (c) Microsoft Corporation. 3 | // Licensed under the MIT License. 4 | // ------------------------------------------------------------ 5 | 6 | // sqldatabases contains the resource processor for SQL databases. See the processors package for more information. 7 | package sqldatabases 8 | -------------------------------------------------------------------------------- /pkg/dynamicrp/api/testdata/dynamicresource-resource.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local/resourceGroups/test/providers/Applications.Test/testResources/testResource", 3 | "name": "testResource", 4 | "type": "Applications.Test/testResources", 5 | "location": "global", 6 | "tags": { 7 | "env": "dev" 8 | }, 9 | "properties": { 10 | "message": "Hello, world!" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_invalid_properties_resource.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Messaging/rabbitMQQueues/rabbitmq0", 3 | "name": "rabbitmq0", 4 | "type": "Applications.Messaging/rabbitMQQueues", 5 | "properties": { 6 | "resourceProvisioning": "manual" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /pkg/messagingrp/api/v20231001preview/testdata/rabbitmq_invalid_resourceprovisioning_resource.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Messaging/rabbitMQQueues/rabbitmq0", 3 | "name": "rabbitmq0", 4 | "type": "Applications.Messaging/rabbitMQQueues", 5 | "properties": { 6 | "resourceProvisioning": "invalid" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /pkg/messagingrp/api/v20231001preview/testdata/rabbitmqresource-invalid.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/radius-test-rg/providers/Applications.Messaging/rabbitMQQueues/rabbitmq0", 3 | "name": "rabbitmq0", 4 | "type": "Applications.Messaging/rabbitMQQueues", 5 | "properties": { 6 | "queue": 12345 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /pkg/messagingrp/api/v20231001preview/testdata/rabbitmqsecrets.json: -------------------------------------------------------------------------------- 1 | { 2 | "uri": "test-connection-string", 3 | "password": "test-password" 4 | } 5 | -------------------------------------------------------------------------------- /pkg/messagingrp/api/v20231001preview/testdata/rabbitmqsecretsdatamodel.json: -------------------------------------------------------------------------------- 1 | { 2 | "uri": "test-connection-string", 3 | "password": "test-password" 4 | } 5 | -------------------------------------------------------------------------------- /pkg/recipes/terraform/config/testdata/.gitattributes: -------------------------------------------------------------------------------- 1 | #test files should use lf line endings 2 | *.tf text eol=lf 3 | *.json text eol=lf 4 | *.yaml text eol=lf -------------------------------------------------------------------------------- /pkg/recipes/terraform/config/testdata/module-emptyparams.tf.json: -------------------------------------------------------------------------------- 1 | { 2 | "terraform": null, 3 | "module": { 4 | "redis-azure": { 5 | "source": "Azure/redis/azurerm", 6 | "version": "1.1.0" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pkg/recipes/terraform/config/testdata/module-emptyresourceparam.tf.json: -------------------------------------------------------------------------------- 1 | { 2 | "terraform": null, 3 | "module": { 4 | "redis-azure": { 5 | "resource_group_name": "test-rg", 6 | "sku": "C", 7 | "source": "Azure/redis/azurerm", 8 | "version": "1.1.0" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /pkg/recipes/terraform/config/testdata/module-emptytemplateversion.tf.json: -------------------------------------------------------------------------------- 1 | { 2 | "terraform": null, 3 | "module": { 4 | "redis-azure": { 5 | "redis_cache_name": "redis-test", 6 | "resource_group_name": "test-rg", 7 | "sku": "P", 8 | "source": "Azure/redis/azurerm" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /pkg/recipes/terraform/config/testdata/module-private-git-repo.tf.json: -------------------------------------------------------------------------------- 1 | { 2 | "terraform": null, 3 | "module": { 4 | "redis-azure": { 5 | "redis_cache_name": "redis-test", 6 | "resource_group_name": "test-rg", 7 | "sku": "P", 8 | "source": "git::https://env-app-redis-dev.azure.com/project/module" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /pkg/recipes/terraform/config/testdata/module.tf.json: -------------------------------------------------------------------------------- 1 | { 2 | "terraform": null, 3 | "module": { 4 | "redis-azure": { 5 | "redis_cache_name": "redis-test", 6 | "resource_group_name": "test-rg", 7 | "sku": "P", 8 | "source": "Azure/redis/azurerm", 9 | "version": "1.1.0" 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /pkg/recipes/terraform/config/testdata/outputs.tf.json: -------------------------------------------------------------------------------- 1 | { 2 | "terraform": null, 3 | "module": { 4 | "redis-azure": { 5 | "redis_cache_name": "redis-test", 6 | "resource_group_name": "test-rg", 7 | "sku": "P", 8 | "source": "Azure/redis/azurerm", 9 | "version": "1.1.0" 10 | } 11 | }, 12 | "output": { 13 | "result": { 14 | "sensitive": true, 15 | "value": "${module.redis-azure.result}" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /pkg/recipes/terraform/config/testdata/providers-empty.tf.json: -------------------------------------------------------------------------------- 1 | { 2 | "terraform": { 3 | "backend": { 4 | "kubernetes": { 5 | "config_path": "/home/radius/.kube/config", 6 | "namespace": "radius-system", 7 | "secret_suffix": "test-secret-suffix" 8 | } 9 | } 10 | }, 11 | "module": { 12 | "redis-azure": { 13 | "redis_cache_name": "redis-test", 14 | "resource_group_name": "test-rg", 15 | "sku": "P", 16 | "source": "Azure/redis/azurerm", 17 | "version": "1.1.0" 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /pkg/recipes/terraform/config/testdata/providers-emptywithrequiredprovider.tf.json: -------------------------------------------------------------------------------- 1 | { 2 | "terraform": { 3 | "backend": { 4 | "kubernetes": { 5 | "config_path": "/home/radius/.kube/config", 6 | "namespace": "radius-system", 7 | "secret_suffix": "test-secret-suffix" 8 | } 9 | }, 10 | "required_providers": { 11 | "aws": {} 12 | } 13 | }, 14 | "module": { 15 | "redis-azure": { 16 | "redis_cache_name": "redis-test", 17 | "resource_group_name": "test-rg", 18 | "sku": "P", 19 | "source": "Azure/redis/azurerm", 20 | "version": "1.1.0" 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /pkg/recipes/terraform/config/testdata/providers-modules-noaliases.tf.json: -------------------------------------------------------------------------------- 1 | { 2 | "terraform": null, 3 | "provider": { 4 | "aws": [ 5 | { 6 | "alias": "alias1", 7 | "region": "us-west-2" 8 | } 9 | ] 10 | }, 11 | "module": { 12 | "redis-azure": { 13 | "redis_cache_name": "redis-test", 14 | "resource_group_name": "test-rg", 15 | "sku": "P", 16 | "source": "Azure/redis/azurerm", 17 | "version": "1.1.0" 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /pkg/recipes/terraform/config/testdata/providers-modules-subsetaliases.tf.json: -------------------------------------------------------------------------------- 1 | { 2 | "terraform": null, 3 | "provider": { 4 | "aws": [ 5 | { 6 | "alias": "alias1", 7 | "region": "us-west-2" 8 | } 9 | ] 10 | }, 11 | "module": { 12 | "redis-azure": { 13 | "providers": { 14 | "aws.alias1": "aws.alias1" 15 | }, 16 | "redis_cache_name": "redis-test", 17 | "resource_group_name": "test-rg", 18 | "sku": "P", 19 | "source": "Azure/redis/azurerm", 20 | "version": "1.1.0" 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /pkg/recipes/terraform/config/testdata/providers-modules-unmatchedaliases.tf.json: -------------------------------------------------------------------------------- 1 | { 2 | "terraform": null, 3 | "provider": { 4 | "aws": [ 5 | { 6 | "region": "us-west-2" 7 | } 8 | ] 9 | }, 10 | "module": { 11 | "redis-azure": { 12 | "redis_cache_name": "redis-test", 13 | "resource_group_name": "test-rg", 14 | "sku": "P", 15 | "source": "Azure/redis/azurerm", 16 | "version": "1.1.0" 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /pkg/recipes/terraform/testdata/.terraform/modules/.gitattributes: -------------------------------------------------------------------------------- 1 | #test files should use lf line endings 2 | *.tf text eol=lf 3 | *.json text eol=lf 4 | *.yaml text eol=lf -------------------------------------------------------------------------------- /pkg/recipes/terraform/testdata/.terraform/modules/test-module-provideronly/main.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_providers { 3 | aws = { 4 | source = "hashicorp/aws" 5 | version = ">=3.0" 6 | configuration_aliases = [ aws.eu-west-1, aws.eu-west-2 ] 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /pkg/recipes/terraform/testdata/.terraform/modules/test-module-providerpartialinfo/main.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_providers { 3 | aws = { 4 | source = "hashicorp/aws" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /pkg/recipes/terraform/testdata/.terraform/modules/test-module-recipe-context-outputs/main.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_providers { 3 | aws = { 4 | source = "hashicorp/aws" 5 | version = ">=3.0" 6 | } 7 | } 8 | } 9 | 10 | module "redis" { 11 | source = "test/module/azure" 12 | 13 | redis_cache_name = var.context.resource.name + var.context.aws.region 14 | } -------------------------------------------------------------------------------- /pkg/recipes/terraform/testdata/.terraform/modules/test-module-recipe-context-outputs/output.tf: -------------------------------------------------------------------------------- 1 | output "result" { 2 | value = { 3 | values = { 4 | host = "test-host" 5 | port = 1234 6 | } 7 | secrets = { 8 | connectionString = "test-connectionString" 9 | } 10 | sensitive = true 11 | } 12 | } -------------------------------------------------------------------------------- /pkg/recipes/terraform/testdata/.terraform/modules/test-submodule/submodule/main.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_providers { 3 | aws = { 4 | source = "hashicorp/aws" 5 | version = ">=3.0" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /pkg/sdk/aci-specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-11-01-preview/examples/ContainerAttach.json: -------------------------------------------------------------------------------- 1 | { 2 | "parameters": { 3 | "subscriptionId": "00000000-0000-0000-0000-000000000000", 4 | "api-version": "2024-11-01-preview", 5 | "resourceGroupName": "demo", 6 | "containerGroupName": "demo1", 7 | "containerName": "container1" 8 | }, 9 | "responses": { 10 | "200": { 11 | "body": { 12 | "webSocketUri": "wss://web-socket-uri", 13 | "password": "password" 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /pkg/sdk/aci-specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-11-01-preview/examples/ContainerGroupProfilesDelete.json: -------------------------------------------------------------------------------- 1 | { 2 | "parameters": { 3 | "subscriptionId": "00000000-0000-0000-0000-000000000000", 4 | "api-version": "2024-11-01-preview", 5 | "resourceGroupName": "demo", 6 | "containerGroupProfileName": "demo1" 7 | }, 8 | "responses": { 9 | "202": { 10 | "description": "Accepted", 11 | "headers": { 12 | "x-ms-correlation-request-id": "00000000-0000-0000-0000-000000000000", 13 | "Location": "eastus2euap" 14 | } 15 | }, 16 | "204": {} 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /pkg/sdk/aci-specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-11-01-preview/examples/ContainerGroupsRestart.json: -------------------------------------------------------------------------------- 1 | { 2 | "parameters": { 3 | "subscriptionId": "00000000-0000-0000-0000-000000000000", 4 | "api-version": "2024-11-01-preview", 5 | "resourceGroupName": "demo", 6 | "containerGroupName": "demo1" 7 | }, 8 | "responses": { 9 | "204": {} 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /pkg/sdk/aci-specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-11-01-preview/examples/ContainerGroupsStop.json: -------------------------------------------------------------------------------- 1 | { 2 | "parameters": { 3 | "subscriptionId": "00000000-0000-0000-0000-000000000000", 4 | "api-version": "2024-11-01-preview", 5 | "resourceGroupName": "demo", 6 | "containerGroupName": "demo1" 7 | }, 8 | "responses": { 9 | "204": {} 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /pkg/sdk/aci-specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-11-01-preview/examples/ContainerListLogs.json: -------------------------------------------------------------------------------- 1 | { 2 | "parameters": { 3 | "subscriptionId": "00000000-0000-0000-0000-000000000000", 4 | "api-version": "2024-11-01-preview", 5 | "resourceGroupName": "demo", 6 | "containerGroupName": "demo1", 7 | "containerName": "container1", 8 | "tail": 10 9 | }, 10 | "responses": { 11 | "200": { 12 | "body": { 13 | "content": "log content" 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /pkg/sdk/aci-specification/containerinstance/resource-manager/readme.nodejs.md: -------------------------------------------------------------------------------- 1 | ## Node.js 2 | 3 | These settings apply only when `--nodejs` is specified on the command line. 4 | Please also specify `--node-sdks-folder=`. 5 | 6 | ``` yaml $(nodejs) 7 | nodejs: 8 | azure-arm: true 9 | package-name: azure-arm-containerinstance 10 | output-folder: $(node-sdks-folder)/lib/services/containerinstanceManagement 11 | generate-license-txt: true 12 | generate-package-json: true 13 | generate-readme-md: true 14 | ``` 15 | -------------------------------------------------------------------------------- /pkg/sdk/aci-specification/containerinstance/resource-manager/readme.typescript.md: -------------------------------------------------------------------------------- 1 | ## TypeScript 2 | 3 | These settings apply only when `--typescript` is specified on the command line. 4 | Please also specify `--typescript-sdks-folder=`. 5 | 6 | ``` yaml $(typescript) 7 | typescript: 8 | azure-arm: true 9 | package-name: "@azure/arm-containerinstance" 10 | output-folder: "$(typescript-sdks-folder)/sdk/containerinstance/arm-containerinstance" 11 | generate-metadata: true 12 | ``` 13 | -------------------------------------------------------------------------------- /pkg/sdk/clients/clients.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2023 The Radius Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package clients 18 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/apiversion_datamodel.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01", 3 | "name": "2025-01-01", 4 | "type": "System.Resources/resourceProviders/resourceTypes/apiVersions", 5 | "provisioningState": "Succeeded", 6 | "properties": {} 7 | } 8 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/apiversion_resource.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources/apiVersions/2025-01-01", 3 | "name": "2025-01-01", 4 | "properties": {} 5 | } 6 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/awsplane-datamodel-empty.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/aws/aws", 3 | "name": "aws", 4 | "type": "System.AWS/planes", 5 | "location": "global", 6 | "systemData": { 7 | "createdBy": "fakeid@live.com", 8 | "createdByType": "User", 9 | "createdAt": "2021-09-24T19:09:54.2403864Z", 10 | "lastModifiedBy": "fakeid@live.com", 11 | "lastModifiedByType": "User", 12 | "lastModifiedAt": "2021-09-24T20:09:54.2403864Z" 13 | }, 14 | "tags": { 15 | "env": "dev" 16 | }, 17 | "properties": {} 18 | } 19 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/awsplane-resource-empty.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/aws/aws", 3 | "name": "aws", 4 | "type": "System.AWS/planes", 5 | "location": "global", 6 | "tags": { 7 | "env": "dev" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/azureplane-datamodel-empty.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/azure/azurecloud", 3 | "name": "azurecloud", 4 | "type": "System.Azure/planes", 5 | "location": "global", 6 | "systemData": { 7 | "createdBy": "fakeid@live.com", 8 | "createdByType": "User", 9 | "createdAt": "2021-09-24T19:09:54.2403864Z", 10 | "lastModifiedBy": "fakeid@live.com", 11 | "lastModifiedByType": "User", 12 | "lastModifiedAt": "2021-09-24T20:09:54.2403864Z" 13 | }, 14 | "tags": { 15 | "env": "dev" 16 | }, 17 | "properties": { 18 | "url": "https://management.azure.com" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/azureplane-resource-empty.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/azure/azurecloud", 3 | "name": "azurecloud", 4 | "type": "System.Azure/planes", 5 | "location": "global", 6 | "tags": { 7 | "env": "dev" 8 | }, 9 | "properties": { 10 | "url": "https://management.azure.com" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/credentialresource-aws-accesskey.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/aws/aws/providers/System.AWS/credentials/default", 3 | "name": "default", 4 | "type": "System.AWS/credentials", 5 | "location": "west-us-2", 6 | "tags": { 7 | "env": "dev" 8 | }, 9 | "properties": { 10 | "accessKeyId": "00000000-0000-0000-0000-000000000000", 11 | "secretAccessKey": "00000000-0000-0000-0000-000000000000", 12 | "kind": "AccessKey", 13 | "storage": { 14 | "kind": "Internal" 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/credentialresource-aws-irsa.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/aws/aws/providers/System.AWS/credentials/default", 3 | "name": "default", 4 | "type": "System.AWS/credentials", 5 | "location": "west-us-2", 6 | "tags": { 7 | "env": "dev" 8 | }, 9 | "properties": { 10 | "roleARN": "arn:aws:iam::000000000000:role/role-name", 11 | "kind": "IRSA", 12 | "storage": { 13 | "kind": "Internal" 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/credentialresource-azure-serviceprincipal.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default", 3 | "name": "default", 4 | "type": "System.Azure/credentials", 5 | "location": "west-us-2", 6 | "tags": { 7 | "env": "dev" 8 | }, 9 | "properties": { 10 | "kind": "ServicePrincipal", 11 | "tenantId": "00000000-0000-0000-0000-000000000000", 12 | "clientId": "00000000-0000-0000-0000-000000000000", 13 | "clientSecret": "secret", 14 | "storage": { 15 | "kind": "Internal" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/credentialresource-azure-workloadidentity.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default", 3 | "name": "default", 4 | "type": "System.Azure/credentials", 5 | "location": "west-us-2", 6 | "tags": { 7 | "env": "dev" 8 | }, 9 | "properties": { 10 | "kind": "WorkloadIdentity", 11 | "tenantId": "00000000-0000-0000-0000-000000000000", 12 | "clientId": "00000000-0000-0000-0000-000000000000", 13 | "storage": { 14 | "kind": "Internal" 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-properties.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default", 3 | "name": "default", 4 | "type": "System.Azure/credentials", 5 | "location": "west-us-2" 6 | } 7 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-aws.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/aws/aws/providers/System.AWS/credentials/default", 3 | "name": "default", 4 | "type": "System.AWS/credentials", 5 | "location": "west-us-2", 6 | "properties": { 7 | "tenantId": "00000000-0000-0000-0000-000000000000", 8 | "clientId": "00000000-0000-0000-0000-000000000000", 9 | "clientSecret": "secret", 10 | "kind": "AccessKey" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-azure.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default", 3 | "name": "default", 4 | "type": "System.Azure/credentials", 5 | "location": "west-us-2", 6 | "properties": { 7 | "tenantId": "00000000-0000-0000-0000-000000000000", 8 | "clientId": "00000000-0000-0000-0000-000000000000", 9 | "clientSecret": "secret", 10 | "kind": "ServicePrincipal" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-kind-aws.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/aws/aws/providers/System.AWS/credentials/default", 3 | "name": "default", 4 | "type": "System.AWS/credentials", 5 | "location": "west-us-2", 6 | "properties": { 7 | "tenantId": "00000000-0000-0000-0000-000000000000", 8 | "clientId": "00000000-0000-0000-0000-000000000000", 9 | "clientSecret": "secret", 10 | "kind": "AccessKey", 11 | "storage": {} 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/credentialresource-empty-storage-kind-azure.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default", 3 | "name": "default", 4 | "type": "System.Azure/credentials", 5 | "location": "west-us-2", 6 | "properties": { 7 | "tenantId": "00000000-0000-0000-0000-000000000000", 8 | "clientId": "00000000-0000-0000-0000-000000000000", 9 | "clientSecret": "secret", 10 | "kind": "ServicePrincipal", 11 | "storage": {} 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/credentialresource-invalid-storagekind-aws.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/aws/aws/providers/System.AWS/credentials/default", 3 | "name": "default", 4 | "type": "System.AWS/credentials", 5 | "location": "west-us-2", 6 | "properties": { 7 | "tenantId": "00000000-0000-0000-0000-000000000000", 8 | "clientId": "00000000-0000-0000-0000-000000000000", 9 | "clientSecret": "secret", 10 | "kind": "AccessKey", 11 | "storage": { 12 | "kind": "invalid" 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/credentialresource-invalid-storagekind-azure.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default", 3 | "name": "default", 4 | "type": "System.Azure/credentials", 5 | "location": "west-us-2", 6 | "properties": { 7 | "tenantId": "00000000-0000-0000-0000-000000000000", 8 | "clientId": "00000000-0000-0000-0000-000000000000", 9 | "clientSecret": "secret", 10 | "kind": "ServicePrincipal", 11 | "storage": { 12 | "kind": "invalid" 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/credentialresource-other.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/other/othercloud/providers/System.Other/credentials/default", 3 | "name": "default", 4 | "type": "System.Other/credentials", 5 | "location": "west-us-2", 6 | "tags": { 7 | "env": "dev" 8 | }, 9 | "properties": { 10 | "storage": { 11 | "kind": "Internal" 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/genericplane-datamodel-empty.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/aws/aws", 3 | "name": "aws", 4 | "type": "System.AWS/planes", 5 | "location": "global", 6 | "systemData": { 7 | "createdBy": "fakeid@live.com", 8 | "createdByType": "User", 9 | "createdAt": "2021-09-24T19:09:54.2403864Z", 10 | "lastModifiedBy": "fakeid@live.com", 11 | "lastModifiedByType": "User", 12 | "lastModifiedAt": "2021-09-24T20:09:54.2403864Z" 13 | }, 14 | "tags": { 15 | "env": "dev" 16 | }, 17 | "properties": {} 18 | } 19 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/location_datamodel.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/locations/east", 3 | "name": "east", 4 | "type": "System.Resources/resourceProviders/locations", 5 | "provisioningState": "Succeeded", 6 | "properties": { 7 | "address": "https://east.myrp.com", 8 | "resourceTypes": { 9 | "testResources": { 10 | "apiVersions": { 11 | "2025-01-01": {} 12 | } 13 | } 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/location_resource.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/locations/east", 3 | "name": "east", 4 | "properties": { 5 | "address": "https://east.myrp.com", 6 | "resourceTypes": { 7 | "testResources": { 8 | "apiVersions": { 9 | "2025-01-01": {} 10 | } 11 | } 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/planeresource-empty-resourceproviders.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local", 3 | "name": "local", 4 | "type": "System.Radius/planes", 5 | "properties": { 6 | "kind": "UCPNative", 7 | "resourceProviders": {} 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/planeresource-invalid-missing-kind.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local", 3 | "name": "local", 4 | "type": "System.Radius/planes", 5 | "properties": { 6 | "resourceProviders": { 7 | "Applications.Core": "https://applications.core.radius.azure.com" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/planeresource-invalid-missing-url.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local", 3 | "name": "local", 4 | "type": "System.Radius/planes", 5 | "properties": { 6 | "kind": "Azure", 7 | "resourceProviders": { 8 | "Applications.Core": "https://applications.core.radius.azure.com" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/planeresource-invalid-unsupported-kind.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local", 3 | "name": "local", 4 | "type": "System.Radius/planes", 5 | "properties": { 6 | "kind": "BadKind", 7 | "resourceProviders": { 8 | "Applications.Core": "https://applications.core.radius.azure.com" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/planeresource.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local", 3 | "name": "local", 4 | "type": "System.Radius/planes", 5 | "properties": { 6 | "kind": "UCPNative", 7 | "resourceProviders": { 8 | "Applications.Core": "https://applications.core.radius.azure.com" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/radiusplane-resource-empty.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local", 3 | "name": "local", 4 | "type": "System.Radius/planes", 5 | "location": "global", 6 | "tags": { 7 | "env": "dev" 8 | }, 9 | "properties": { 10 | "resourceProviders": { 11 | "Applications.Core": "http://applications-rp:9000" 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/resourcegroup.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local/resourceGroups/test-rg", 3 | "name": "test-rg", 4 | "type": "System.Resources/resourceGroups", 5 | "location": "global", 6 | "tags": { 7 | "env": "dev" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/resourcegroupresourcedatamodel.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local/resourceGroups/test-rg", 3 | "name": "test-rg", 4 | "type": "System.Resources/resourceGroups", 5 | "location": "global", 6 | "systemData": { 7 | "createdBy": "fakeid@live.com", 8 | "createdByType": "User", 9 | "createdAt": "2021-09-24T19:09:54.2403864Z", 10 | "lastModifiedBy": "fakeid@live.com", 11 | "lastModifiedByType": "User", 12 | "lastModifiedAt": "2021-09-24T20:09:54.2403864Z" 13 | }, 14 | "tags": { 15 | "env": "dev" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/resourceprovider_datamodel.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test", 3 | "name": "Applications.Test", 4 | "type": "System.Resources/resourceProviders", 5 | "location": "global", 6 | "provisioningState": "Succeeded", 7 | "properties": {} 8 | } 9 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/resourceprovider_resource.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test", 3 | "name": "Applications.Test", 4 | "location": "global", 5 | "properties": {} 6 | } 7 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/resourcetype_datamodel.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources", 3 | "name": "testResources", 4 | "type": "System.Resources/resourceProviders/resourceTypes", 5 | "provisioningState": "Succeeded", 6 | "properties": { 7 | "capabilities": ["SupportsRecipes"], 8 | "defaultApiVersion": "2025-01-01" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /pkg/ucp/api/v20231001preview/testdata/resourcetype_resource.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local/providers/System.Resources/resourceProviders/Applications.Test/resourceTypes/testResources", 3 | "name": "testResources", 4 | "properties": { 5 | "capabilities": ["SupportsRecipes"], 6 | "defaultApiVersion": "2025-01-01" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /pkg/ucp/frontend/controller/credentials/aws/testdata/aws-credential.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/aws/awscloud/providers/System.AWS/credentials/default", 3 | "type": "System.AWS/credentials", 4 | "location": "West US", 5 | "tags": { 6 | "env": "dev" 7 | }, 8 | "properties": { 9 | "accessKeyId": "00000000-0000-0000-0000-000000000000", 10 | "secretAccessKey": "00000000-0000-0000-0000-000000000000", 11 | "kind": "AccessKey", 12 | "storage": { 13 | "kind": "Internal" 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /pkg/ucp/frontend/controller/credentials/aws/testdata/invalid-request-aws-credential.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/aws/awscloud/providers/System.AWS/credentials/default", 3 | "type": "System.AWS/credentials", 4 | "location": "West US" 5 | } 6 | -------------------------------------------------------------------------------- /pkg/ucp/frontend/controller/credentials/aws/testdata/requestheaders20231001preview.json: -------------------------------------------------------------------------------- 1 | { 2 | "Accept": "application/json", 3 | "Accept-Encoding": "gzip, deflate", 4 | "Accept-Language": "en-US", 5 | "Content-Length": "305", 6 | "Content-Type": "application/json; charset=utf-8", 7 | "Referer": "/planes/aws/awscloud/providers/System.AWS/credentials/default?api-version=2023-10-01-preview" 8 | } 9 | -------------------------------------------------------------------------------- /pkg/ucp/frontend/controller/credentials/aws/testdata/requestheaders20231001preview_badapiversion.json: -------------------------------------------------------------------------------- 1 | { 2 | "Accept": "application/json", 3 | "Accept-Encoding": "gzip, deflate", 4 | "Accept-Language": "en-US", 5 | "Content-Length": "305", 6 | "Content-Type": "application/json; charset=utf-8", 7 | "Referer": "/planes/aws/awscloud/providers/System.AWS/credentials/default?api-version=bad" 8 | } 9 | -------------------------------------------------------------------------------- /pkg/ucp/frontend/controller/credentials/aws/testdata/requestheaders20231001preview_invalidcredential.json: -------------------------------------------------------------------------------- 1 | { 2 | "Accept": "application/json", 3 | "Accept-Encoding": "gzip, deflate", 4 | "Accept-Language": "en-US", 5 | "Content-Length": "305", 6 | "Content-Type": "application/json; charset=utf-8", 7 | "Referer": "/planes/aws/awscloud/providers/System.AWS//default?api-version=2023-10-01-preview" 8 | } 9 | -------------------------------------------------------------------------------- /pkg/ucp/frontend/controller/credentials/azure/testdata/azure-credential.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default", 3 | "name": "default", 4 | "type": "System.Azure/credentials", 5 | "location": "West US", 6 | "tags": { 7 | "env": "dev" 8 | }, 9 | "properties": { 10 | "tenantId": "00000000-0000-0000-0000-000000000000", 11 | "clientId": "00000000-0000-0000-0000-000000000000", 12 | "secret": "secret", 13 | "kind": "ServicePrincipal", 14 | "storage": { 15 | "kind": "Internal" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /pkg/ucp/frontend/controller/credentials/azure/testdata/invalid-request-azure-credential.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/azure/azurecloud/providers/System.Azure/credentials/default", 3 | "type": "System.Azure/credentials", 4 | "location": "West US" 5 | } 6 | -------------------------------------------------------------------------------- /pkg/ucp/frontend/controller/credentials/azure/testdata/requestheaders20231001preview.json: -------------------------------------------------------------------------------- 1 | { 2 | "Accept": "application/json", 3 | "Accept-Encoding": "gzip, deflate", 4 | "Accept-Language": "en-US", 5 | "Content-Length": "305", 6 | "Content-Type": "application/json; charset=utf-8", 7 | "Referer": "/planes/azure/azurecloud/providers/System.Azure/credentials/default?api-version=2023-10-01-preview" 8 | } 9 | -------------------------------------------------------------------------------- /pkg/ucp/frontend/controller/credentials/azure/testdata/requestheaders20231001preview_badapiversion.json: -------------------------------------------------------------------------------- 1 | { 2 | "Accept": "application/json", 3 | "Accept-Encoding": "gzip, deflate", 4 | "Accept-Language": "en-US", 5 | "Content-Length": "305", 6 | "Content-Type": "application/json; charset=utf-8", 7 | "Referer": "/planes/aws/awscloud/providers/System.AWS/credentials/default?api-version=bad" 8 | } 9 | -------------------------------------------------------------------------------- /pkg/ucp/frontend/controller/credentials/azure/testdata/requestheaders20231001preview_invalidcredential.json: -------------------------------------------------------------------------------- 1 | { 2 | "Accept": "application/json", 3 | "Accept-Encoding": "gzip, deflate", 4 | "Accept-Language": "en-US", 5 | "Content-Length": "305", 6 | "Content-Type": "application/json; charset=utf-8", 7 | "Referer": "/planes/azure/azurecloud/providers/System.Azure//default?api-version=2023-10-01-preview" 8 | } 9 | -------------------------------------------------------------------------------- /pkg/ucp/frontend/controller/planes/testdata/createazureplane.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "id": "/planes/azure/public", 4 | "name": "local", 5 | "type": "System.Azure/planes", 6 | "properties": { 7 | "kind": "Azure" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pkg/ucp/frontend/controller/planes/testdata/createucpnativeplane.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "id": "/planes/radius/local", 4 | "name": "local", 5 | "type": "System.Radius/planes", 6 | "properties": { 7 | "resourceProviders": { 8 | "Applications.Core": "http://localhost:9080/", 9 | "Applications.Connection": "http://localhost:9081/" 10 | }, 11 | "kind": "UCPNative" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /pkg/ucp/frontend/controller/planes/testdata/createucpnativeplanenoproviders.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "id": "/planes/radius/local", 4 | "name": "local", 5 | "type": "System.Radius/planes", 6 | "properties": { 7 | "kind": "UCPNative" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pkg/ucp/frontend/controller/planes/testdata/requestheaders20231001preview.json: -------------------------------------------------------------------------------- 1 | { 2 | "Accept": "application/json", 3 | "Accept-Encoding": "gzip, deflate", 4 | "Accept-Language": "en-US", 5 | "Content-Length": "305", 6 | "Content-Type": "application/json; charset=utf-8", 7 | "Referer": "/planes/radius/local?api-version=2023-10-01-preview" 8 | } 9 | -------------------------------------------------------------------------------- /pkg/ucp/frontend/controller/planes/testdata/requestheaders20231001preview_azure.json: -------------------------------------------------------------------------------- 1 | { 2 | "Accept": "application/json", 3 | "Accept-Encoding": "gzip, deflate", 4 | "Accept-Language": "en-US", 5 | "Content-Length": "305", 6 | "Content-Type": "application/json; charset=utf-8", 7 | "Referer": "/planes/azure/public?api-version=2023-10-01-preview" 8 | } 9 | -------------------------------------------------------------------------------- /pkg/ucp/frontend/controller/planes/testdata/requestheaders20231001preview_nonexistentplane.json: -------------------------------------------------------------------------------- 1 | { 2 | "Accept": "application/json", 3 | "Accept-Encoding": "gzip, deflate", 4 | "Accept-Language": "en-US", 5 | "Content-Length": "305", 6 | "Content-Type": "application/json; charset=utf-8", 7 | "Referer": "/planes/abc/xyz?api-version=2023-10-01-preview" 8 | } 9 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/planes/testdata/awsplane_updated_v20231001preview_requestbody.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "tags": { 4 | "updated": "yes" 5 | }, 6 | "properties": {} 7 | } 8 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/planes/testdata/awsplane_updated_v20231001preview_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/aws/aws", 3 | "type": "System.AWS/planes", 4 | "name": "aws", 5 | "location": "global", 6 | "tags": { 7 | "updated": "yes" 8 | }, 9 | "properties": { 10 | "provisioningState": "Succeeded" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/planes/testdata/awsplane_v20231001preview_list_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": [ 3 | { 4 | "id": "/planes/aws/aws", 5 | "type": "System.AWS/planes", 6 | "name": "aws", 7 | "location": "global", 8 | "tags": {}, 9 | "properties": { 10 | "provisioningState": "Succeeded" 11 | } 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/planes/testdata/awsplane_v20231001preview_requestbody.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "tags": {}, 4 | "properties": {} 5 | } 6 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/planes/testdata/awsplane_v20231001preview_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/aws/aws", 3 | "type": "System.AWS/planes", 4 | "name": "aws", 5 | "location": "global", 6 | "tags": {}, 7 | "properties": { 8 | "provisioningState": "Succeeded" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/planes/testdata/azureplane_updated_v20231001preview_requestbody.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "tags": { 4 | "updated": "yes" 5 | }, 6 | "properties": { 7 | "url": "https://management.azure.com/" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/planes/testdata/azureplane_updated_v20231001preview_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/azure/azurecloud", 3 | "name": "azurecloud", 4 | "type": "System.Azure/planes", 5 | "location": "global", 6 | "tags": { 7 | "updated": "yes" 8 | }, 9 | "properties": { 10 | "provisioningState": "Succeeded", 11 | "url": "https://management.azure.com/" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/planes/testdata/azureplane_v20231001preview_list_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": [ 3 | { 4 | "id": "/planes/azure/azurecloud", 5 | "name": "azurecloud", 6 | "type": "System.Azure/planes", 7 | "location": "global", 8 | "tags": {}, 9 | "properties": { 10 | "provisioningState": "Succeeded", 11 | "url": "https://management.azure.com/" 12 | } 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/planes/testdata/azureplane_v20231001preview_requestbody.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "properties": { 4 | "url": "https://management.azure.com/" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/planes/testdata/azureplane_v20231001preview_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/azure/azurecloud", 3 | "name": "azurecloud", 4 | "type": "System.Azure/planes", 5 | "location": "global", 6 | "tags": {}, 7 | "properties": { 8 | "provisioningState": "Succeeded", 9 | "url": "https://management.azure.com/" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/planes/testdata/genericplane_v20231001preview_list_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": [ 3 | { 4 | "id": "/planes/radius/local", 5 | "name": "local", 6 | "type": "System.Radius/planes", 7 | "location": "global", 8 | "tags": {}, 9 | "properties": { 10 | "provisioningState": "Succeeded" 11 | } 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/planes/testdata/radiusplane_updated_v20231001preview_requestbody.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "properties": { 4 | "resourceProviders": { 5 | "test": "http://localhost:9999", 6 | "another": "http://localhost:10000" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/planes/testdata/radiusplane_updated_v20231001preview_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local", 3 | "name": "local", 4 | "type": "System.Radius/planes", 5 | "location": "global", 6 | "tags": {}, 7 | "properties": { 8 | "provisioningState": "Succeeded", 9 | "resourceProviders": { 10 | "test": "http://localhost:9999", 11 | "another": "http://localhost:10000" 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/planes/testdata/radiusplane_v20231001preview_list_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": [ 3 | { 4 | "id": "/planes/radius/local", 5 | "name": "local", 6 | "type": "System.Radius/planes", 7 | "location": "global", 8 | "tags": {}, 9 | "properties": { 10 | "provisioningState": "Succeeded", 11 | "resourceProviders": { 12 | "test": "http://localhost:9999" 13 | } 14 | } 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/planes/testdata/radiusplane_v20231001preview_requestbody.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "tags": {}, 4 | "properties": { 5 | "resourceProviders": { 6 | "test": "http://localhost:9999" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/planes/testdata/radiusplane_v20231001preview_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local", 3 | "name": "local", 4 | "type": "System.Radius/planes", 5 | "location": "global", 6 | "tags": {}, 7 | "properties": { 8 | "provisioningState": "Succeeded", 9 | "resourceProviders": { 10 | "test": "http://localhost:9999" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_invalid_v20231001preview_requestbody.json: -------------------------------------------------------------------------------- 1 | { 2 | "_location_oops": "global", 3 | "name": "test-rg", 4 | "properties": {} 5 | } 6 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_invalid_v20231001preview_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "error": { 3 | "code": "HttpRequestPayloadAPISpecValidationFailed", 4 | "details": [ 5 | { 6 | "code": "InvalidProperties", 7 | "message": "$.location in body is required" 8 | } 9 | ], 10 | "message": "HTTP request payload failed validation against API specification with one or more errors. Please see details for more information.", 11 | "target": "ucp/openapi" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_updated_v20231001preview_requestbody.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "name": "test-rg", 4 | "properties": {} 5 | } 6 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_updated_v20231001preview_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "id": "/planes/radius/local/resourcegroups/test-rg", 4 | "name": "test-rg", 5 | "tags": {}, 6 | "type": "System.Resources/resourceGroups" 7 | } 8 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_v20231001preview_list_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": [ 3 | { 4 | "location": "global", 5 | "id": "/planes/radius/local/resourcegroups/test-rg", 6 | "name": "test-rg", 7 | "tags": {}, 8 | "type": "System.Resources/resourceGroups" 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_v20231001preview_requestbody.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "name": "test-rg", 4 | "properties": {} 5 | } 6 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourcegroups/testdata/resourcegroup_v20231001preview_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "id": "/planes/radius/local/resourcegroups/test-rg", 4 | "name": "test-rg", 5 | "tags": {}, 6 | "type": "System.Resources/resourceGroups" 7 | } 8 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_emptylist_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": [] 3 | } 4 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_list_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": [ 3 | { 4 | "id": "/planes/radius/local/providers/System.Resources/resourceproviders/Applications.Test/resourcetypes/testResources/apiversions/2025-01-01", 5 | "name": "2025-01-01", 6 | "properties": { 7 | "provisioningState": "Succeeded" 8 | }, 9 | "type": "System.Resources/resourceproviders/resourcetypes/apiversions" 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_requestbody.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "tags": { 4 | "test": "my-test" 5 | }, 6 | "properties": {} 7 | } 8 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/apiversion_v20231001preview_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local/providers/System.Resources/resourceproviders/Applications.Test/resourcetypes/testResources/apiversions/2025-01-01", 3 | "name": "2025-01-01", 4 | "properties": { 5 | "provisioningState": "Succeeded" 6 | }, 7 | "type": "System.Resources/resourceproviders/resourcetypes/apiversions" 8 | } 9 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_emptylist_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": [] 3 | } 4 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_list_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": [ 3 | { 4 | "id": "/planes/radius/local/providers/System.Resources/resourceproviders/Applications.Test/locations/east", 5 | "name": "east", 6 | "properties": { 7 | "provisioningState": "Succeeded", 8 | "resourceTypes": {} 9 | }, 10 | "type": "System.Resources/resourceProviders/locations" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_requestbody.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "tags": { 4 | "test": "my-test" 5 | }, 6 | "properties": {} 7 | } 8 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/location_v20231001preview_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local/providers/System.Resources/resourceproviders/Applications.Test/locations/east", 3 | "name": "east", 4 | "properties": { 5 | "provisioningState": "Succeeded", 6 | "resourceTypes": {} 7 | }, 8 | "type": "System.Resources/resourceProviders/locations" 9 | } 10 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/manifests/resourceprovider-valid1.yaml: -------------------------------------------------------------------------------- 1 | namespace: TestProvider.TestCompany 2 | location: 3 | global: 4 | 'http://localhost:8080' 5 | types: 6 | testResourcesAbc: 7 | apiVersions: 8 | "2023-10-01-preview": 9 | schema: {} 10 | capabilities: [] 11 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_manifest_list_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": [ 3 | { 4 | "id": "/planes/radius/local/providers/System.Resources/resourceproviders/TestProvider.TestCompany", 5 | "location": "global", 6 | "name": "TestProvider.TestCompany", 7 | "properties": { 8 | "provisioningState": "Succeeded" 9 | }, 10 | "tags": {}, 11 | "type": "System.Resources/resourceproviders" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_manifest_requestbody.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "tags": {}, 4 | "properties": {} 5 | } 6 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_manifest_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local/providers/System.Resources/resourceproviders/TestProvider.TestCompany", 3 | "location": "global", 4 | "name": "TestProvider.TestCompany", 5 | "properties": { 6 | "provisioningState": "Succeeded" 7 | }, 8 | "tags": {}, 9 | "type": "System.Resources/resourceproviders" 10 | } 11 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_emptylist_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": [] 3 | } 4 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_list_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": [ 3 | { 4 | "id": "/planes/radius/local/providers/System.Resources/resourceproviders/Applications.Test", 5 | "location": "global", 6 | "name": "Applications.Test", 7 | "properties": { 8 | "provisioningState": "Succeeded" 9 | }, 10 | "tags": { 11 | "test": "my-test" 12 | }, 13 | "type": "System.Resources/resourceproviders" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_requestbody.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "global", 3 | "tags": { 4 | "test": "my-test" 5 | }, 6 | "properties": {} 7 | } 8 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/resourceprovider_v20231001preview_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local/providers/System.Resources/resourceproviders/Applications.Test", 3 | "location": "global", 4 | "name": "Applications.Test", 5 | "properties": { 6 | "provisioningState": "Succeeded" 7 | }, 8 | "tags": { 9 | "test": "my-test" 10 | }, 11 | "type": "System.Resources/resourceproviders" 12 | } 13 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_manifest_list_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": [ 3 | { 4 | "id": "/planes/radius/local/providers/System.Resources/resourceproviders/TestProvider.TestCompany/resourcetypes/testResourcesAbc", 5 | "name": "testResourcesAbc", 6 | "properties": { 7 | "provisioningState": "Succeeded", 8 | "capabilities": [] 9 | }, 10 | "type": "System.Resources/resourceproviders/resourcetypes" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_manifest_requestbody.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": { 3 | "defaultApiVersion": "2023-10-01" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_manifest_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local/providers/System.Resources/resourceproviders/TestProvider.TestCompany/resourcetypes/testResourcesAbc", 3 | "name": "testResourcesAbc", 4 | "properties": { 5 | "provisioningState": "Succeeded", 6 | "capabilities": [] 7 | }, 8 | "type": "System.Resources/resourceproviders/resourcetypes" 9 | } 10 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_emptylist_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": [] 3 | } 4 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_list_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": [ 3 | { 4 | "id": "/planes/radius/local/providers/System.Resources/resourceproviders/Applications.Test/resourcetypes/testResources", 5 | "name": "testResources", 6 | "properties": { 7 | "capabilities": ["SupportsRecipes"], 8 | "defaultApiVersion": "2025-01-01", 9 | "provisioningState": "Succeeded" 10 | }, 11 | "type": "System.Resources/resourceproviders/resourcetypes" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_requestbody.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": { 3 | "capabilities": ["SupportsRecipes"], 4 | "defaultApiVersion": "2025-01-01" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /pkg/ucp/integrationtests/resourceproviders/testdata/resourcetype_v20231001preview_responsebody.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "/planes/radius/local/providers/System.Resources/resourceproviders/Applications.Test/resourcetypes/testResources", 3 | "name": "testResources", 4 | "properties": { 5 | "capabilities": ["SupportsRecipes"], 6 | "defaultApiVersion": "2025-01-01", 7 | "provisioningState": "Succeeded" 8 | }, 9 | "type": "System.Resources/resourceproviders/resourcetypes" 10 | } 11 | -------------------------------------------------------------------------------- /pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/downstream-request.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "http://example.com/planes/example/local/some-path?query=yes", 3 | "method": "PUT", 4 | "headers": { 5 | "Referer": [ 6 | "http://ucp.example.com/path/base/planes/example/local/some-path?query=yes" 7 | ] 8 | }, 9 | "body": "" 10 | } 11 | -------------------------------------------------------------------------------- /pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/downstream-response.json: -------------------------------------------------------------------------------- 1 | { 2 | "statusCode": 200, 3 | "body": "{}", 4 | "headers": { 5 | "Azure-Asyncoperation": [ 6 | "http://localhost:9443/planes/example/local/asyncresponseID" 7 | ], 8 | "Location": ["http://localhost:9443/planes/example/local/asyncresponseID"] 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/upstream-request.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "http://ucp.example.com/planes/example/local/some-path?query=yes", 3 | "headers": { 4 | "Referer": [ 5 | "http://ucp.example.com/path/base/planes/example/local/some-path?query=yes" 6 | ] 7 | }, 8 | "method": "PUT" 9 | } 10 | -------------------------------------------------------------------------------- /pkg/ucp/proxy/testdata/arm/async-header-roundtrip-pathbase/upstream-response.json: -------------------------------------------------------------------------------- 1 | { 2 | "statusCode": 200, 3 | "headers": { 4 | "Azure-Asyncoperation": [ 5 | "http://ucp.example.com/path/base/planes/example/local/asyncresponseID" 6 | ], 7 | "Location": [ 8 | "http://ucp.example.com/path/base/planes/example/local/asyncresponseID" 9 | ] 10 | }, 11 | "body": "" 12 | } 13 | -------------------------------------------------------------------------------- /pkg/ucp/proxy/testdata/arm/async-header-roundtrip/downstream-request.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "http://example.com/planes/example/local/some-path?query=yes", 3 | "method": "PUT", 4 | "headers": { 5 | "Referer": [ 6 | "http://ucp.example.com/planes/example/local/some-path?query=yes" 7 | ] 8 | }, 9 | "body": "" 10 | } 11 | -------------------------------------------------------------------------------- /pkg/ucp/proxy/testdata/arm/async-header-roundtrip/downstream-response.json: -------------------------------------------------------------------------------- 1 | { 2 | "statusCode": 200, 3 | "body": "{}", 4 | "headers": { 5 | "Azure-Asyncoperation": [ 6 | "http://localhost:9443/planes/example/local/asyncresponseID" 7 | ], 8 | "Location": ["http://localhost:9443/planes/example/local/asyncresponseID"] 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /pkg/ucp/proxy/testdata/arm/async-header-roundtrip/upstream-request.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "http://ucp.example.com/planes/example/local/some-path?query=yes", 3 | "headers": { 4 | "Referer": [ 5 | "http://ucp.example.com/planes/example/local/some-path?query=yes" 6 | ] 7 | }, 8 | "method": "PUT" 9 | } 10 | -------------------------------------------------------------------------------- /pkg/ucp/proxy/testdata/arm/async-header-roundtrip/upstream-response.json: -------------------------------------------------------------------------------- 1 | { 2 | "statusCode": 200, 3 | "headers": { 4 | "Azure-Asyncoperation": [ 5 | "http://ucp.example.com/planes/example/local/asyncresponseID" 6 | ], 7 | "Location": ["http://ucp.example.com/planes/example/local/asyncresponseID"] 8 | }, 9 | "body": "" 10 | } 11 | -------------------------------------------------------------------------------- /pkg/ucp/proxy/testdata/arm/basic-roundtrip/downstream-request.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "http://example.com/some-path?query=yes", 3 | "method": "GET", 4 | "headers": { 5 | "traceparent": ["traceid"] 6 | }, 7 | "body": "" 8 | } 9 | -------------------------------------------------------------------------------- /pkg/ucp/proxy/testdata/arm/basic-roundtrip/downstream-response.json: -------------------------------------------------------------------------------- 1 | { 2 | "statusCode": 200, 3 | "body": "{ \"message\": \"hello there!\" }", 4 | "headers": { 5 | "Content-Type": ["application/json"] 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /pkg/ucp/proxy/testdata/arm/basic-roundtrip/upstream-request.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "http://ucp.example.com/some-path?query=yes", 3 | "method": "GET", 4 | "headers": { 5 | "traceparent": ["traceid"], 6 | "X-Remote-User": ["fakeUser"], 7 | "X-Remote-Group": ["fakeGroup"], 8 | "X-Remote-Extra-Name": ["fakeExtraName"], 9 | "X-Remote-Extra-Id": ["fakeExtraId"] 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /pkg/ucp/proxy/testdata/arm/basic-roundtrip/upstream-response.json: -------------------------------------------------------------------------------- 1 | { 2 | "statusCode": 200, 3 | "headers": { 4 | "Content-Type": ["application/json"] 5 | }, 6 | "body": "" 7 | } 8 | -------------------------------------------------------------------------------- /pkg/validator/testdata/put-environments-invalid-json.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "West US", 3 | "properties": { 4 | "compute": { 5 | "kind": "kubernetes", 6 | "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster" 7 | -------------------------------------------------------------------------------- /pkg/validator/testdata/put-environments-invalid-missing-kind.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "West US", 3 | "properties": { 4 | "compute": { 5 | "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /pkg/validator/testdata/put-environments-invalid-missing-location.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": { 3 | "compute": { 4 | "kind": "kubernetes", 5 | "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /pkg/validator/testdata/put-environments-invalid-missing-locationandkind.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": { 3 | "compute": { 4 | "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /pkg/validator/testdata/put-environments-valid-selfhost.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "West US", 3 | "properties": { 4 | "compute": { 5 | "kind": "kubernetes" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /pkg/validator/testdata/put-environments-valid.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": "West US", 3 | "properties": { 4 | "compute": { 5 | "kind": "kubernetes", 6 | "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.ContainerService/managedClusters/radiusTestCluster" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Applications_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "Applications_Delete", 3 | "title": "Delete an application resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "applicationName": "app0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Containers_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "Containers_Delete", 3 | "title": "Delete an container resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "containerName": "app0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Environments_DeleteEnv0.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "Environments_Delete", 3 | "title": "Delete an environment resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "environmentName": "env0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Extenders_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "Extenders_Delete", 3 | "title": "Delete an extender resource", 4 | "parameters": { 5 | "rootScope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup", 6 | "extenderName": "extender0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Gateways_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "Gateways_Delete", 3 | "title": "Delete an gateway resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "gatewayName": "gateway0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/SecretStores_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "SecretStores_Update", 3 | "title": "Update a secret store resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "volumeName": "keyvault0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/Applications.Core/preview/2023-10-01-preview/examples/Volumes_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "Volumes_Delete", 3 | "title": "Delete a volume", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "volumeName": "keyvault0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/ConfigurationStores_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "ConfigurationStores_Delete", 3 | "title": "Delete a ConfigurationStore resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup/resourceGroups/testGroup", 6 | "pubSubBrokerName": "configstore0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/PubSubBrokers_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "PubSubBrokers_Delete", 3 | "title": "Delete a PubSubBroker resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup/resourceGroups/testGroup", 6 | "pubSubBrokerName": "daprpubsub0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/SecretStores_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "SecretStores_Delete", 3 | "title": "Delete a SecretStore resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "secretStoreName": "daprsecretstore0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/Applications.Dapr/preview/2023-10-01-preview/examples/StateStores_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "StateStores_Delete", 3 | "title": "Delete a StateStore resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "stateStoreName": "daprstatestore0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/MongoDatabases_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "MongoDatabases_Delete", 3 | "title": "Delete a MongoDatabase resource", 4 | "parameters": { 5 | "rootScope": "planes/radius/local/resourceGroups/testGroup", 6 | "mongoDatabaseName": "mongo0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/RedisCaches_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "RedisCaches_Delete", 3 | "title": "Delete a RedisCache resource", 4 | "parameters": { 5 | "rootScope": "planes/radius/local/resourceGroups/testGroup", 6 | "redisCacheName": "redis0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/Applications.Datastores/preview/2023-10-01-preview/examples/SQLDatabases_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "SqlDatabases_Delete", 3 | "title": "Delete a SqlDatabase resource", 4 | "parameters": { 5 | "rootScope": "planes/radius/local/resourceGroups/testGroup", 6 | "sqlDatabaseName": "sql0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "RabbitMqQueues_Delete", 3 | "title": "Delete a RabbitMQQueue resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "rabbitMQQueueName": "rabbitmq0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/Applications.Messaging/preview/2023-10-01-preview/examples/RabbitMQQueues_ListSecrets.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "RabbitMqQueues_ListSecrets", 3 | "title": "List the secrets of a RabbitMQQueue resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "resourceGroupName": "testGroup", 7 | "api-version": "2023-10-01-preview", 8 | "rabbitMQQueueName": "rabbitmq0" 9 | }, 10 | "responses": { 11 | "200": { 12 | "body": { 13 | "connectionString": "connection://string" 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/Test.Resource/preview/2022-08-19-preview/examples/TestAsyncResource_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "TestAsyncResources_Delete", 3 | "title": "Delete a TestAsyncResource resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "testAsyncResourceName": "resource0", 7 | "api-version": "2022-08-19-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/Test.Resource/stable/2023-08-19/examples/TestAsyncResource_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "TestAsyncResources_Delete", 3 | "title": "Delete a TestAsyncResource resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "testAsyncResourceName": "resource0", 7 | "api-version": "2023-08-19" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/applications/resource-manager/readme.cli.md: -------------------------------------------------------------------------------- 1 | ## CLI Common Settings for all the command line tools -------------------------------------------------------------------------------- /swagger/specification/common-types/resource-management/v2/README.md: -------------------------------------------------------------------------------- 1 | DO NOT modify swagger/specification/common-types/resource-management/v2/types.json. 2 | It should match https://github.com/Azure/azure-rest-api-specs/blob/main/specification/common-types/resource-management/v2/types.json -------------------------------------------------------------------------------- /swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_AccessKey_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "AwsCredentials_Delete", 3 | "title": "Delete an AWS AccessKey credential", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "planeType": "aws", 7 | "planeName": "awscloud", 8 | "credentialName": "default" 9 | }, 10 | "responses": { 11 | "200": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AWSCredential_IRSA_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "AwsCredentials_Delete", 3 | "title": "Delete an AWS IRSA credential", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "planeType": "aws", 7 | "planeName": "awscloud", 8 | "credentialName": "default" 9 | }, 10 | "responses": { 11 | "200": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "AwsPlanes_Delete", 3 | "title": "Delete an AWS plane", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "planeName": "aws" 7 | }, 8 | "responses": { 9 | "200": {}, 10 | "204": {} 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_Get.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "AwsPlanes_Get", 3 | "title": "Get an AWS plane", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "planeName": "aws" 7 | }, 8 | "responses": { 9 | "200": { 10 | "body": { 11 | "id": "/planes/aws/aws", 12 | "name": "aws", 13 | "type": "System.AWS/planes", 14 | "location": "global", 15 | "properties": { 16 | "kind": "AWS" 17 | } 18 | } 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AwsPlanes_List.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "AwsPlanes_List", 3 | "title": "List AWS planes", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview" 6 | }, 7 | "responses": { 8 | "200": { 9 | "body": { 10 | "value": [ 11 | { 12 | "id": "/planes/aws/aws", 13 | "name": "aws", 14 | "type": "System.AWS/planes", 15 | "location": "global", 16 | "properties": { 17 | "kind": "AWS" 18 | } 19 | } 20 | ] 21 | } 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "AzureCredentials_Delete", 3 | "title": "Delete an Azure credential", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "planeType": "azure", 7 | "planeName": "azurecloud", 8 | "credentialName": "default" 9 | }, 10 | "responses": { 11 | "200": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_ServicePrincipal_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "AzureCredentials_Delete", 3 | "title": "Delete an Azure Service Principal credential", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "planeType": "azure", 7 | "planeName": "azurecloud", 8 | "credentialName": "default" 9 | }, 10 | "responses": { 11 | "200": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredential_WorkloadIdentity_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "AzureCredentials_Delete", 3 | "title": "Delete an Azure Workload Identity credential", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "planeType": "azure", 7 | "planeName": "azurecloud", 8 | "credentialName": "default" 9 | }, 10 | "responses": { 11 | "200": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzureCredentials_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "AzureCredentials_Delete", 3 | "title": "Delete a Azure credential", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "planeType": "azure", 7 | "planeName": "azurecloud", 8 | "credentialName": "default" 9 | }, 10 | "responses": { 11 | "200": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "AzurePlanes_Delete", 3 | "title": "Delete an Azure plane", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "planeName": "azurecloud" 7 | }, 8 | "responses": { 9 | "200": {}, 10 | "204": {} 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/AzurePlanes_Get.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "AzurePlanes_Get", 3 | "title": "Get an Azure plane", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "planeName": "azurecloud" 7 | }, 8 | "responses": { 9 | "200": { 10 | "body": { 11 | "id": "/planes/azure/azurecloud", 12 | "name": "azurecloud", 13 | "type": "System.Azure/planes", 14 | "location": "global", 15 | "properties": { 16 | "url": "https://management.azure.com", 17 | "kind": "Azure" 18 | } 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/RadiusPlanes_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "RadiusPlanes_Delete", 3 | "title": "Delete a Radius plane", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "planeName": "local" 7 | }, 8 | "responses": { 9 | "200": {}, 10 | "204": {} 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "ResourceGroups_Delete", 3 | "title": "Delete a resource group", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "resourceGroupName": "rg1", 7 | "planeType": "radius", 8 | "planeName": "local" 9 | }, 10 | "responses": { 11 | "200": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /swagger/specification/ucp/resource-manager/UCP/preview/2023-10-01-preview/examples/ResourceGroups_Get.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "ResourceGroups_Get", 3 | "title": "Get a resource group", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "planeName": "local", 7 | "planeType": "radius", 8 | "resourceGroupName": "rg1" 9 | }, 10 | "responses": { 11 | "200": { 12 | "body": { 13 | "id": "/planes/radius/local/resourcegroups/rg1", 14 | "name": "rg1", 15 | "location": "global" 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-app-empty-resources.bicep: -------------------------------------------------------------------------------- 1 | extension radius 2 | 3 | @description('Specifies the location for resources.') 4 | param location string = 'global' 5 | 6 | @description('Specifies the environment for resources.') 7 | param environment string = 'test' 8 | 9 | resource app 'Applications.Core/applications@2023-10-01-preview' = { 10 | name: 'kubernetes-cli-empty-resources' 11 | location: location 12 | properties: { 13 | environment: environment 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-run-portforward.bicep: -------------------------------------------------------------------------------- 1 | extension radius 2 | 3 | param application string 4 | 5 | @description('Specifies the image to be deployed.') 6 | param magpieimage string 7 | 8 | resource container 'Applications.Core/containers@2023-10-01-preview' = { 9 | name: 'k8s-cli-run-portforward' 10 | location: 'global' 11 | properties: { 12 | application: application 13 | container: { 14 | image: magpieimage 15 | ports: { 16 | web: { 17 | containerPort: 3000 18 | } 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /test/functional-portable/corerp/cloud/mechanics/testdata/aws-mechanics-redeploy-withupdatedresource.step1.bicep: -------------------------------------------------------------------------------- 1 | extension aws 2 | 3 | param creationTimestamp string 4 | param bucketName string 5 | 6 | resource bucket 'AWS.S3/Bucket@default' = { 7 | alias: bucketName 8 | properties: { 9 | BucketName: bucketName 10 | Tags: [ 11 | { 12 | Key: 'testKey' 13 | Value: 'testValue' 14 | } 15 | { 16 | Key: 'RadiusCreationTimestamp' 17 | Value: creationTimestamp 18 | } 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /test/functional-portable/corerp/cloud/mechanics/testdata/aws-mechanics-redeploy-withupdatedresource.step2.bicep: -------------------------------------------------------------------------------- 1 | extension aws 2 | 3 | param creationTimestamp string 4 | param bucketName string 5 | 6 | resource bucket 'AWS.S3/Bucket@default' = { 7 | alias: bucketName 8 | properties: { 9 | BucketName: bucketName 10 | Tags: [ 11 | { 12 | Key: 'testKey' 13 | Value: 'testValue2' 14 | } 15 | { 16 | Key: 'RadiusCreationTimestamp' 17 | Value: creationTimestamp 18 | } 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /test/functional-portable/corerp/cloud/resources/testdata/aws-s3-bucket-existing.bicep: -------------------------------------------------------------------------------- 1 | extension aws 2 | 3 | param bucketName string 4 | 5 | resource bucket 'AWS.S3/Bucket@default' existing = { 6 | alias: bucketName 7 | properties: { 8 | BucketName: bucketName 9 | } 10 | } 11 | 12 | output var string = bucket.properties.BucketName 13 | -------------------------------------------------------------------------------- /test/functional-portable/corerp/cloud/resources/testdata/aws-s3-bucket.bicep: -------------------------------------------------------------------------------- 1 | extension aws 2 | 3 | param creationTimestamp string 4 | param bucketName string 5 | 6 | resource bucket 'AWS.S3/Bucket@default' = { 7 | alias: bucketName 8 | properties: { 9 | BucketName: bucketName 10 | Tags: [ 11 | { 12 | Key: 'testKey' 13 | Value: 'testValue' 14 | } 15 | { 16 | Key: 'RadiusCreationTimestamp' 17 | Value: creationTimestamp 18 | } 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-nestedmodules.bicep: -------------------------------------------------------------------------------- 1 | extension radius 2 | 3 | @description('Specifies the location for resources.') 4 | param location string = 'global' 5 | 6 | @description('Specifies the environment for the resource.') 7 | param environment string = 'test' 8 | 9 | module outerApp 'modules/corerp-mechanics-nestedmodules-outerapp.bicep' = { 10 | name: 'corerp-mechanics-nestedmodules-outerapp' 11 | params: { 12 | location: location 13 | environment: environment 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/functional-portable/corerp/noncloud/mechanics/testdata/k8s-extensibility/secret.input.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: redis 5 | namespace: corerp-mechanics-k8s-extensibility 6 | type: Opaque 7 | data: 8 | 'redisPassword': YXdlc29tZQ== 9 | -------------------------------------------------------------------------------- /test/functional-portable/corerp/noncloud/mechanics/testdata/k8s-extensibility/secret.output.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: redis-conn 5 | namespace: corerp-mechanics-k8s-extensibility 6 | labels: 7 | format: custom 8 | data: 9 | connectionString: cmVkaXMtbWFzdGVyLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwscGFzc3dvcmQ9YXdlc29tZQ== 10 | type: Opaque 11 | -------------------------------------------------------------------------------- /test/functional-portable/corerp/noncloud/mechanics/testdata/k8s-extensibility/service.input.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: redis-master 5 | namespace: corerp-mechanics-k8s-extensibility 6 | spec: 7 | type: ExternalName 8 | externalName: redis.radapp.io 9 | -------------------------------------------------------------------------------- /test/functional-portable/corerp/noncloud/mechanics/testdata/modules/corerp-mechanics-nestedmodules-innerapp.bicep: -------------------------------------------------------------------------------- 1 | extension radius 2 | 3 | param location string 4 | param environment string 5 | 6 | resource innerApp 'Applications.Core/applications@2023-10-01-preview' = { 7 | name: 'corerp-mechanics-nestedmodules-innerapp-app' 8 | location: location 9 | properties: { 10 | environment: environment 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/functional-portable/corerp/noncloud/mechanics/testdata/modules/corerp-mechanics-nestedmodules-outerapp.bicep: -------------------------------------------------------------------------------- 1 | extension radius 2 | 3 | param location string 4 | param environment string 5 | 6 | resource outerApp 'Applications.Core/applications@2023-10-01-preview' = { 7 | name: 'corerp-mechanics-nestedmodules-outerapp-app' 8 | location: location 9 | properties: { 10 | environment: environment 11 | } 12 | } 13 | 14 | module innerApp 'corerp-mechanics-nestedmodules-innerapp.bicep' = { 15 | name: 'corerp-mechanics-nestedmodules-innerapp' 16 | params: { 17 | location: location 18 | environment: environment 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-environment.bicep: -------------------------------------------------------------------------------- 1 | extension radius 2 | 3 | @description('Specifies the location for resources.') 4 | param location string = 'global' 5 | 6 | resource env 'Applications.Core/environments@2023-10-01-preview' = { 7 | name: 'corerp-resources-environment-env' 8 | location: location 9 | properties: { 10 | compute: { 11 | kind: 'kubernetes' 12 | resourceId: 'self' 13 | namespace: 'corerp-resources-environment-env' 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/functional-portable/corerp/noncloud/resources/testdata/manifest/sidecar.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: ctnr-sidecar 5 | labels: 6 | app: ctnr-sidecar 7 | annotations: 8 | source: base-manifest-test 9 | spec: 10 | replicas: 1 11 | selector: 12 | matchLabels: 13 | app: ctnr-sidecar 14 | template: 15 | metadata: 16 | labels: 17 | app: ctnr-sidecar 18 | spec: 19 | containers: 20 | - name: log-collector 21 | image: ghcr.io/radius-project/fluent-bit:2.1.8 22 | -------------------------------------------------------------------------------- /test/functional-portable/dynamicrp/noncloud/resources/bicepconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "experimentalFeaturesEnabled": { 3 | "extensibility": true 4 | }, 5 | "extensions": { 6 | "radius": "br:biceptypes.azurecr.io/radius:latest", 7 | "aws": "br:biceptypes.azurecr.io/aws:latest", 8 | "testresources": "br:testuserdefinedbiceptypes.azurecr.io/testresources:latest" 9 | } 10 | } -------------------------------------------------------------------------------- /test/functional-portable/kubernetes/noncloud/testdata/env/env.bicep: -------------------------------------------------------------------------------- 1 | extension radius 2 | 3 | param name string 4 | param namespace string 5 | 6 | resource env 'Applications.Core/environments@2023-10-01-preview' = { 7 | name: '${name}-env' 8 | properties: { 9 | compute: { 10 | kind: 'kubernetes' 11 | resourceId: 'self' 12 | namespace: namespace 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/functional-portable/kubernetes/noncloud/testdata/gitops/basic/step1/flux-basic.bicep: -------------------------------------------------------------------------------- 1 | extension radius 2 | 3 | resource fluxBasicEnv 'Applications.Core/environments@2023-10-01-preview' = { 4 | name: 'flux-basic-env' 5 | properties: { 6 | compute: { 7 | kind: 'kubernetes' 8 | resourceId: 'self' 9 | namespace: 'flux-basic' 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/functional-portable/kubernetes/noncloud/testdata/gitops/basic/step1/radius-gitops-config.yaml: -------------------------------------------------------------------------------- 1 | config: 2 | - name: flux-basic.bicep 3 | -------------------------------------------------------------------------------- /test/functional-portable/kubernetes/noncloud/testdata/gitops/basic/step2/radius-gitops-config.yaml: -------------------------------------------------------------------------------- 1 | config: 2 | -------------------------------------------------------------------------------- /test/functional-portable/kubernetes/noncloud/testdata/gitops/complex/step1/flux-complex-dependency.bicep: -------------------------------------------------------------------------------- 1 | extension radius 2 | 3 | param appId string 4 | param containerImage string 5 | param replicas string 6 | 7 | resource fluxComplexCtnr 'Applications.Core/containers@2023-10-01-preview' = { 8 | name: 'flux-complex-container' 9 | properties: { 10 | application: appId 11 | container: { 12 | image: containerImage 13 | } 14 | extensions: [ 15 | { 16 | kind: 'manualScaling' 17 | replicas: int(replicas) 18 | } 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /test/functional-portable/kubernetes/noncloud/testdata/gitops/complex/step1/flux-complex.bicepparam: -------------------------------------------------------------------------------- 1 | using 'flux-complex.bicep' 2 | 3 | param replicas = '1' 4 | param containerImage = 'nginx' 5 | -------------------------------------------------------------------------------- /test/functional-portable/kubernetes/noncloud/testdata/gitops/complex/step1/radius-gitops-config.yaml: -------------------------------------------------------------------------------- 1 | config: 2 | - name: flux-complex.bicep 3 | params: flux-complex.bicepparam 4 | namespace: flux-complex 5 | -------------------------------------------------------------------------------- /test/functional-portable/kubernetes/noncloud/testdata/gitops/complex/step2/flux-complex-dependency.bicep: -------------------------------------------------------------------------------- 1 | extension radius 2 | 3 | param appId string 4 | param containerImage string 5 | param replicas string 6 | 7 | resource fluxComplexCtnr 'Applications.Core/containers@2023-10-01-preview' = { 8 | name: 'flux-complex-container-2' 9 | properties: { 10 | application: appId 11 | container: { 12 | image: containerImage 13 | } 14 | extensions: [ 15 | { 16 | kind: 'manualScaling' 17 | replicas: int(replicas) 18 | } 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /test/functional-portable/kubernetes/noncloud/testdata/gitops/complex/step2/flux-complex.bicepparam: -------------------------------------------------------------------------------- 1 | using 'flux-complex.bicep' 2 | 3 | param replicas = '2' 4 | param containerImage = 'nginx' 5 | -------------------------------------------------------------------------------- /test/functional-portable/kubernetes/noncloud/testdata/gitops/complex/step2/radius-gitops-config.yaml: -------------------------------------------------------------------------------- 1 | config: 2 | - name: flux-complex.bicep 3 | params: flux-complex.bicepparam 4 | namespace: flux-complex 5 | -------------------------------------------------------------------------------- /test/functional-portable/kubernetes/noncloud/testdata/gitops/complex/step3/radius-gitops-config.yaml: -------------------------------------------------------------------------------- 1 | config: 2 | -------------------------------------------------------------------------------- /test/functional-portable/kubernetes/noncloud/testdata/module/module-dependency.bicep: -------------------------------------------------------------------------------- 1 | extension radius 2 | 3 | param name string 4 | param envId string 5 | param namespace string 6 | 7 | resource app 'Applications.Core/applications@2023-10-01-preview' = { 8 | name: '${name}-app' 9 | properties: { 10 | environment: envId 11 | extensions: [ 12 | { 13 | kind: 'kubernetesNamespace' 14 | namespace: namespace 15 | } 16 | ] 17 | } 18 | } 19 | 20 | output appId string = app.id 21 | -------------------------------------------------------------------------------- /test/functional-portable/kubernetes/noncloud/testdata/module/module.bicep: -------------------------------------------------------------------------------- 1 | extension radius 2 | 3 | param name string 4 | param namespace string 5 | 6 | resource env 'Applications.Core/environments@2023-10-01-preview' = { 7 | name: '${name}-env' 8 | properties: { 9 | compute: { 10 | kind: 'kubernetes' 11 | resourceId: 'self' 12 | namespace: '${name}-env' 13 | } 14 | } 15 | } 16 | 17 | module module 'module-dependency.bicep' = { 18 | name: 'module' 19 | params: { 20 | name: name 21 | envId: env.id 22 | namespace: namespace 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /test/functional-portable/samples/noncloud/README.md: -------------------------------------------------------------------------------- 1 | # Sample validation 2 | 3 | This directory contains validation for samples in https://github.com/radius-project/samples. 4 | 5 | These validate that the sample is deployable and can be accessed accordingly via APIs. These flows will include common user actions, like adding items to a Todo list, validating gateway availability, etc. -------------------------------------------------------------------------------- /test/functional-portable/ucp/noncloud/testdata/resourceprovider.yaml: -------------------------------------------------------------------------------- 1 | namespace: MyCompany.Resources 2 | types: 3 | testResources: 4 | apiVersions: 5 | "2023-10-01-preview": 6 | schema: {} 7 | capabilities: ["SupportsRecipes"] 8 | -------------------------------------------------------------------------------- /test/infra/README.md: -------------------------------------------------------------------------------- 1 | # Infrastructure for Radius tests 2 | 3 | This directory includes the infrastructure templates to deploy test environments for Radius. 4 | 5 | - [azure](./azure/): includes the bicep template for Radius test infrastructure on Azure. 6 | -------------------------------------------------------------------------------- /test/infra/azure/bicepconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "experimentalFeaturesEnabled": { 3 | "extensibility": true 4 | } 5 | } -------------------------------------------------------------------------------- /test/magpiego/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang:1.22-alpine 2 | 3 | # Argument for target architecture 4 | ARG TARGETARCH 5 | 6 | # Set the working directory 7 | WORKDIR / 8 | 9 | # Copy the application binary for the specified architecture 10 | COPY ./linux_${TARGETARCH:-amd64}/release/magpiego / 11 | 12 | # Set the entrypoint to the application binary 13 | ENTRYPOINT ["/magpiego"] 14 | -------------------------------------------------------------------------------- /test/testrecipes/test-bicep-recipes/README.md: -------------------------------------------------------------------------------- 1 | # Test Recipes 2 | 3 | The recipes in this folder are published as part of the PR process to: 4 | 5 | > `ghcr.io/radius-project/dev/test/testrecipes/test-bicep-recipes/:pr-` 6 | 7 | This is important because it allows us to make changes to the recipes, and test them in the same PR that contains the change. 8 | 9 | ## Non-recipes bicep files 10 | 11 | Any Bicep file starting with `_` will be skipped during publishing. Use this as a convention to create shared modules that are not published as recipes. For example `_redis_kubernetes.bicep` would not be published. 12 | -------------------------------------------------------------------------------- /test/testrecipes/test-bicep-recipes/_resource-creation.bicep: -------------------------------------------------------------------------------- 1 | extension radius 2 | 3 | param context object 4 | 5 | var basename = context.resource.name 6 | 7 | // This is not a realistic user scenario (creating a Radius resource in a recipe). We're 8 | // doing things this way to test the UCP functionality without using cloud resources. 9 | resource extender 'Applications.Core/extenders@2023-10-01-preview' = { 10 | name: '${basename}-module' 11 | properties: { 12 | application: context.application.id 13 | environment: context.environment.id 14 | resourceProvisioning: 'manual' 15 | message: 'hello from module resource' 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /test/testrecipes/test-bicep-recipes/context-parameter.bicep: -------------------------------------------------------------------------------- 1 | // A simple Bicep recipe that tests context parameter is applied. It doesn't provision any resources. 2 | param context object 3 | 4 | output result object = { 5 | values: { 6 | environment: context.environment.Name 7 | application: context.application.Name 8 | resource: context.resource.Name 9 | namespace: context.runtime.kubernetes.namespace 10 | envNamespace: context.runtime.kubernetes.environmentNamespace 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/testrecipes/test-bicep-recipes/dapr-secret-store.bicep: -------------------------------------------------------------------------------- 1 | extension kubernetes with { 2 | namespace: context.runtime.kubernetes.namespace 3 | kubeConfig: '' 4 | } as kubernetes 5 | 6 | param context object 7 | 8 | #disable-next-line BCP081 9 | resource dapr 'dapr.io/Component@v1alpha1' = { 10 | metadata: { 11 | name: context.resource.name 12 | namespace: context.runtime.kubernetes.namespace 13 | } 14 | spec: { 15 | type: 'secretstores.kubernetes' 16 | version: 'v1' 17 | metadata: [] 18 | } 19 | } 20 | 21 | output result object = { 22 | values: { 23 | componentName: dapr.metadata.name 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /test/testrecipes/test-bicep-recipes/empty-recipe.bicep: -------------------------------------------------------------------------------- 1 | // This is the simplest possible Bicep recipe. It doesn't do anything useful or return anything. 2 | -------------------------------------------------------------------------------- /test/testrecipes/test-bicep-recipes/extenders-aws-s3-recipe.bicep: -------------------------------------------------------------------------------- 1 | extension aws 2 | 3 | param creationTimestamp string 4 | param bucketName string 5 | 6 | resource s3Bucket 'AWS.S3/Bucket@default' = { 7 | alias: bucketName 8 | properties: { 9 | BucketName: bucketName 10 | Tags: [ 11 | { 12 | Key: 'RadiusCreationTimestamp' 13 | Value: creationTimestamp 14 | } 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /test/testrecipes/test-bicep-recipes/parameters-outputs.bicep: -------------------------------------------------------------------------------- 1 | // This is the simplest possible Bicep recipe. It doesn't do anything useful. 2 | 3 | #disable-next-line no-unused-params 4 | param context object 5 | 6 | param a string 7 | param b string = 'default value' 8 | param c int 9 | param d string = 'default value' 10 | 11 | output result object = { 12 | values: { 13 | a: a 14 | b: b 15 | c: c 16 | d: d 17 | } 18 | secrets: { 19 | e: 'so secret' 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /test/testrecipes/test-bicep-recipes/wrong-output.bicep: -------------------------------------------------------------------------------- 1 | output result object = { 2 | error: { 3 | message: 'not allowed!' 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /test/testrecipes/test-terraform-recipes/azure-rg/main.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | required_providers { 3 | azurerm = { 4 | source = "hashicorp/azurerm" 5 | version = "~> 3.114.0" 6 | } 7 | } 8 | } 9 | 10 | resource "azurerm_resource_group" "test_rg" { 11 | name = var.name 12 | location = var.location 13 | } -------------------------------------------------------------------------------- /test/testrecipes/test-terraform-recipes/azure-rg/variables.tf: -------------------------------------------------------------------------------- 1 | variable "name" { 2 | type = string 3 | } 4 | 5 | variable "location" { 6 | type = string 7 | } -------------------------------------------------------------------------------- /test/testrecipes/test-terraform-recipes/kubernetes-redis/modules/variables.tf: -------------------------------------------------------------------------------- 1 | variable "redis_cache_name" { 2 | type = string 3 | } 4 | 5 | variable "context" { 6 | description = "This variable contains Radius recipe context." 7 | 8 | type = any 9 | } 10 | -------------------------------------------------------------------------------- /test/testrecipes/test-terraform-recipes/parameter-outputs/output.tf: -------------------------------------------------------------------------------- 1 | output "result" { 2 | value = { 3 | values = { 4 | a = var.a 5 | b = var.b 6 | c = var.c 7 | d = var.d 8 | } 9 | secrets = { 10 | e = "secret value" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /test/testrecipes/test-terraform-recipes/parameter-outputs/variables.tf: -------------------------------------------------------------------------------- 1 | variable "a" { 2 | type = string 3 | } 4 | 5 | variable "b" { 6 | type = string 7 | default = "default value" 8 | } 9 | 10 | variable "c" { 11 | type = number 12 | } 13 | 14 | variable "d" { 15 | type = string 16 | default = "default value" 17 | } 18 | -------------------------------------------------------------------------------- /test/testrecipes/test-terraform-recipes/postgres/variables.tf: -------------------------------------------------------------------------------- 1 | 2 | variable "context" { 3 | description = "This variable contains Radius recipe context." 4 | type = any 5 | } 6 | 7 | variable "password" { 8 | description = "The password for the PostgreSQL database" 9 | type = string 10 | } 11 | -------------------------------------------------------------------------------- /test/testrecipes/test-terraform-recipes/wrong-output/output.tf: -------------------------------------------------------------------------------- 1 | output "result" { 2 | value = { 3 | error = { 4 | message = "error is not a valid recipe output" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /test/testrp/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM gcr.io/distroless/static:nonroot 2 | 3 | # Argument for target architecture 4 | ARG TARGETARCH 5 | 6 | # Set the working directory 7 | WORKDIR / 8 | 9 | # Copy the application binary for the specified architecture 10 | COPY ./linux_${TARGETARCH:-amd64}/release/testrp / 11 | 12 | # Set the user to non-root (65532:65532 is the default non-root user in distroless) 13 | USER 65532:65532 14 | 15 | # Set the entrypoint to the application binary 16 | ENTRYPOINT ["/testrp"] 17 | -------------------------------------------------------------------------------- /test/testrp/go.mod: -------------------------------------------------------------------------------- 1 | module testrp 2 | 3 | go 1.24.1 4 | -------------------------------------------------------------------------------- /typespec/Applications.Core/examples/2023-10-01-preview/Applications_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "Applications_Delete", 3 | "title": "Delete an application resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "applicationName": "app0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/Applications.Core/examples/2023-10-01-preview/Containers_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "Containers_Delete", 3 | "title": "Delete an container resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "containerName": "app0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/Applications.Core/examples/2023-10-01-preview/Environments_DeleteEnv0.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "Environments_Delete", 3 | "title": "Delete an environment resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "environmentName": "env0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/Applications.Core/examples/2023-10-01-preview/Extenders_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "Extenders_Delete", 3 | "title": "Delete an extender resource", 4 | "parameters": { 5 | "rootScope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup", 6 | "extenderName": "extender0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/Applications.Core/examples/2023-10-01-preview/Extenders_ListSecrets.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "Extenders_ListSecrets", 3 | "title": "List the secrets from extender resources", 4 | "parameters": { 5 | "rootScope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup", 6 | "subscriptionId": "00000000-0000-0000-0000-000000000000", 7 | "resourceGroupName": "testGroup", 8 | "api-version": "2023-10-01-preview", 9 | "extenderName": "extender0" 10 | }, 11 | "responses": { 12 | "200": { 13 | "body": { 14 | "accountSid": "sid", 15 | "authToken:": "token" 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /typespec/Applications.Core/examples/2023-10-01-preview/Gateways_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "Gateways_Delete", 3 | "title": "Delete an gateway resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "gatewayName": "gateway0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/Applications.Core/examples/2023-10-01-preview/SecretStores_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "SecretStores_Update", 3 | "title": "Update a secret store resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "volumeName": "keyvault0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/Applications.Core/examples/2023-10-01-preview/SecretStores_ListSecrets.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "SecretStores_ListSecrets", 3 | "title": "List secret stores", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "api-version": "2023-10-01-preview", 7 | "secretStoreName": "secret0" 8 | }, 9 | "responses": { 10 | "200": { 11 | "type": "certificate", 12 | "data": { 13 | "tls.crt": { 14 | "value": "secrets ..." 15 | }, 16 | "tls.key": { 17 | "value": "secrets ..." 18 | } 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /typespec/Applications.Core/examples/2023-10-01-preview/Volumes_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "Volumes_Delete", 3 | "title": "Delete a volume", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "volumeName": "keyvault0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/Applications.Core/tspconfig.yaml: -------------------------------------------------------------------------------- 1 | emit: 2 | - "@azure-tools/typespec-autorest" 3 | options: 4 | "@azure-tools/typespec-autorest": 5 | use-read-only-status-schema: true 6 | azure-resource-provider-folder: "resource-manager" 7 | examples-dir: "{project-root}/examples" 8 | emitter-output-dir: "{project-root}/../../swagger/specification/applications" 9 | arm-types-dir: "{project-root}/../../swagger/specification/common-types/resource-management" 10 | output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json" 11 | -------------------------------------------------------------------------------- /typespec/Applications.Dapr/examples/2023-10-01-preview/ConfigurationStores_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "ConfigurationStores_Delete", 3 | "title": "Delete a ConfigurationStore resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup/resourceGroups/testGroup", 6 | "pubSubBrokerName": "configstore0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/Applications.Dapr/examples/2023-10-01-preview/PubSubBrokers_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "PubSubBrokers_Delete", 3 | "title": "Delete a PubSubBroker resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup/resourceGroups/testGroup", 6 | "pubSubBrokerName": "daprpubsub0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/Applications.Dapr/examples/2023-10-01-preview/SecretStores_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "SecretStores_Delete", 3 | "title": "Delete a SecretStore resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "secretStoreName": "daprsecretstore0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/Applications.Dapr/examples/2023-10-01-preview/StateStores_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "StateStores_Delete", 3 | "title": "Delete a StateStore resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "stateStoreName": "daprstatestore0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/Applications.Dapr/tspconfig.yaml: -------------------------------------------------------------------------------- 1 | emit: 2 | - "@azure-tools/typespec-autorest" 3 | options: 4 | "@azure-tools/typespec-autorest": 5 | use-read-only-status-schema: true 6 | azure-resource-provider-folder: "resource-manager" 7 | examples-dir: "{project-root}/examples" 8 | emitter-output-dir: "{project-root}/../../swagger/specification/applications" 9 | arm-types-dir: "{project-root}/../../swagger/specification/common-types/resource-management" 10 | output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json" 11 | -------------------------------------------------------------------------------- /typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "MongoDatabases_Delete", 3 | "title": "Delete a MongoDatabase resource", 4 | "parameters": { 5 | "rootScope": "planes/radius/local/resourceGroups/testGroup", 6 | "mongoDatabaseName": "mongo0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/Applications.Datastores/examples/2023-10-01-preview/MongoDatabases_ListSecrets.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "MongoDatabases_ListSecrets", 3 | "title": "List the secrets of a MongoDatabase resource", 4 | "parameters": { 5 | "rootScope": "planes/radius/local/resourceGroups/testGroup", 6 | "api-version": "2023-10-01-preview", 7 | "mongoDatabaseName": "mongo0" 8 | }, 9 | "responses": { 10 | "200": { 11 | "body": { 12 | "username": "testUser", 13 | "password": "testPassword", 14 | "connectionString": "mongodb://testUser:testPassword@testAccount1.mongo.cosmos.azure.com:10255" 15 | } 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /typespec/Applications.Datastores/examples/2023-10-01-preview/RedisCaches_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "RedisCaches_Delete", 3 | "title": "Delete a RedisCache resource", 4 | "parameters": { 5 | "rootScope": "planes/radius/local/resourceGroups/testGroup", 6 | "redisCacheName": "redis0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/Applications.Datastores/examples/2023-10-01-preview/SQLDatabases_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "SqlDatabases_Delete", 3 | "title": "Delete a SqlDatabase resource", 4 | "parameters": { 5 | "rootScope": "planes/radius/local/resourceGroups/testGroup", 6 | "sqlDatabaseName": "sql0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/Applications.Datastores/tspconfig.yaml: -------------------------------------------------------------------------------- 1 | emit: 2 | - "@azure-tools/typespec-autorest" 3 | options: 4 | "@azure-tools/typespec-autorest": 5 | use-read-only-status-schema: true 6 | azure-resource-provider-folder: "resource-manager" 7 | examples-dir: "{project-root}/examples" 8 | emitter-output-dir: "{project-root}/../../swagger/specification/applications" 9 | arm-types-dir: "{project-root}/../../swagger/specification/common-types/resource-management" 10 | output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json" 11 | -------------------------------------------------------------------------------- /typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "RabbitMqQueues_Delete", 3 | "title": "Delete a RabbitMQQueue resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "rabbitMQQueueName": "rabbitmq0", 7 | "api-version": "2023-10-01-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/Applications.Messaging/examples/2023-10-01-preview/RabbitMQQueues_ListSecrets.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "RabbitMqQueues_ListSecrets", 3 | "title": "List the secrets of a RabbitMQQueue resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "resourceGroupName": "testGroup", 7 | "api-version": "2023-10-01-preview", 8 | "rabbitMQQueueName": "rabbitmq0" 9 | }, 10 | "responses": { 11 | "200": { 12 | "body": { 13 | "connectionString": "connection://string" 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /typespec/Applications.Messaging/tspconfig.yaml: -------------------------------------------------------------------------------- 1 | emit: 2 | - "@azure-tools/typespec-autorest" 3 | options: 4 | "@azure-tools/typespec-autorest": 5 | use-read-only-status-schema: true 6 | azure-resource-provider-folder: "resource-manager" 7 | examples-dir: "{project-root}/examples" 8 | emitter-output-dir: "{project-root}/../../swagger/specification/applications" 9 | arm-types-dir: "{project-root}/../../swagger/specification/common-types/resource-management" 10 | output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json" 11 | -------------------------------------------------------------------------------- /typespec/Test.Resource/examples/2022-08-19-preview/TestAsyncResource_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "TestAsyncResources_Delete", 3 | "title": "Delete a TestAsyncResource resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "testAsyncResourceName": "resource0", 7 | "api-version": "2022-08-19-preview" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/Test.Resource/examples/2023-08-19/TestAsyncResource_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "TestAsyncResources_Delete", 3 | "title": "Delete a TestAsyncResource resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "testAsyncResourceName": "resource0", 7 | "api-version": "2023-08-19" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/Test.Resource/examples/2023-08-19/TestSyncResource_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "TestSyncResource_Delete", 3 | "title": "Delete a TestSyncResource resource", 4 | "parameters": { 5 | "rootScope": "/planes/radius/local/resourceGroups/testGroup", 6 | "testSyncResourceName": "resource0", 7 | "api-version": "2023-08-19" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "202": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/Test.Resource/tspconfig.yaml: -------------------------------------------------------------------------------- 1 | emit: 2 | - "@azure-tools/typespec-autorest" 3 | options: 4 | "@azure-tools/typespec-autorest": 5 | use-read-only-status-schema: true 6 | azure-resource-provider-folder: "resource-manager" 7 | examples-dir: "{project-root}/examples" 8 | emitter-output-dir: "{project-root}/../../swagger/specification/applications" 9 | arm-types-dir: "{project-root}/../../swagger/specification/common-types/resource-management" 10 | output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json" 11 | -------------------------------------------------------------------------------- /typespec/UCP/examples/2023-10-01-preview/AWSCredential_AccessKey_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "AwsCredentials_Delete", 3 | "title": "Delete an AWS AccessKey credential", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "planeType": "aws", 7 | "planeName": "awscloud", 8 | "credentialName": "default" 9 | }, 10 | "responses": { 11 | "200": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/UCP/examples/2023-10-01-preview/AWSCredential_IRSA_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "AwsCredentials_Delete", 3 | "title": "Delete an AWS IRSA credential", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "planeType": "aws", 7 | "planeName": "awscloud", 8 | "credentialName": "default" 9 | }, 10 | "responses": { 11 | "200": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/UCP/examples/2023-10-01-preview/AzureCredential_ServicePrincipal_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "AzureCredentials_Delete", 3 | "title": "Delete an Azure Service Principal credential", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "planeType": "azure", 7 | "planeName": "azurecloud", 8 | "credentialName": "default" 9 | }, 10 | "responses": { 11 | "200": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/UCP/examples/2023-10-01-preview/AzureCredential_WorkloadIdentity_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "AzureCredentials_Delete", 3 | "title": "Delete an Azure Workload Identity credential", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "planeType": "azure", 7 | "planeName": "azurecloud", 8 | "credentialName": "default" 9 | }, 10 | "responses": { 11 | "200": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/UCP/examples/2023-10-01-preview/Planes_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "Planes_Delete", 3 | "title": "Delete a plane", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "planeType": "radius", 7 | "planeName": "local" 8 | }, 9 | "responses": { 10 | "200": {}, 11 | "204": {} 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /typespec/UCP/examples/2023-10-01-preview/ResourceGroups_Delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "ResourceGroups_Delete", 3 | "title": "Delete a resource group", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "resourceGroupName": "rg1", 7 | "planeType": "radius", 8 | "planeName": "local" 9 | }, 10 | "responses": { 11 | "200": {}, 12 | "204": {} 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /typespec/UCP/examples/2023-10-01-preview/ResourceGroups_Get.json: -------------------------------------------------------------------------------- 1 | { 2 | "operationId": "ResourceGroups_Get", 3 | "title": "Get a resource group", 4 | "parameters": { 5 | "api-version": "2023-10-01-preview", 6 | "planeName": "local", 7 | "planeType": "radius", 8 | "resourceGroupName": "rg1" 9 | }, 10 | "responses": { 11 | "200": { 12 | "body": { 13 | "id": "/planes/radius/local/resourcegroups/rg1", 14 | "name": "rg1", 15 | "location": "global" 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /typespec/UCP/tspconfig.yaml: -------------------------------------------------------------------------------- 1 | emit: 2 | - "@azure-tools/typespec-autorest" 3 | options: 4 | "@azure-tools/typespec-autorest": 5 | use-read-only-status-schema: true 6 | azure-resource-provider-folder: "resource-manager" 7 | examples-dir: "{project-root}/examples" 8 | emitter-output-dir: "{project-root}/../../swagger/specification/ucp" 9 | arm-types-dir: "{project-root}/../../swagger/specification/common-types/resource-management" 10 | output-file: "{azure-resource-provider-folder}/UCP/{version-status}/{version}/openapi.json" 11 | -------------------------------------------------------------------------------- /typespec/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "radius", 3 | "version": "0.1.0", 4 | "type": "module", 5 | "dependencies": { 6 | "@typespec/compiler": "~0.66.0", 7 | "@azure-tools/typespec-autorest": "~0.52.0", 8 | "@azure-tools/typespec-azure-core": "~0.52.0", 9 | "@azure-tools/typespec-azure-resource-manager": "~0.52.0", 10 | "@typespec/http": "~0.66.0", 11 | "@typespec/openapi": "~0.66.0", 12 | "@typespec/rest": "~0.66.0", 13 | "@typespec/versioning": "~0.66.0" 14 | }, 15 | "private": true, 16 | "author": "Radius Authors", 17 | "license": "Apache-2.0" 18 | } 19 | --------------------------------------------------------------------------------