├── .config ├── CredScanSuppressions.json └── dotnet-tools.json ├── .editorconfig ├── .gitattributes ├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug.md │ ├── discussion.md │ ├── feedback.md │ └── idea.md ├── fabricbot.json └── workflows │ └── format.yml ├── .gitignore ├── .sscignore ├── .vscode ├── launch.json └── tasks.json ├── CODE-OF-CONDUCT.md ├── CONTRIBUTING.md ├── Directory.Build.props ├── Directory.Build.targets ├── LICENSE.txt ├── NOTICE.txt ├── NuGet.config ├── README.md ├── activate.ps1 ├── activate.sh ├── azure-pipelines.yml ├── build.cmd ├── build.sh ├── build ├── dotnet-format-problem-matcher.json └── key.snk ├── clean.cmd ├── clean.ps1 ├── clean.sh ├── docs ├── FAQ.md ├── README.md ├── developer_guide.md ├── getting_started.md ├── recipes │ ├── azure_functions.md │ ├── dapr.md │ ├── distributed_tracing.md │ ├── githubactions_aks.md │ ├── images │ │ ├── actions_recipe_dash.png │ │ └── nginx_ingress_action.png │ ├── ingress.md │ ├── logging_elastic.md │ ├── logging_seq.md │ ├── probes.md │ └── zipkin.yaml ├── reference │ ├── commandline │ │ ├── README.md │ │ ├── tye-build.md │ │ ├── tye-deploy.md │ │ ├── tye-init.md │ │ ├── tye-push.md │ │ ├── tye-run.md │ │ ├── tye-undeploy.md │ │ └── tye.md │ ├── deployment.md │ ├── local_development.md │ ├── multirepo.md │ ├── schema.md │ └── service_discovery.md └── tutorials │ └── hello-tye │ ├── 00_run_locally.md │ ├── 01_deploy.md │ ├── 02_add_redis.md │ ├── postgres.yaml │ └── redis.yaml ├── eng ├── Generate-StatusReport.ps1 ├── PoliCheckExclusions.xml ├── Publishing.props ├── Signing.props ├── StagingRelease.md ├── Version.Details.xml ├── Versions.props └── common │ ├── BuildConfiguration │ └── build-configuration.json │ ├── CIBuild.cmd │ ├── PSScriptAnalyzerSettings.psd1 │ ├── README.md │ ├── SetupNugetSources.ps1 │ ├── SetupNugetSources.sh │ ├── build.ps1 │ ├── build.sh │ ├── cibuild.sh │ ├── cross │ ├── armel │ │ ├── armel.jessie.patch │ │ ├── sources.list.jessie │ │ └── tizen │ │ │ └── tizen.patch │ ├── armv6 │ │ └── sources.list.buster │ ├── build-android-rootfs.sh │ ├── build-rootfs.sh │ ├── ppc64le │ │ └── sources.list.bionic │ ├── riscv64 │ │ └── sources.list.sid │ ├── s390x │ │ └── sources.list.bionic │ ├── tizen-build-rootfs.sh │ ├── tizen-fetch.sh │ └── toolchain.cmake │ ├── darc-init.ps1 │ ├── darc-init.sh │ ├── dotnet-install.cmd │ ├── dotnet-install.ps1 │ ├── dotnet-install.sh │ ├── enable-cross-org-publishing.ps1 │ ├── generate-locproject.ps1 │ ├── generate-sbom-prep.ps1 │ ├── generate-sbom-prep.sh │ ├── helixpublish.proj │ ├── init-tools-native.cmd │ ├── init-tools-native.ps1 │ ├── init-tools-native.sh │ ├── internal-feed-operations.ps1 │ ├── internal-feed-operations.sh │ ├── internal │ ├── Directory.Build.props │ ├── NuGet.config │ └── Tools.csproj │ ├── loc │ └── P22DotNetHtmlLocalization.lss │ ├── msbuild.ps1 │ ├── msbuild.sh │ ├── native │ ├── CommonLibrary.psm1 │ ├── common-library.sh │ ├── init-compiler.sh │ ├── install-cmake-test.sh │ ├── install-cmake.sh │ └── install-tool.ps1 │ ├── pipeline-logging-functions.ps1 │ ├── pipeline-logging-functions.sh │ ├── post-build │ ├── add-build-to-channel.ps1 │ ├── check-channel-consistency.ps1 │ ├── nuget-validation.ps1 │ ├── post-build-utils.ps1 │ ├── publish-using-darc.ps1 │ ├── sourcelink-validation.ps1 │ ├── symbols-validation.ps1 │ └── trigger-subscriptions.ps1 │ ├── retain-build.ps1 │ ├── sdk-task.ps1 │ ├── sdl │ ├── NuGet.config │ ├── configure-sdl-tool.ps1 │ ├── execute-all-sdl-tools.ps1 │ ├── extract-artifact-archives.ps1 │ ├── extract-artifact-packages.ps1 │ ├── init-sdl.ps1 │ ├── packages.config │ ├── run-sdl.ps1 │ └── sdl.ps1 │ ├── templates │ ├── job │ │ ├── execute-sdl.yml │ │ ├── job.yml │ │ ├── onelocbuild.yml │ │ ├── publish-build-assets.yml │ │ ├── source-build.yml │ │ └── source-index-stage1.yml │ ├── jobs │ │ ├── codeql-build.yml │ │ ├── jobs.yml │ │ └── source-build.yml │ ├── post-build │ │ ├── common-variables.yml │ │ ├── post-build.yml │ │ ├── setup-maestro-vars.yml │ │ └── trigger-subscription.yml │ ├── steps │ │ ├── add-build-to-channel.yml │ │ ├── build-reason.yml │ │ ├── component-governance.yml │ │ ├── execute-codeql.yml │ │ ├── execute-sdl.yml │ │ ├── generate-sbom.yml │ │ ├── publish-logs.yml │ │ ├── retain-build.yml │ │ ├── run-on-unix.yml │ │ ├── run-on-windows.yml │ │ ├── run-script-ifequalelse.yml │ │ ├── send-to-helix.yml │ │ ├── source-build.yml │ │ ├── telemetry-end.yml │ │ └── telemetry-start.yml │ └── variables │ │ ├── pool-providers.yml │ │ └── sdl-variables.yml │ ├── tools.ps1 │ └── tools.sh ├── global.json ├── install-tye.cmd ├── install-tye.ps1 ├── install-tye.sh ├── remove-tye.cmd ├── remove-tye.sh ├── restore.cmd ├── restore.sh ├── samples ├── .gitignore ├── Directory.Build.props ├── app-with-targetframeworks │ ├── MultipleTargetFrameworks │ │ ├── MultipleTargetFrameworks.csproj │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ ├── app-with-targetframeworks.sln │ └── tye.yaml ├── apps-with-core-angular │ ├── .gitignore │ ├── Movies.Shared │ │ ├── Movie.cs │ │ └── Movies.Shared.csproj │ ├── MoviesAPI │ │ ├── Controllers │ │ │ └── MoviesController.cs │ │ ├── MoviesAPI.csproj │ │ ├── MoviesService.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ └── appsettings.Development.json │ ├── MoviesApp │ │ ├── .dockerignore │ │ ├── .editorconfig │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── README.md │ │ ├── angular.json │ │ ├── browserslist │ │ ├── e2e │ │ │ ├── protractor.conf.js │ │ │ ├── src │ │ │ │ ├── app.e2e-spec.ts │ │ │ │ └── app.po.ts │ │ │ └── tsconfig.json │ │ ├── karma.conf.js │ │ ├── nginx.conf │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── app │ │ │ │ ├── app-routing.module.ts │ │ │ │ ├── app.component.html │ │ │ │ ├── app.component.scss │ │ │ │ ├── app.component.spec.ts │ │ │ │ ├── app.component.ts │ │ │ │ ├── app.module.ts │ │ │ │ ├── models │ │ │ │ │ └── movie.ts │ │ │ │ └── movies.service.ts │ │ │ ├── assets │ │ │ │ └── .gitkeep │ │ │ ├── environments │ │ │ │ ├── environment.prod.ts │ │ │ │ └── environment.ts │ │ │ ├── favicon.ico │ │ │ ├── index.html │ │ │ ├── main.ts │ │ │ ├── polyfills.ts │ │ │ ├── styles.scss │ │ │ └── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.json │ │ ├── tsconfig.spec.json │ │ └── tslint.json │ ├── README.md │ ├── project-tye.sln │ └── tye.yaml ├── apps-with-ingress │ ├── ApplicationA │ │ ├── ApplicationA.csproj │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ ├── ApplicationB │ │ ├── ApplicationB.csproj │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ ├── apps-with-ingress.sln │ └── tye.yaml ├── azure-functions │ ├── frontend-backend │ │ ├── README.md │ │ ├── backend │ │ │ ├── backend.cs │ │ │ ├── backend.csproj │ │ │ ├── host.json │ │ │ └── local.settings.json │ │ ├── frontend │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── frontend.csproj │ │ └── tye.yaml │ ├── typescript │ │ ├── HttpExample │ │ │ ├── HttpExample │ │ │ │ ├── function.json │ │ │ │ └── index.ts │ │ │ ├── host.json │ │ │ ├── local.settings.json │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ └── tsconfig.json │ │ ├── README.md │ │ └── tye.yaml │ └── voting │ │ ├── .editorconfig │ │ ├── README.md │ │ ├── results │ │ ├── App.razor │ │ ├── Data │ │ │ └── VotingResults.cs │ │ ├── Pages │ │ │ ├── Error.razor │ │ │ ├── Index.razor │ │ │ └── _Host.cshtml │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Shared │ │ │ └── MainLayout.razor │ │ ├── Startup.cs │ │ ├── _Imports.razor │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ ├── results.csproj │ │ └── wwwroot │ │ │ ├── css │ │ │ ├── bootstrap │ │ │ │ ├── bootstrap.min.css │ │ │ │ └── bootstrap.min.css.map │ │ │ ├── open-iconic │ │ │ │ ├── FONT-LICENSE │ │ │ │ ├── ICON-LICENSE │ │ │ │ ├── README.md │ │ │ │ └── font │ │ │ │ │ ├── css │ │ │ │ │ └── open-iconic-bootstrap.min.css │ │ │ │ │ └── fonts │ │ │ │ │ ├── open-iconic.eot │ │ │ │ │ ├── open-iconic.otf │ │ │ │ │ ├── open-iconic.svg │ │ │ │ │ ├── open-iconic.ttf │ │ │ │ │ └── open-iconic.woff │ │ │ └── site.css │ │ │ └── favicon.ico │ │ ├── tye.yaml │ │ ├── vote │ │ ├── Pages │ │ │ ├── Index.cshtml │ │ │ ├── Index.cshtml.cs │ │ │ └── _ViewImports.cshtml │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ ├── vote.csproj │ │ └── wwwroot │ │ │ ├── favicon.ico │ │ │ └── site.css │ │ └── worker-function │ │ ├── Dockerfile │ │ ├── GetResults.cs │ │ ├── QueueTrigger.cs │ │ ├── Startup.cs │ │ ├── host.json │ │ ├── local.settings.json │ │ └── worker-function.csproj ├── dapr │ ├── pub-sub │ │ ├── components │ │ │ ├── pubsub.yaml │ │ │ └── statestore.yaml │ │ ├── dapr.sln │ │ ├── orders │ │ │ ├── Controllers │ │ │ │ └── OrdersController.cs │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── orders.csproj │ │ ├── products │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── products.csproj │ │ ├── store │ │ │ ├── App.razor │ │ │ ├── Order.cs │ │ │ ├── OrdersEventBroker.cs │ │ │ ├── Pages │ │ │ │ ├── Index.razor │ │ │ │ └── _Host.cshtml │ │ │ ├── Product.cs │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Shared │ │ │ │ ├── MainLayout.razor │ │ │ │ ├── NavMenu.razor │ │ │ │ └── ProductDisplay.razor │ │ │ ├── Startup.cs │ │ │ ├── _Imports.razor │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ ├── store.csproj │ │ │ └── wwwroot │ │ │ │ ├── css │ │ │ │ ├── bootstrap │ │ │ │ │ ├── bootstrap.min.css │ │ │ │ │ └── bootstrap.min.css.map │ │ │ │ ├── open-iconic │ │ │ │ │ ├── FONT-LICENSE │ │ │ │ │ ├── ICON-LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ └── font │ │ │ │ │ │ ├── css │ │ │ │ │ │ └── open-iconic-bootstrap.min.css │ │ │ │ │ │ └── fonts │ │ │ │ │ │ ├── open-iconic.eot │ │ │ │ │ │ ├── open-iconic.otf │ │ │ │ │ │ ├── open-iconic.svg │ │ │ │ │ │ ├── open-iconic.ttf │ │ │ │ │ │ └── open-iconic.woff │ │ │ │ └── site.css │ │ │ │ └── favicon.ico │ │ └── tye.yaml │ └── service-invocation │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── DistributedTyeDemo.sln │ │ ├── LowercaseService │ │ ├── Controllers │ │ │ └── LowercaseController.cs │ │ ├── LowercaseService.csproj │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ │ ├── SentenceApp │ │ ├── App.razor │ │ ├── Pages │ │ │ ├── CaseConverter.razor │ │ │ ├── Error.cshtml │ │ │ └── _Host.cshtml │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── SentenceApp.csproj │ │ ├── Services │ │ │ ├── LowercaseServiceClient.cs │ │ │ ├── TitlecaseServiceClient.cs │ │ │ └── UppercaseServiceClient.cs │ │ ├── Shared │ │ │ ├── MainLayout.razor │ │ │ └── NavMenu.razor │ │ ├── Startup.cs │ │ ├── _Imports.razor │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── wwwroot │ │ │ ├── css │ │ │ ├── bootstrap │ │ │ │ ├── bootstrap.min.css │ │ │ │ └── bootstrap.min.css.map │ │ │ ├── open-iconic │ │ │ │ ├── FONT-LICENSE │ │ │ │ ├── ICON-LICENSE │ │ │ │ ├── README.md │ │ │ │ └── font │ │ │ │ │ ├── css │ │ │ │ │ └── open-iconic-bootstrap.min.css │ │ │ │ │ └── fonts │ │ │ │ │ ├── open-iconic.eot │ │ │ │ │ ├── open-iconic.otf │ │ │ │ │ ├── open-iconic.svg │ │ │ │ │ ├── open-iconic.ttf │ │ │ │ │ └── open-iconic.woff │ │ │ └── site.css │ │ │ └── favicon.ico │ │ ├── Shared │ │ ├── ConvertedResult.cs │ │ └── Shared.csproj │ │ ├── TitlecaseService │ │ ├── Controllers │ │ │ └── TitlecaseController.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── TitlecaseService.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ │ ├── UppercaseService │ │ ├── .dockerignore │ │ ├── Dockerfile │ │ ├── package-lock.json │ │ ├── package.json │ │ └── uppercase.js │ │ └── tye.yaml ├── dockercompose │ ├── .editorconfig │ ├── README.md │ ├── VotingSample.sln │ ├── docker-compose.yaml │ ├── ingress.yml │ ├── results │ │ ├── App.razor │ │ ├── Data │ │ │ └── VotingResults.cs │ │ ├── Pages │ │ │ ├── Error.razor │ │ │ ├── Index.razor │ │ │ └── _Host.cshtml │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Shared │ │ │ └── MainLayout.razor │ │ ├── Startup.cs │ │ ├── _Imports.razor │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ ├── results.csproj │ │ └── wwwroot │ │ │ ├── css │ │ │ ├── bootstrap │ │ │ │ ├── bootstrap.min.css │ │ │ │ └── bootstrap.min.css.map │ │ │ ├── open-iconic │ │ │ │ ├── FONT-LICENSE │ │ │ │ ├── ICON-LICENSE │ │ │ │ ├── README.md │ │ │ │ └── font │ │ │ │ │ ├── css │ │ │ │ │ └── open-iconic-bootstrap.min.css │ │ │ │ │ └── fonts │ │ │ │ │ ├── open-iconic.eot │ │ │ │ │ ├── open-iconic.otf │ │ │ │ │ ├── open-iconic.svg │ │ │ │ │ ├── open-iconic.ttf │ │ │ │ │ └── open-iconic.woff │ │ │ └── site.css │ │ │ └── favicon.ico │ ├── vote │ │ ├── Pages │ │ │ ├── Index.cshtml │ │ │ ├── Index.cshtml.cs │ │ │ └── _ViewImports.cshtml │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ ├── vote.csproj │ │ └── wwwroot │ │ │ ├── favicon.ico │ │ │ └── site.css │ └── worker │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── ResultsController.cs │ │ ├── ResultsHub.cs │ │ ├── Startup.cs │ │ ├── VoteCount.cs │ │ ├── Worker.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── worker.csproj ├── frontend-backend │ ├── backend │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── backend.csproj │ ├── frontend-backend-production.example.yaml │ ├── frontend-backend.sln │ ├── frontend │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── frontend.csproj │ └── tye.yaml ├── liveness-and-readiness │ ├── tye.yaml │ └── webapi │ │ ├── HealthChecks.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── webapi.csproj ├── mongo-sample │ └── tye.yaml ├── nginx-ingress │ ├── ApplicationA │ │ ├── ApplicationA.csproj │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ ├── ApplicationB │ │ ├── ApplicationB.csproj │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ ├── nginx-with-ingress.sln │ ├── nginx.conf │ └── tye.yaml ├── redis │ └── tye.yaml └── voting │ ├── .editorconfig │ ├── .vscode │ ├── launch.json │ └── tasks.json │ ├── README.md │ ├── VotingSample.sln │ ├── results │ ├── App.razor │ ├── Data │ │ └── VotingResults.cs │ ├── Pages │ │ ├── Error.razor │ │ ├── Index.razor │ │ └── _Host.cshtml │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Shared │ │ └── MainLayout.razor │ ├── Startup.cs │ ├── _Imports.razor │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── results.csproj │ └── wwwroot │ │ ├── css │ │ ├── bootstrap │ │ │ ├── bootstrap.min.css │ │ │ └── bootstrap.min.css.map │ │ ├── open-iconic │ │ │ ├── FONT-LICENSE │ │ │ ├── ICON-LICENSE │ │ │ ├── README.md │ │ │ └── font │ │ │ │ ├── css │ │ │ │ └── open-iconic-bootstrap.min.css │ │ │ │ └── fonts │ │ │ │ ├── open-iconic.eot │ │ │ │ ├── open-iconic.otf │ │ │ │ ├── open-iconic.svg │ │ │ │ ├── open-iconic.ttf │ │ │ │ └── open-iconic.woff │ │ └── site.css │ │ └── favicon.ico │ ├── tye.yaml │ ├── vote │ ├── Pages │ │ ├── Index.cshtml │ │ ├── Index.cshtml.cs │ │ └── _ViewImports.cshtml │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Startup.cs │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── vote.csproj │ └── wwwroot │ │ ├── favicon.ico │ │ └── site.css │ └── worker │ ├── Program.cs │ ├── Properties │ └── launchSettings.json │ ├── ResultsController.cs │ ├── ResultsHub.cs │ ├── Startup.cs │ ├── VoteCount.cs │ ├── Worker.cs │ ├── appsettings.Development.json │ ├── appsettings.json │ └── worker.csproj ├── src ├── Directory.Build.props ├── Microsoft.Tye.Core │ ├── ApplicationBuilder.cs │ ├── ApplicationExecutor.cs │ ├── ApplicationFactory.cs │ ├── ApplicationFactoryFilter.cs │ ├── ApplicationYamlWriter.cs │ ├── ApplyContainerDefaultsStep.cs │ ├── ArgumentEscaper.cs │ ├── AzureFunctionServiceBuilder.cs │ ├── BindingBuilder.cs │ ├── BuildDockerImageStep.cs │ ├── CombineStep.cs │ ├── CommandException.cs │ ├── ComputedBindings.cs │ ├── ConfigFileFinder.cs │ ├── ConfigModel │ │ ├── BuildProperty.cs │ │ ├── ConfigApplication.cs │ │ ├── ConfigConfigurationSource.cs │ │ ├── ConfigFactory.cs │ │ ├── ConfigHttpProber.cs │ │ ├── ConfigIngress.cs │ │ ├── ConfigIngressBinding.cs │ │ ├── ConfigIngressRule.cs │ │ ├── ConfigProbe.cs │ │ ├── ConfigRegistry.cs │ │ ├── ConfigService.cs │ │ ├── ConfigServiceBinding.cs │ │ ├── ConfigVolume.cs │ │ ├── ContainerEngineType.cs │ │ └── NameInferer.cs │ ├── ConsoleExtensions.cs │ ├── ContainerEngine.cs │ ├── ContainerInfo.cs │ ├── ContainerRegistry.cs │ ├── ContainerServiceBuilder.cs │ ├── CoreStrings.resx │ ├── DeployApplicationKubernetesManifestStep.cs │ ├── DeploymentKind.cs │ ├── DeploymentManifestInfo.cs │ ├── DirectoryCopy.cs │ ├── DockerCompose │ │ └── DockerComposeParser.cs │ ├── DockerContainerBuilder.cs │ ├── DockerFileServiceBuilder.cs │ ├── DockerImage.cs │ ├── DockerImageOutput.cs │ ├── DockerPush.cs │ ├── DockerfileGenerator.cs │ ├── DotnetProjectServiceBuilder.cs │ ├── EnvironmentVariableBuilder.cs │ ├── EnvironmentVariableSourceBuilder.cs │ ├── ExecutableServiceBuilder.cs │ ├── Extension.cs │ ├── ExtensionConfiguration.cs │ ├── ExtensionContext.cs │ ├── ExternalServiceBuilder.cs │ ├── Framework.cs │ ├── FrameworkCollection.cs │ ├── GenerateApplicationKubernetesManifestStep.cs │ ├── GenerateDockerfileStep.cs │ ├── GenerateHelmChartStep.cs │ ├── GenerateIngressKubernetesManifestStep.cs │ ├── GenerateOamComponentStep.cs │ ├── GenerateServiceKubernetesManifestStep.cs │ ├── GitDetector.cs │ ├── HelmChartGenerator.cs │ ├── HelmChartStep.cs │ ├── HostOptions.cs │ ├── HttpProberBuilder.cs │ ├── IYamlManifestOutput.cs │ ├── IngressBindingBuilder.cs │ ├── IngressBuilder.cs │ ├── IngressOutput.cs │ ├── IngressRuleBuilder.cs │ ├── KubernetesDeploymentOutput.cs │ ├── KubernetesIngressOutput.cs │ ├── KubernetesManifestGenerator.cs │ ├── KubernetesManifestInfo.cs │ ├── KubernetesServiceOutput.cs │ ├── LaunchedServiceBuilder.cs │ ├── Microsoft.Tye.Core.csproj │ ├── MsBuild │ │ ├── EscapingUtilities.cs │ │ ├── FileUtilities.cs │ │ ├── ProjectConfigurationInSolution.cs │ │ ├── ProjectInSolution.cs │ │ ├── SolutionConfigurationInSolution.cs │ │ └── SolutionFile.cs │ ├── NextPortFinder.cs │ ├── OamComponentGenerator.cs │ ├── OamComponentOutput.cs │ ├── OutputContext.cs │ ├── Pipeline.cs │ ├── ProbeBuilder.cs │ ├── ProcessExtensions.cs │ ├── ProcessResult.cs │ ├── ProcessSpec.cs │ ├── ProcessUtil.cs │ ├── Project.cs │ ├── ProjectPublishOutput.cs │ ├── ProjectReader.cs │ ├── ProjectServiceBuilder.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── PublishProjectStep.cs │ ├── PushDockerImageStep.cs │ ├── Secret.cs │ ├── Serialization │ │ ├── ConfigApplicationParser.cs │ │ ├── ConfigExtensionsParser.cs │ │ ├── ConfigIngressParser.cs │ │ ├── ConfigRegistryParser.cs │ │ ├── ConfigServiceParser.cs │ │ ├── OmitDefaultAndEmptyArrayObjectGraphVisitor.cs │ │ ├── TyeYamlException.cs │ │ ├── YamlParser.cs │ │ └── YamlSerializer.cs │ ├── ServiceBuilder.cs │ ├── ServiceManifestInfo.cs │ ├── ServiceOutput.cs │ ├── ServiceSource.cs │ ├── SidecarBuilder.cs │ ├── Source.cs │ ├── Step.cs │ ├── TempDirectory.cs │ ├── Templates │ │ └── Helm │ │ │ └── templates │ │ │ ├── _helpers.tpl │ │ │ ├── deployment.yaml │ │ │ └── service.yaml │ ├── ValidateIngressStep.cs │ ├── ValidateSecretStep.cs │ ├── Verbosity.cs │ ├── VolumeBuilder.cs │ └── WriteServiceYamlStep.cs ├── Microsoft.Tye.Extensions.Configuration │ ├── Microsoft.Tye.Extensions.Configuration.csproj │ └── TyeConfigurationExtensions.cs ├── Microsoft.Tye.Extensions │ ├── Dapr │ │ ├── DaprExtension.cs │ │ ├── DaprExtensionConfiguration.cs │ │ └── DaprExtensionConfigurationReader.cs │ ├── DiagnosticAgent.cs │ ├── Elastic │ │ └── ElasticStackExtension.cs │ ├── Microsoft.Tye.Extensions.csproj │ ├── Seq │ │ └── SeqExtensions.cs │ ├── WellKnownExtensions.cs │ └── Zipkin │ │ └── ZipkinExtension.cs ├── Microsoft.Tye.Hosting.Diagnostics │ ├── DiagnosticOptions.cs │ ├── DiagnosticsCollector.cs │ ├── DiagnosticsProvider.cs │ ├── Logging │ │ ├── LogObject.cs │ │ ├── LogValuesFormatter.cs │ │ └── LoggerException.cs │ ├── LoggingSink.cs │ ├── MetricSink.cs │ ├── Metrics │ │ ├── CounterPayload.cs │ │ ├── ICounterPayload.cs │ │ └── IncrementingCounterPayload.cs │ ├── Microsoft.Tye.Hosting.Diagnostics.csproj │ ├── ReplicaInfo.cs │ ├── TracingSink.cs │ └── WellKnownEventSources.cs ├── Microsoft.Tye.Hosting.Runtime │ ├── HostingRuntimeHelpers.cs │ ├── Microsoft.Tye.Hosting.Runtime.csproj │ └── StartupHook.cs ├── Microsoft.Tye.Hosting │ ├── AggregateApplicationProcessor.cs │ ├── BuildWatcher.cs │ ├── Dashboard │ │ ├── App.razor │ │ ├── Pages │ │ │ ├── Index.razor │ │ │ ├── Logs.razor │ │ │ ├── ServiceDetails.razor │ │ │ └── _Host.cshtml │ │ ├── Shared │ │ │ ├── MainLayout.razor │ │ │ ├── MetricsDisplay.razor │ │ │ ├── NavMenu.razor │ │ │ └── ReplicaSelector.razor │ │ └── _Imports.razor │ ├── DockerImagePuller.cs │ ├── DockerRunner.cs │ ├── EventPipeDiagnosticsRunner.cs │ ├── FuncFinder.cs │ ├── HttpProxyService.cs │ ├── IApplicationProcessor.cs │ ├── Infrastructure │ │ ├── ConnectionRetryHandler.cs │ │ ├── IngressHostMatcherPolicy.cs │ │ ├── IngressHostMetadata.cs │ │ ├── ProxyExtensions.cs │ │ └── ServiceLoggerProvider.cs │ ├── Microsoft.Tye.Hosting.csproj │ ├── Model │ │ ├── Application.cs │ │ ├── AzureFunctionRunInfo.cs │ │ ├── DockerRunInfo.cs │ │ ├── DockerStatus.cs │ │ ├── DockerVolume.cs │ │ ├── EffectiveBinding.cs │ │ ├── EnvironmentVariable.cs │ │ ├── EnvironmentVariableSource.cs │ │ ├── ExecutableRunInfo.cs │ │ ├── HttpProber.cs │ │ ├── IngressRule.cs │ │ ├── IngressRunInfo.cs │ │ ├── IngressStatus.cs │ │ ├── Probe.cs │ │ ├── ProcessStatus.cs │ │ ├── ProjectRunInfo.cs │ │ ├── ReplicaBinding.cs │ │ ├── ReplicaEvent.cs │ │ ├── ReplicaState.cs │ │ ├── ReplicaStatus.cs │ │ ├── RunInfo.cs │ │ ├── Service.cs │ │ ├── ServiceBinding.cs │ │ ├── ServiceDescription.cs │ │ ├── ServiceStatus.cs │ │ ├── ServiceType.cs │ │ └── V1 │ │ │ ├── V1Application.cs │ │ │ ├── V1ConfigurationSource.cs │ │ │ ├── V1DockerVolume.cs │ │ │ ├── V1Metric.cs │ │ │ ├── V1MetricMetadata.cs │ │ │ ├── V1ReplicaStatus.cs │ │ │ ├── V1RunInfo.cs │ │ │ ├── V1RunInfoType.cs │ │ │ ├── V1Service.cs │ │ │ ├── V1ServiceBinding.cs │ │ │ ├── V1ServiceDescription.cs │ │ │ ├── V1ServiceMetrics.cs │ │ │ └── V1ServiceStatus.cs │ ├── PortAssigner.cs │ ├── ProcessRunner.cs │ ├── ProcessRunnerOptions.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── launchSettings.json │ ├── ProxyService.cs │ ├── ReplicaMonitor.cs │ ├── ReplicaRegistry.cs │ ├── TokenReplacement.cs │ ├── TransformProjectsIntoContainers.cs │ ├── TyeBuildException.cs │ ├── TyeDashboardApi.cs │ ├── TyeHost.cs │ ├── Watch │ │ ├── DotNetWatcher.cs │ │ ├── IFileSet.cs │ │ ├── IFileSetFactory.cs │ │ ├── Internal │ │ │ ├── FileSet.cs │ │ │ ├── FileSetWatcher.cs │ │ │ ├── FileWatcher.cs │ │ │ ├── FileWatcher │ │ │ │ ├── DotnetFileWatcher.cs │ │ │ │ ├── FileWatcherFactory.cs │ │ │ │ └── IFileSystemWatcher.cs │ │ │ ├── MsBuildFileSetFactory.cs │ │ │ └── MsBuildProjectFinder.cs │ │ └── assets │ │ │ └── DotNetWatch.targets │ └── wwwroot │ │ ├── css │ │ ├── bootstrap │ │ │ ├── bootstrap.min.css │ │ │ └── bootstrap.min.css.map │ │ ├── open-iconic │ │ │ ├── FONT-LICENSE │ │ │ ├── ICON-LICENSE │ │ │ ├── README.md │ │ │ └── font │ │ │ │ ├── css │ │ │ │ └── open-iconic-bootstrap.min.css │ │ │ │ └── fonts │ │ │ │ ├── open-iconic.eot │ │ │ │ ├── open-iconic.otf │ │ │ │ ├── open-iconic.svg │ │ │ │ ├── open-iconic.ttf │ │ │ │ └── open-iconic.woff │ │ └── site.css │ │ ├── favicon.ico │ │ ├── img │ │ └── brand-tye-white.svg │ │ └── js │ │ └── utilities.js ├── Microsoft.Tye.Proxy │ ├── Microsoft.Tye.Proxy.csproj │ └── Program.cs ├── schema │ ├── README.md │ └── tye-schema.json ├── shared │ ├── DirectoryExtensions.cs │ ├── KubectlDetector.cs │ └── TempFile.cs ├── tye-diag-agent │ ├── DiagnosticsMonitor.cs │ ├── DiagnosticsMonitorOptions.cs │ ├── Dockerfile │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── docker.sh │ └── tye-diag-agent.csproj └── tye │ ├── ApplicationBuilderExtensions.cs │ ├── BuildHost.cs │ ├── CommonArguments.cs │ ├── ConsoleExtensions.cs │ ├── GenerateHost.cs │ ├── InitHost.cs │ ├── Program.BuildCommand.cs │ ├── Program.DefaultOptionsMiddleware.cs │ ├── Program.DeployCommand.cs │ ├── Program.GenerateCommand.cs │ ├── Program.InitCommand.cs │ ├── Program.PushCommand.cs │ ├── Program.RunCommand.cs │ ├── Program.UndeployCommand.cs │ ├── Program.cs │ ├── ProjectEvaluation.targets │ ├── Properties │ └── launchSettings.json │ ├── StandardOptions.cs │ ├── UndeployHost.cs │ └── tye.csproj ├── startvs.cmd ├── test ├── Directory.Build.props ├── E2ETest │ ├── ApplicationFactoryTests.cs │ ├── ApplicationTests.cs │ ├── HealthCheckTests.cs │ ├── Microsoft.Tye.E2ETests.csproj │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── ReplicaStoppingTests.cs │ ├── TaskExtensions.cs │ ├── TyeBuildTests.Dockerfile.cs │ ├── TyeBuildTests.cs │ ├── TyeGenerateTests.cs │ ├── TyeInitTests.cs │ ├── TyePurgeTests.cs │ ├── TyeRunTests.cs │ └── testassets │ │ ├── generate │ │ ├── apps-with-ingress.1.18.yaml │ │ ├── apps-with-ingress.1.19.yaml │ │ ├── dapr.yaml │ │ ├── dockerfile.yaml │ │ ├── frontend-backend.yaml │ │ ├── generate-connectionstring-dependency.yaml │ │ ├── generate-named-binding.yaml │ │ ├── generate-uri-dependency.yaml │ │ ├── health-checks.yaml │ │ ├── multi-project.yaml │ │ ├── multirepo.yaml │ │ ├── single-project-noregistry.yaml │ │ ├── single-project-registrypullsecret.yaml │ │ └── single-project.yaml │ │ ├── init │ │ ├── console-normalization-svc-name.yaml │ │ ├── frontend-backend.yaml │ │ ├── multi-project.yaml │ │ └── project-types.yaml │ │ └── projects │ │ ├── Console.Normalization.svc.Name │ │ ├── Console.Normalization.svc.Name.csproj │ │ └── Program.cs │ │ ├── Directory.Build.props │ │ ├── apps-with-ingress │ │ ├── ApplicationA │ │ │ ├── ApplicationA.csproj │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ └── appsettings.json │ │ ├── ApplicationB │ │ │ ├── ApplicationB.csproj │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ └── appsettings.json │ │ ├── ApplicationC-UI │ │ │ ├── ApplicationC-UI.csproj │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── wwwroot │ │ │ │ └── index.html │ │ ├── apps-with-ingress.sln │ │ ├── tye-ip_test.yaml │ │ ├── tye-ui.yaml │ │ └── tye.yaml │ │ ├── azure-functions │ │ ├── backend │ │ │ ├── .gitignore │ │ │ ├── backend.cs │ │ │ ├── backend.csproj │ │ │ ├── host.json │ │ │ └── local.settings.json │ │ ├── frontend-backend-production.example.yaml │ │ ├── frontend-backend.sln │ │ ├── frontend │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── frontend.csproj │ │ ├── tye-debug-configuration.yaml │ │ ├── tye-release-configuration.yaml │ │ └── tye.yaml │ │ ├── dapr │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ ├── dapr.csproj │ │ └── tye.yaml │ │ ├── dockerfile │ │ ├── backend │ │ │ ├── Dockerfile │ │ │ ├── app.js │ │ │ ├── package-lock.json │ │ │ └── package.json │ │ ├── frontend │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── frontend.csproj │ │ └── tye.yaml │ │ ├── dotnet-env-vars │ │ ├── single-project.sln │ │ ├── test-project │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ └── test-project.csproj │ │ └── tye.yaml │ │ ├── frontend-backend │ │ ├── backend │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ ├── backend-baseimage.csproj │ │ │ └── backend.csproj │ │ ├── frontend-backend-production.example.yaml │ │ ├── frontend-backend.sln │ │ ├── frontend │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── frontend.csproj │ │ ├── tye-debug-configuration.yaml │ │ ├── tye-release-configuration.yaml │ │ ├── tye-wrong-projectpath.yaml │ │ └── tye.yaml │ │ ├── generate-connectionstring-dependency │ │ ├── frontend │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── frontend.csproj │ │ ├── generate-connectionstring-dependency.sln │ │ └── tye.yaml │ │ ├── generate-named-binding │ │ ├── frontend │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── frontend.csproj │ │ ├── generate-named-binding.sln │ │ └── tye.yaml │ │ ├── generate-uri-dependency │ │ ├── frontend │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── frontend.csproj │ │ ├── generate-uri-dependency.sln │ │ └── tye.yaml │ │ ├── health-checks │ │ ├── api │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── api.csproj │ │ │ ├── appsettings.Development.json │ │ │ └── appsettings.json │ │ ├── health-checks.sln │ │ ├── tye-all.yaml │ │ ├── tye-ingress.yaml │ │ ├── tye-liveness.yaml │ │ ├── tye-none.yaml │ │ ├── tye-proxy.yaml │ │ └── tye-readiness.yaml │ │ ├── multi-phase-dockerfile │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ ├── multi-phase-dockerfile.csproj │ │ └── tye.yaml │ │ ├── multi-project │ │ ├── backend │ │ │ ├── IOrderService.cs │ │ │ ├── Order.cs │ │ │ ├── OrdersService.cs │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── backend.csproj │ │ ├── deploy │ │ │ └── rabbitmq.yaml │ │ ├── frontend │ │ │ ├── IOrderService.cs │ │ │ ├── Order.cs │ │ │ ├── Pages │ │ │ │ ├── Error.cshtml │ │ │ │ ├── Error.cshtml.cs │ │ │ │ ├── Index.cshtml │ │ │ │ ├── Index.cshtml.cs │ │ │ │ ├── Privacy.cshtml │ │ │ │ ├── Privacy.cshtml.cs │ │ │ │ ├── Shared │ │ │ │ │ ├── _Layout.cshtml │ │ │ │ │ └── _ValidationScriptsPartial.cshtml │ │ │ │ ├── _ViewImports.cshtml │ │ │ │ └── _ViewStart.cshtml │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ ├── frontend.csproj │ │ │ └── wwwroot │ │ │ │ ├── css │ │ │ │ └── site.css │ │ │ │ ├── favicon.ico │ │ │ │ ├── js │ │ │ │ └── site.js │ │ │ │ └── lib │ │ │ │ ├── bootstrap │ │ │ │ ├── LICENSE │ │ │ │ └── dist │ │ │ │ │ ├── css │ │ │ │ │ ├── bootstrap-grid.css │ │ │ │ │ ├── bootstrap-grid.css.map │ │ │ │ │ ├── bootstrap-grid.min.css │ │ │ │ │ ├── bootstrap-grid.min.css.map │ │ │ │ │ ├── bootstrap-reboot.css │ │ │ │ │ ├── bootstrap-reboot.css.map │ │ │ │ │ ├── bootstrap-reboot.min.css │ │ │ │ │ ├── bootstrap-reboot.min.css.map │ │ │ │ │ ├── bootstrap.css │ │ │ │ │ ├── bootstrap.css.map │ │ │ │ │ ├── bootstrap.min.css │ │ │ │ │ └── bootstrap.min.css.map │ │ │ │ │ └── js │ │ │ │ │ ├── bootstrap.bundle.js │ │ │ │ │ ├── bootstrap.bundle.js.map │ │ │ │ │ ├── bootstrap.bundle.min.js │ │ │ │ │ ├── bootstrap.bundle.min.js.map │ │ │ │ │ ├── bootstrap.js │ │ │ │ │ ├── bootstrap.js.map │ │ │ │ │ ├── bootstrap.min.js │ │ │ │ │ └── bootstrap.min.js.map │ │ │ │ ├── jquery-validation-unobtrusive │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── jquery.validate.unobtrusive.js │ │ │ │ └── jquery.validate.unobtrusive.min.js │ │ │ │ ├── jquery-validation │ │ │ │ ├── LICENSE.md │ │ │ │ └── dist │ │ │ │ │ ├── additional-methods.js │ │ │ │ │ ├── additional-methods.min.js │ │ │ │ │ ├── jquery.validate.js │ │ │ │ │ └── jquery.validate.min.js │ │ │ │ └── jquery │ │ │ │ ├── LICENSE.txt │ │ │ │ └── dist │ │ │ │ ├── jquery.js │ │ │ │ ├── jquery.min.js │ │ │ │ └── jquery.min.map │ │ ├── multi-project.sln │ │ ├── tye.yaml │ │ └── worker │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ └── launchSettings.json │ │ │ ├── QueueWorker.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── worker.csproj │ │ ├── multi-targetframeworks │ │ ├── multi-targetframeworks.sln │ │ ├── multi-targetframeworks │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── multi-targetframeworks.csproj │ │ ├── tye-no-buildproperties.yaml │ │ ├── tye-with-netcoreapp21.yaml │ │ └── tye-with-netcoreapp31.yaml │ │ ├── multirepo │ │ ├── results │ │ │ ├── App.razor │ │ │ ├── Data │ │ │ │ └── VotingResults.cs │ │ │ ├── Pages │ │ │ │ ├── Error.razor │ │ │ │ ├── Index.razor │ │ │ │ └── _Host.cshtml │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Shared │ │ │ │ └── MainLayout.razor │ │ │ ├── Startup.cs │ │ │ ├── _Imports.razor │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ ├── results.csproj │ │ │ ├── results.sln │ │ │ ├── tye.yaml │ │ │ └── wwwroot │ │ │ │ ├── css │ │ │ │ ├── bootstrap │ │ │ │ │ ├── bootstrap.min.css │ │ │ │ │ └── bootstrap.min.css.map │ │ │ │ ├── open-iconic │ │ │ │ │ ├── FONT-LICENSE │ │ │ │ │ ├── ICON-LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ └── font │ │ │ │ │ │ ├── css │ │ │ │ │ │ └── open-iconic-bootstrap.min.css │ │ │ │ │ │ └── fonts │ │ │ │ │ │ ├── open-iconic.eot │ │ │ │ │ │ ├── open-iconic.otf │ │ │ │ │ │ ├── open-iconic.svg │ │ │ │ │ │ ├── open-iconic.ttf │ │ │ │ │ │ └── open-iconic.woff │ │ │ │ └── site.css │ │ │ │ └── favicon.ico │ │ ├── vote │ │ │ ├── Pages │ │ │ │ ├── Index.cshtml │ │ │ │ ├── Index.cshtml.cs │ │ │ │ └── _ViewImports.cshtml │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ ├── tye.yaml │ │ │ ├── vote.csproj │ │ │ └── wwwroot │ │ │ │ ├── favicon.ico │ │ │ │ └── site.css │ │ └── worker │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ └── launchSettings.json │ │ │ ├── ResultsController.cs │ │ │ ├── ResultsHub.cs │ │ │ ├── Startup.cs │ │ │ ├── VoteCount.cs │ │ │ ├── Worker.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ ├── tye.yaml │ │ │ └── worker.csproj │ │ ├── nginx-ingress │ │ ├── ApplicationA │ │ │ ├── ApplicationA.csproj │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ └── appsettings.json │ │ ├── ApplicationB │ │ │ ├── ApplicationB.csproj │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ └── appsettings.json │ │ ├── nginx-with-ingress.sln │ │ ├── nginx.conf │ │ └── tye.yaml │ │ ├── non-standard-dashboard-port-5.0 │ │ ├── single-project.sln │ │ ├── test-project │ │ │ ├── Program.cs │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── test-project.csproj │ │ └── tye.yaml │ │ ├── non-standard-dashboard-port │ │ ├── single-project.sln │ │ ├── test-project │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── test-project.csproj │ │ └── tye.yaml │ │ ├── project-types │ │ ├── app │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── app.csproj │ │ │ ├── appsettings.Development.json │ │ │ └── appsettings.json │ │ ├── class-library │ │ │ └── class-library.csproj │ │ ├── project-types.sln │ │ └── test-project │ │ │ ├── UnitTest1.cs │ │ │ └── test-project.csproj │ │ ├── single-phase-dockerfile-args-duplicates │ │ ├── Dockerfile │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.json │ │ ├── single-phase-dockerfile-args.csproj │ │ └── tye.yaml │ │ ├── single-phase-dockerfile-args │ │ ├── Dockerfile │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.json │ │ ├── single-phase-dockerfile-args.csproj │ │ └── tye.yaml │ │ ├── single-phase-dockerfile-multi-args │ │ ├── Dockerfile │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.json │ │ ├── single-phase-dockerfile-multi-args.csproj │ │ └── tye.yaml │ │ ├── single-phase-dockerfile │ │ ├── Dockerfile │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ ├── single-phase-dockerfile.csproj │ │ └── tye.yaml │ │ ├── single-project-5.0 │ │ ├── single-project.sln │ │ ├── test-project │ │ │ ├── Program.cs │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── test-project.csproj │ │ └── tye.yaml │ │ ├── single-project │ │ ├── single-project.sln │ │ ├── test-project │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── test-project.csproj │ │ └── tye.yaml │ │ ├── volume-test │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ ├── tye.yaml │ │ └── volume-test.csproj │ │ └── web-app │ │ ├── Pages │ │ ├── Error.cshtml │ │ ├── Error.cshtml.cs │ │ ├── Index.cshtml │ │ ├── Index.cshtml.cs │ │ ├── Shared │ │ │ └── _Layout.cshtml │ │ ├── _ViewImports.cshtml │ │ └── _ViewStart.cshtml │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ ├── tye.yaml │ │ ├── web-app.csproj │ │ └── wwwroot │ │ ├── css │ │ └── site.css │ │ └── favicon.ico ├── Microsoft.Tye.Extensions.Configuration.Tests │ ├── Microsoft.Tye.Extensions.Configuration.Tests.csproj │ └── TyeConfigurationExtensionsTest.cs ├── Test.Infrastructure │ ├── AssemblyTestLog.cs │ ├── ConditionalFactAttribute.cs │ ├── ConditionalFactDiscoverer.cs │ ├── ConditionalTheoryAttribute.cs │ ├── ConditionalTheoryDiscoverer.cs │ ├── DockerAssert.cs │ ├── EqualityYamlNodeVisitor.cs │ ├── ILoggedTest.cs │ ├── ITestCondition.cs │ ├── ITestMethodLifecycle.cs │ ├── LoggedTest.cs │ ├── LoggedTestBase.cs │ ├── Logging │ │ ├── BeginScopeContext.cs │ │ ├── ITestSink.cs │ │ ├── LogLevelAttribute.cs │ │ ├── LogValuesAssert.cs │ │ ├── TestLogger.cs │ │ ├── TestLoggerFactory.cs │ │ ├── TestLoggerProvider.cs │ │ ├── TestLoggerT.cs │ │ ├── TestSink.cs │ │ ├── WriteContext.cs │ │ ├── XunitLoggerFactoryExtensions.cs │ │ └── XunitLoggerProvider.cs │ ├── Microsoft.AspNetCore.Testing.props │ ├── RetryHandler.cs │ ├── ShortClassNameAttribute.cs │ ├── SkipIfDockerNotRunningAttribute.cs │ ├── SkipOnLinuxAttribute.cs │ ├── SkippedTestCase.cs │ ├── StringExtensions.cs │ ├── Test.Infrastructure.csproj │ ├── TestContext.cs │ ├── TestFileOutputContext.cs │ ├── TestFrameworkFileLoggerAttribute.cs │ ├── TestHelpers.cs │ ├── TestMethodExtensions.cs │ ├── TestOutputDirectoryAttribute.cs │ ├── TestOutputLogEventSink.cs │ ├── TyeAssert.cs │ ├── YamlAssert.cs │ └── xunit │ │ ├── AspNetTestAssemblyRunner.cs │ │ ├── AspNetTestCaseRunner.cs │ │ ├── AspNetTestClassRunner.cs │ │ ├── AspNetTestCollectionRunner.cs │ │ ├── AspNetTestFramework.cs │ │ ├── AspNetTestFrameworkExecutor.cs │ │ ├── AspNetTestInvoker.cs │ │ ├── AspNetTestMethodRunner.cs │ │ ├── AspNetTestRunner.cs │ │ ├── AspNetTheoryTestCaseRunner.cs │ │ ├── AssemblyFixtureAttribute.cs │ │ ├── ConditionalFactAttribute.cs │ │ ├── ConditionalFactDiscoverer.cs │ │ ├── ConditionalTheoryAttribute.cs │ │ ├── ConditionalTheoryDiscoverer.cs │ │ ├── DockerOnlyAttribute.cs │ │ ├── EnvironmentVariableSkipConditionAttribute.cs │ │ ├── FrameworkSkipConditionAttribute.cs │ │ ├── IEnvironmentVariable.cs │ │ ├── ITestCondition.cs │ │ ├── MaximumOSVersionAttribute.cs │ │ ├── MinimumOsVersionAttribute.cs │ │ ├── OSSkipConditionAttribute.cs │ │ ├── OperatingSystems.cs │ │ ├── QuarantinedTestAttribute.cs │ │ ├── QuarantinedTestTraitDiscoverer.cs │ │ ├── RuntimeFrameworks.cs │ │ ├── SkipOnCIAttribute.cs │ │ ├── SkipOnHelixAttribute.cs │ │ ├── SkippedTestCase.cs │ │ ├── TestMethodExtensions.cs │ │ ├── WORKAROUND_SkippedDataRowTestCase.cs │ │ └── WindowsVersions.cs └── UnitTests │ ├── DefaultOptionsMiddlewareTests.cs │ ├── Microsoft.Tye.UnitTests.csproj │ ├── TyeDeserializationTests.cs │ ├── TyeDeserializationValidationTests.cs │ └── testassets │ ├── envfile_a.env │ └── envfile_b.env └── tye.sln /.config/CredScanSuppressions.json: -------------------------------------------------------------------------------- 1 | { 2 | "tool": "Credential Scanner", 3 | "suppressions": [ 4 | { 5 | "placeholder": "pass@word1", 6 | "_justification": "This is a fake password used in samples." 7 | } 8 | ] 9 | } -------------------------------------------------------------------------------- /.config/dotnet-tools.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "isRoot": true, 4 | "tools": { 5 | "dotnet-format": { 6 | "version": "3.3.111304", 7 | "commands": [ 8 | "dotnet-format" 9 | ] 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | *.cs text=auto diff=csharp 3 | *.sh text eol=lf 4 | *.sln text eol=crlf -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Users referenced in this file will automatically be requested as reviewers for PRs that modify the given paths. 2 | # See https://help.github.com/articles/about-code-owners/ 3 | 4 | * @philliphoff @ravipal 5 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report about something that is not working 4 | labels: bug 5 | --- 6 | 7 | ### Describe the bug 8 | A clear and concise description of what the bug is. 9 | 10 | ### To Reproduce 11 | 17 | 18 | ### Further technical details 19 | 20 | - Include the output of `tye --version` 21 | - If possible rerun the command with `-v debug` and include the output 22 | - The platform (Linux/macOS/Windows) 23 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/discussion.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Discussion 3 | about: Ask a question or start a discussion 4 | labels: discussion 5 | --- -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feedback.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feedback 3 | about: Tell us what you think! 4 | labels: feedback 5 | --- 6 | 7 | ### Some details 8 | 9 | **How many services are in your application? (including things like databases, redis):** 10 | 11 | - [ ] 1-2 12 | - [ ] 3-5 13 | - [ ] 6-10 14 | - [ ] 10+ 15 | 16 | **What did you use tye for?** 17 | 18 | - [ ] Local development 19 | - [ ] Deployment 20 | 21 | **How is your code organized?** 22 | 23 | - [ ] One service per repo 24 | - [ ] Many services in one big repo 25 | - [ ] Other (please explain) 26 | 27 | ### What did you think of tye? 28 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/idea.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Idea 3 | about: Ideas, feature requests, and wishes 4 | labels: idea 5 | --- 6 | 7 | ### What should we add or change to make your life better? 8 | 9 | ### Why is this important to you? -------------------------------------------------------------------------------- /.sscignore: -------------------------------------------------------------------------------- 1 | { 2 | "cfs": [ 3 | "CFS0001" 4 | ] 5 | } -------------------------------------------------------------------------------- /CODE-OF-CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | 3 | This project has adopted the code of conduct defined by the Contributor Covenant 4 | to clarify expected behavior in our community. 5 | 6 | For more information, see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct). 7 | -------------------------------------------------------------------------------- /NuGet.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /build.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\common\Build.ps1""" -restore -build %*" -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | source="${BASH_SOURCE[0]}" 4 | 5 | # resolve $SOURCE until the file is no longer a symlink 6 | while [[ -h $source ]]; do 7 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" 8 | source="$(readlink "$source")" 9 | 10 | # if $source was a relative symlink, we need to resolve it relative to the path where the 11 | # symlink file was located 12 | [[ $source != /* ]] && source="$scriptroot/$source" 13 | done 14 | 15 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" 16 | "$scriptroot/eng/common/build.sh" --build --restore $@ -------------------------------------------------------------------------------- /build/dotnet-format-problem-matcher.json: -------------------------------------------------------------------------------- 1 | { 2 | "problemMatcher": [ 3 | { 4 | "owner": "dotnet-format", 5 | "severity": "warning", 6 | "pattern": [ 7 | { 8 | "regexp": "^\\s+(.*)\\((\\d+),(\\d+)\\):\\s+(.*)$", 9 | "file": 1, 10 | "line": 2, 11 | "column": 3, 12 | "message": 4 13 | } 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /build/key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/build/key.snk -------------------------------------------------------------------------------- /clean.cmd: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | SETLOCAL 3 | PowerShell -NoProfile -NoLogo -ExecutionPolicy ByPass -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = ''; try { & '%~dp0clean.ps1' %*; exit $LASTEXITCODE } catch { write-host $_; exit 1 }" 4 | -------------------------------------------------------------------------------- /docs/recipes/images/actions_recipe_dash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/docs/recipes/images/actions_recipe_dash.png -------------------------------------------------------------------------------- /docs/recipes/images/nginx_ingress_action.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/docs/recipes/images/nginx_ingress_action.png -------------------------------------------------------------------------------- /eng/PoliCheckExclusions.xml: -------------------------------------------------------------------------------- 1 | 2 | LINUX_TEST_RESULTS|MACOS_TEST_RESULTS|WINDOWS_TEST_RESULTS|LINUX_TEST_LOGS|MACOS_TEST_LOGS|WINDOWS_TEST_LOGS 3 | 4 | -------------------------------------------------------------------------------- /eng/Publishing.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 3 5 | 6 | -------------------------------------------------------------------------------- /eng/Versions.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0.12.0 6 | alpha 7 | 8 | false 9 | true 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /eng/common/BuildConfiguration/build-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "RetryCountLimit": 1, 3 | "RetryByAnyError": false 4 | } 5 | -------------------------------------------------------------------------------- /eng/common/CIBuild.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0Build.ps1""" -restore -build -test -sign -pack -publish -ci %*" -------------------------------------------------------------------------------- /eng/common/PSScriptAnalyzerSettings.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | IncludeRules=@('PSAvoidUsingCmdletAliases', 3 | 'PSAvoidUsingWMICmdlet', 4 | 'PSAvoidUsingPositionalParameters', 5 | 'PSAvoidUsingInvokeExpression', 6 | 'PSUseDeclaredVarsMoreThanAssignments', 7 | 'PSUseCmdletCorrectly', 8 | 'PSStandardDSCFunctionsInResource', 9 | 'PSUseIdenticalMandatoryParametersForDSC', 10 | 'PSUseIdenticalParametersForDSC') 11 | } -------------------------------------------------------------------------------- /eng/common/cibuild.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | source="${BASH_SOURCE[0]}" 4 | 5 | # resolve $SOURCE until the file is no longer a symlink 6 | while [[ -h $source ]]; do 7 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" 8 | source="$(readlink "$source")" 9 | 10 | # if $source was a relative symlink, we need to resolve it relative to the path where 11 | # the symlink file was located 12 | [[ $source != /* ]] && source="$scriptroot/$source" 13 | done 14 | scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" 15 | 16 | . "$scriptroot/build.sh" --restore --build --test --pack --publish --ci $@ -------------------------------------------------------------------------------- /eng/common/cross/armel/sources.list.jessie: -------------------------------------------------------------------------------- 1 | # Debian (jessie) # Stable 2 | deb http://ftp.debian.org/debian/ jessie main contrib non-free 3 | deb-src http://ftp.debian.org/debian/ jessie main contrib non-free 4 | -------------------------------------------------------------------------------- /eng/common/cross/armel/tizen/tizen.patch: -------------------------------------------------------------------------------- 1 | diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so 2 | --- a/usr/lib/libc.so 2016-12-30 23:00:08.284951863 +0900 3 | +++ b/usr/lib/libc.so 2016-12-30 23:00:32.140951815 +0900 4 | @@ -2,4 +2,4 @@ 5 | Use the shared library, but some functions are only in 6 | the static library, so try that secondarily. */ 7 | OUTPUT_FORMAT(elf32-littlearm) 8 | -GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux.so.3 ) ) 9 | +GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux.so.3 ) ) 10 | -------------------------------------------------------------------------------- /eng/common/cross/armv6/sources.list.buster: -------------------------------------------------------------------------------- 1 | deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi 2 | deb-src http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi 3 | -------------------------------------------------------------------------------- /eng/common/cross/riscv64/sources.list.sid: -------------------------------------------------------------------------------- 1 | deb http://deb.debian.org/debian-ports sid main 2 | -------------------------------------------------------------------------------- /eng/common/dotnet-install.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0dotnet-install.ps1""" %*" -------------------------------------------------------------------------------- /eng/common/init-tools-native.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | powershell -NoProfile -NoLogo -ExecutionPolicy ByPass -command "& """%~dp0init-tools-native.ps1""" %*" 3 | exit /b %ErrorLevel% -------------------------------------------------------------------------------- /eng/common/internal/Directory.Build.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /eng/common/internal/NuGet.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /eng/common/loc/P22DotNetHtmlLocalization.lss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/eng/common/loc/P22DotNetHtmlLocalization.lss -------------------------------------------------------------------------------- /eng/common/sdl/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /eng/common/templates/post-build/trigger-subscription.yml: -------------------------------------------------------------------------------- 1 | parameters: 2 | ChannelId: 0 3 | 4 | steps: 5 | - task: PowerShell@2 6 | displayName: Triggering subscriptions 7 | inputs: 8 | filePath: $(Build.SourcesDirectory)/eng/common/post-build/trigger-subscriptions.ps1 9 | arguments: -SourceRepo $(Build.Repository.Uri) 10 | -ChannelId ${{ parameters.ChannelId }} 11 | -MaestroApiAccessToken $(MaestroAccessToken) 12 | -MaestroApiEndPoint $(MaestroApiEndPoint) 13 | -MaestroApiVersion $(MaestroApiVersion) 14 | -------------------------------------------------------------------------------- /eng/common/templates/steps/add-build-to-channel.yml: -------------------------------------------------------------------------------- 1 | parameters: 2 | ChannelId: 0 3 | 4 | steps: 5 | - task: PowerShell@2 6 | displayName: Add Build to Channel 7 | inputs: 8 | filePath: $(Build.SourcesDirectory)/eng/common/post-build/add-build-to-channel.ps1 9 | arguments: -BuildId $(BARBuildId) 10 | -ChannelId ${{ parameters.ChannelId }} 11 | -MaestroApiAccessToken $(MaestroApiAccessToken) 12 | -MaestroApiEndPoint $(MaestroApiEndPoint) 13 | -MaestroApiVersion $(MaestroApiVersion) 14 | -------------------------------------------------------------------------------- /eng/common/templates/steps/build-reason.yml: -------------------------------------------------------------------------------- 1 | # build-reason.yml 2 | # Description: runs steps if build.reason condition is valid. conditions is a string of valid build reasons 3 | # to include steps (',' separated). 4 | parameters: 5 | conditions: '' 6 | steps: [] 7 | 8 | steps: 9 | - ${{ if and( not(startsWith(parameters.conditions, 'not')), contains(parameters.conditions, variables['build.reason'])) }}: 10 | - ${{ parameters.steps }} 11 | - ${{ if and( startsWith(parameters.conditions, 'not'), not(contains(parameters.conditions, variables['build.reason']))) }}: 12 | - ${{ parameters.steps }} 13 | -------------------------------------------------------------------------------- /eng/common/templates/steps/component-governance.yml: -------------------------------------------------------------------------------- 1 | parameters: 2 | disableComponentGovernance: false 3 | componentGovernanceIgnoreDirectories: '' 4 | 5 | steps: 6 | - ${{ if eq(parameters.disableComponentGovernance, 'true') }}: 7 | - script: "echo ##vso[task.setvariable variable=skipComponentGovernanceDetection]true" 8 | displayName: Set skipComponentGovernanceDetection variable 9 | - ${{ if ne(parameters.disableComponentGovernance, 'true') }}: 10 | - task: ComponentGovernanceComponentDetection@0 11 | continueOnError: true 12 | inputs: 13 | ignoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }} -------------------------------------------------------------------------------- /eng/common/templates/steps/run-on-unix.yml: -------------------------------------------------------------------------------- 1 | parameters: 2 | agentOs: '' 3 | steps: [] 4 | 5 | steps: 6 | - ${{ if ne(parameters.agentOs, 'Windows_NT') }}: 7 | - ${{ parameters.steps }} 8 | -------------------------------------------------------------------------------- /eng/common/templates/steps/run-on-windows.yml: -------------------------------------------------------------------------------- 1 | parameters: 2 | agentOs: '' 3 | steps: [] 4 | 5 | steps: 6 | - ${{ if eq(parameters.agentOs, 'Windows_NT') }}: 7 | - ${{ parameters.steps }} 8 | -------------------------------------------------------------------------------- /eng/common/templates/variables/sdl-variables.yml: -------------------------------------------------------------------------------- 1 | variables: 2 | # The Guardian version specified in 'eng/common/sdl/packages.config'. This value must be kept in 3 | # sync with the packages.config file. 4 | - name: DefaultGuardianVersion 5 | value: 0.109.0 6 | - name: GuardianPackagesConfigFile 7 | value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config -------------------------------------------------------------------------------- /global.json: -------------------------------------------------------------------------------- 1 | { 2 | "sdk": { 3 | "allowPrerelease": true 4 | }, 5 | "tools": { 6 | "dotnet": "8.0.100-preview.3.23178.7", 7 | "runtimes": { 8 | "dotnet": [ 9 | "6.0.0" 10 | ], 11 | "aspnetcore": [ 12 | "6.0.0" 13 | ] 14 | } 15 | }, 16 | "msbuild-sdks": { 17 | "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.23265.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /install-tye.cmd: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | SETLOCAL 3 | PowerShell -NoProfile -NoLogo -ExecutionPolicy ByPass -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = ''; try { & '%~dp0install-tye.ps1' %*; exit $LASTEXITCODE } catch { write-host $_; exit 1 }" 4 | -------------------------------------------------------------------------------- /install-tye.ps1: -------------------------------------------------------------------------------- 1 | 2 | $versionPrefix = Select-Xml -Path .\eng\Versions.props -XPath "/Project/PropertyGroup/VersionPrefix" | ForEach-Object { $_.Node.InnerXml } 3 | 4 | dotnet tool install microsoft.tye -g --version "$versionPrefix-dev" --add-source ./artifacts/packages/Debug/Shipping 5 | -------------------------------------------------------------------------------- /install-tye.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | versionprefix=`awk -F'[<>]' '/VersionPrefix.*VersionPrefix/{print $3}' ./eng/Versions.props` 4 | 5 | dotnet tool install microsoft.tye -g --version "$versionprefix-dev" --add-source ./artifacts/packages/Debug/Shipping 6 | -------------------------------------------------------------------------------- /remove-tye.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | dotnet tool uninstall microsoft.tye -g 3 | -------------------------------------------------------------------------------- /remove-tye.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | dotnet tool uninstall microsoft.tye -g 4 | -------------------------------------------------------------------------------- /restore.cmd: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | SETLOCAL 3 | PowerShell -NoProfile -NoLogo -ExecutionPolicy ByPass -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0eng\common\Build.ps1' -restore %*; exit $LASTEXITCODE" -------------------------------------------------------------------------------- /restore.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -euo pipefail 4 | 5 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 6 | "$DIR/eng/common/build.sh" --restore "$@" -------------------------------------------------------------------------------- /samples/.gitignore: -------------------------------------------------------------------------------- 1 | .logs/ 2 | -------------------------------------------------------------------------------- /samples/app-with-targetframeworks/MultipleTargetFrameworks/MultipleTargetFrameworks.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp3.1;netcoreapp2.1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /samples/app-with-targetframeworks/MultipleTargetFrameworks/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/app-with-targetframeworks/MultipleTargetFrameworks/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/app-with-targetframeworks/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | # 4 | # when you've given us a try, we'd love to know what you think: 5 | # https://aka.ms/AA7q20u 6 | # 7 | name: app-with-targetframeworks 8 | services: 9 | - name: multipletargetframeworks 10 | project: MultipleTargetFrameworks/MultipleTargetFrameworks.csproj 11 | buildProperties: 12 | - name: TargetFramework 13 | value: netcoreapp3.1 14 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/.gitignore: -------------------------------------------------------------------------------- 1 | obj 2 | bin 3 | *.db 4 | appsettings.json 5 | *.rdb 6 | settings.json 7 | publish 8 | wwwroot 9 | .idea 10 | API.csproj.user 11 | sports-center - Web Deploy.pubxml 12 | sports-center - Web Deploy.pubxml.user 13 | db.lock -------------------------------------------------------------------------------- /samples/apps-with-core-angular/Movies.Shared/Movie.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Movies.Shared 6 | { 7 | public class Movie 8 | { 9 | public int MovieId { get; set; } 10 | public string MovieName { get; set; } 11 | public string DirectorName { get; set; } 12 | public int ReleaseYear { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/Movies.Shared/Movies.Shared.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesAPI/Controllers/MoviesController.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc; 2 | 3 | namespace MoviesAPI.Controllers 4 | { 5 | [ApiController] 6 | [Route("api/[controller]")] 7 | public class MoviesController : ControllerBase 8 | { 9 | private readonly MoviesService _moviesService; 10 | public MoviesController(MoviesService moviesService) 11 | => _moviesService = moviesService; 12 | 13 | [HttpGet] 14 | public IActionResult GetMovies() 15 | => Ok(_moviesService.GetMovies()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesAPI/MoviesAPI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | netcoreapp3.1 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesAPI/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/.dockerignore: -------------------------------------------------------------------------------- 1 | **/node_modules 2 | **/package-lock.json 3 | **/.vs/ 4 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see https://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | max_line_length = off 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine as node 2 | 3 | WORKDIR /src 4 | COPY . . 5 | 6 | RUN npm install && npm run build 7 | 8 | FROM nginx:alpine 9 | COPY nginx.conf /etc/nginx/nginx.conf 10 | COPY --from=node /src/dist /usr/share/nginx/html 11 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/browserslist: -------------------------------------------------------------------------------- 1 | # This file is used by the build system to adjust CSS and JS output to support the specified browsers below. 2 | # For additional information regarding the format and rule options, please see: 3 | # https://github.com/browserslist/browserslist#queries 4 | 5 | # You can see what browsers were selected by your queries by running: 6 | # npx browserslist 7 | 8 | > 0.5% 9 | last 2 versions 10 | Firefox ESR 11 | not dead 12 | not IE 9-11 # For IE 9-11 support, remove 'not'. -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/e2e/src/app.po.ts: -------------------------------------------------------------------------------- 1 | import { browser, by, element } from 'protractor'; 2 | 3 | export class AppPage { 4 | navigateTo(): Promise { 5 | return browser.get(browser.baseUrl) as Promise; 6 | } 7 | 8 | getTitleText(): Promise { 9 | return element(by.css('app-root .content span')).getText() as Promise; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/e2e/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/e2e", 5 | "module": "commonjs", 6 | "target": "es5", 7 | "types": [ 8 | "jasmine", 9 | "jasminewd2", 10 | "node" 11 | ] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/src/app/app-routing.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { Routes, RouterModule } from '@angular/router'; 3 | 4 | 5 | const routes: Routes = []; 6 | 7 | @NgModule({ 8 | imports: [RouterModule.forRoot(routes)], 9 | exports: [RouterModule] 10 | }) 11 | export class AppRoutingModule { } 12 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/src/app/app.component.html: -------------------------------------------------------------------------------- 1 |
2 |

{{title}}

3 |
    4 |
  • 5 | {{movie.movieName}} - {{movie.directorName}} - {{movie.releaseYear}} 6 |
  • 7 |
8 |
-------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/src/app/app.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/apps-with-core-angular/MoviesApp/src/app/app.component.scss -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/src/app/models/movie.ts: -------------------------------------------------------------------------------- 1 | export interface IMovie { 2 | movieId: number; 3 | movieName: string; 4 | directorName: string; 5 | releaseYear: number; 6 | } 7 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/src/app/movies.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@angular/core'; 2 | import { environment } from 'src/environments/environment'; 3 | import { HttpClient } from '@angular/common/http'; 4 | 5 | @Injectable({ 6 | providedIn: 'root' 7 | }) 8 | export class MoviesService { 9 | baseUrl = environment.apiUrl; 10 | 11 | constructor(private http: HttpClient) { } 12 | 13 | getMovies() { 14 | return this.http.get(this.baseUrl + 'movies'); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/apps-with-core-angular/MoviesApp/src/assets/.gitkeep -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | apiUrl: 'https://localhost:5001/api/' 4 | }; 5 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/apps-with-core-angular/MoviesApp/src/favicon.ico -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Movies App with Microservices 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/src/main.ts: -------------------------------------------------------------------------------- 1 | import { enableProdMode } from '@angular/core'; 2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 3 | 4 | import { AppModule } from './app/app.module'; 5 | import { environment } from './environments/environment'; 6 | 7 | if (environment.production) { 8 | enableProdMode(); 9 | } 10 | 11 | platformBrowserDynamic().bootstrapModule(AppModule) 12 | .catch(err => console.error(err)); 13 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./out-tsc/app", 5 | "types": [] 6 | }, 7 | "files": [ 8 | "src/main.ts", 9 | "src/polyfills.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/MoviesApp/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./out-tsc/spec", 5 | "types": [ 6 | "jasmine", 7 | "node" 8 | ] 9 | }, 10 | "files": [ 11 | "src/test.ts", 12 | "src/polyfills.ts" 13 | ], 14 | "include": [ 15 | "src/**/*.spec.ts", 16 | "src/**/*.d.ts" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /samples/apps-with-core-angular/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | # 4 | # when you've given us a try, we'd love to know what you think: 5 | # https://aka.ms/AA7q20u 6 | # 7 | name: project-tye 8 | services: 9 | - name: moviesapi 10 | project: MoviesAPI/MoviesAPI.csproj 11 | bindings: 12 | - protocol: https 13 | port: 5001 14 | 15 | - name: moviesapp 16 | dockerFile: MoviesApp/Dockerfile 17 | bindings: 18 | - protocol: http 19 | port: 4400 -------------------------------------------------------------------------------- /samples/apps-with-ingress/ApplicationA/ApplicationA.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp3.1 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/apps-with-ingress/ApplicationA/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/apps-with-ingress/ApplicationA/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/apps-with-ingress/ApplicationB/ApplicationB.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp3.1 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/apps-with-ingress/ApplicationB/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/apps-with-ingress/ApplicationB/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/azure-functions/frontend-backend/README.md: -------------------------------------------------------------------------------- 1 | # Frontend-backend example 2 | A simple example showing a frontend and backend function app. 3 | 4 | ## For running 5 | 6 | Simply execute `tye run` and navigate to the frontend. You should see a response with information from the frontend and backend. 7 | 8 | > :bulb: Note, you may need to create a [local.settings.json](https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local?tabs=windows%2Ccsharp%2Cbash#local-settings-file) file to specify the language default. Tye currently doesn't specify the language by default. -------------------------------------------------------------------------------- /samples/azure-functions/frontend-backend/backend/host.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0", 3 | "logging": { 4 | "applicationInsights": { 5 | "samplingExcludedTypes": "Request", 6 | "samplingSettings": { 7 | "isEnabled": true 8 | } 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /samples/azure-functions/frontend-backend/backend/local.settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "IsEncrypted": false, 3 | "Values": { 4 | "FUNCTIONS_WORKER_RUNTIME": "dotnet" 5 | } 6 | } -------------------------------------------------------------------------------- /samples/azure-functions/frontend-backend/frontend/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/azure-functions/frontend-backend/frontend/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/azure-functions/frontend-backend/frontend/frontend.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp3.1 5 | Frontend 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /samples/azure-functions/frontend-backend/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: frontend-backend 4 | services: 5 | - name: backend 6 | azureFunction: backend/ 7 | - name: frontend 8 | project: frontend/frontend.csproj 9 | -------------------------------------------------------------------------------- /samples/azure-functions/typescript/HttpExample/HttpExample/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "bindings": [ 3 | { 4 | "authLevel": "function", 5 | "type": "httpTrigger", 6 | "direction": "in", 7 | "name": "req", 8 | "methods": [ 9 | "get", 10 | "post" 11 | ] 12 | }, 13 | { 14 | "type": "http", 15 | "direction": "out", 16 | "name": "res" 17 | } 18 | ], 19 | "scriptFile": "../dist/HttpExample/index.js" 20 | } -------------------------------------------------------------------------------- /samples/azure-functions/typescript/HttpExample/host.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0", 3 | "logging": { 4 | "applicationInsights": { 5 | "samplingSettings": { 6 | "isEnabled": true, 7 | "excludedTypes": "Request" 8 | } 9 | } 10 | }, 11 | "extensionBundle": { 12 | "id": "Microsoft.Azure.Functions.ExtensionBundle", 13 | "version": "[1.*, 2.0.0)" 14 | } 15 | } -------------------------------------------------------------------------------- /samples/azure-functions/typescript/HttpExample/local.settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "IsEncrypted": false, 3 | "Values": { 4 | "FUNCTIONS_WORKER_RUNTIME": "node" 5 | } 6 | } -------------------------------------------------------------------------------- /samples/azure-functions/typescript/HttpExample/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "", 3 | "version": "", 4 | "scripts": { 5 | "build": "tsc", 6 | "build:production": "npm run prestart && npm prune --production", 7 | "watch": "tsc --w", 8 | "prestart": "npm run build && func extensions install", 9 | "start:host": "func start", 10 | "start": "npm-run-all --parallel start:host watch", 11 | "test": "echo \"No tests yet...\"" 12 | }, 13 | "description": "", 14 | "devDependencies": { 15 | "@azure/functions": "^1.0.1-beta1", 16 | "npm-run-all": "^4.1.5", 17 | "typescript": "^3.3.3" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/azure-functions/typescript/HttpExample/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "es6", 5 | "outDir": "dist", 6 | "rootDir": ".", 7 | "sourceMap": true, 8 | "strict": false 9 | } 10 | } -------------------------------------------------------------------------------- /samples/azure-functions/typescript/tye.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | - name: HttpExample 3 | azureFunction: HttpExample/ -------------------------------------------------------------------------------- /samples/azure-functions/voting/results/App.razor: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Sorry, there's nothing at this address.

8 |
9 |
10 |
11 | -------------------------------------------------------------------------------- /samples/azure-functions/voting/results/Data/VotingResults.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Results 7 | { 8 | public class VotingResult 9 | { 10 | public string Vote { get; set; } 11 | public int Count { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /samples/azure-functions/voting/results/Shared/MainLayout.razor: -------------------------------------------------------------------------------- 1 | @inherits LayoutComponentBase 2 | 3 |
4 |
5 | @Body 6 |
7 |
8 | -------------------------------------------------------------------------------- /samples/azure-functions/voting/results/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Authorization 3 | @using Microsoft.AspNetCore.Components.Authorization 4 | @using Microsoft.AspNetCore.Components.Forms 5 | @using Microsoft.AspNetCore.Components.Routing 6 | @using Microsoft.AspNetCore.Components.Web 7 | @using Microsoft.JSInterop 8 | @using Results 9 | @using Results.Shared 10 | -------------------------------------------------------------------------------- /samples/azure-functions/voting/results/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /samples/azure-functions/voting/results/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/azure-functions/voting/results/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/azure-functions/voting/results/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /samples/azure-functions/voting/results/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/azure-functions/voting/results/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /samples/azure-functions/voting/results/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/azure-functions/voting/results/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /samples/azure-functions/voting/results/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/azure-functions/voting/results/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /samples/azure-functions/voting/results/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/azure-functions/voting/results/wwwroot/favicon.ico -------------------------------------------------------------------------------- /samples/azure-functions/voting/tye.yaml: -------------------------------------------------------------------------------- 1 | name: VotingSample 2 | services: 3 | - name: vote 4 | project: vote/vote.csproj 5 | - name: worker 6 | azureFunction: worker-function/ 7 | - name: azure-storage 8 | external: true 9 | bindings: 10 | - connectionString: "UseDevelopmentStorage=true" 11 | - name: postgres 12 | image: postgres 13 | env: 14 | - name: POSTGRES_PASSWORD 15 | value: "pass@word1" 16 | bindings: 17 | - port: 5432 18 | connectionString: Server=${host};Port=${port};User Id=postgres;Password=${env:POSTGRES_PASSWORD}; 19 | - name: results 20 | project: results/results.csproj 21 | -------------------------------------------------------------------------------- /samples/azure-functions/voting/vote/Pages/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Vote 2 | @using Microsoft.Extensions.Configuration 3 | @namespace Vote.Pages 4 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 5 | -------------------------------------------------------------------------------- /samples/azure-functions/voting/vote/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Information", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/azure-functions/voting/vote/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Information", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*", 10 | "OptionA": "Dogs", 11 | "OptionB": "Cats" 12 | } 13 | -------------------------------------------------------------------------------- /samples/azure-functions/voting/vote/vote.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp3.1 5 | Vote 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /samples/azure-functions/voting/vote/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/azure-functions/voting/vote/wwwroot/favicon.ico -------------------------------------------------------------------------------- /samples/azure-functions/voting/worker-function/Startup.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Azure.Functions.Extensions.DependencyInjection; 2 | using Microsoft.Extensions.DependencyInjection; 3 | 4 | [assembly: FunctionsStartup(typeof(worker_function.Startup))] 5 | 6 | namespace worker_function 7 | { 8 | public class Startup : FunctionsStartup 9 | { 10 | // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. 11 | public override void Configure(IFunctionsHostBuilder builder) 12 | { 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /samples/azure-functions/voting/worker-function/host.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0", 3 | "logging": { 4 | "applicationInsights": { 5 | "samplingExcludedTypes": "Request", 6 | "samplingSettings": { 7 | "isEnabled": true 8 | } 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /samples/azure-functions/voting/worker-function/local.settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "IsEncrypted": false, 3 | "Values": { 4 | "AzureWebJobsStorage": "UseDevelopmentStorage=true", 5 | "FUNCTIONS_WORKER_RUNTIME": "dotnet" 6 | } 7 | } -------------------------------------------------------------------------------- /samples/dapr/pub-sub/components/pubsub.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: messagebus 5 | spec: 6 | type: pubsub.redis 7 | metadata: 8 | - name: redisHost 9 | value: localhost:6379 10 | - name: redisPassword 11 | value: "" 12 | -------------------------------------------------------------------------------- /samples/dapr/pub-sub/components/statestore.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: dapr.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: default 5 | spec: 6 | type: state.redis 7 | metadata: 8 | - name: redisHost 9 | value: localhost:6379 10 | - name: redisPassword 11 | value: "" 12 | - name: actorStateStore 13 | value: "true" 14 | -------------------------------------------------------------------------------- /samples/dapr/pub-sub/orders/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "Microsoft": "Debug", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/dapr/pub-sub/orders/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/dapr/pub-sub/orders/orders.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp3.1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /samples/dapr/pub-sub/products/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "Microsoft": "Debug", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/dapr/pub-sub/products/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/dapr/pub-sub/products/products.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp3.1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /samples/dapr/pub-sub/store/App.razor: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 |

Sorry, there's nothing at this address.

9 |
10 |
11 |
12 | -------------------------------------------------------------------------------- /samples/dapr/pub-sub/store/Order.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace store 4 | { 5 | public class Order 6 | { 7 | public string OrderId { get; set; } = default!; 8 | public int ProductId { get; set ; } 9 | } 10 | 11 | public class OrderConfirmation 12 | { 13 | public string OrderId { get; set; } = default!; 14 | 15 | public DateTime? DeliveryDate { get; set; } 16 | 17 | public bool Confirmed { get; set; } 18 | 19 | public int BackorderCount { get; set; } 20 | 21 | public int RemainingCount { get; set; } 22 | } 23 | } -------------------------------------------------------------------------------- /samples/dapr/pub-sub/store/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | @inject DaprClient Dapr 3 | 4 |

Welcome to our awesome store!

5 |

Please browse the products at your leisure.

6 | 7 | @if (products == null) 8 | { 9 |

Loading...

10 | } 11 | else 12 | { 13 | foreach (var product in products) 14 | { 15 | 16 | } 17 | } 18 | 19 | @code { 20 | Product[]? products; 21 | 22 | protected async override Task OnInitializedAsync() 23 | { 24 | products = await Dapr.InvokeMethodAsync("products", "list"); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /samples/dapr/pub-sub/store/Product.cs: -------------------------------------------------------------------------------- 1 | namespace store 2 | { 3 | public class Product 4 | { 5 | public int Id { get; set; } 6 | 7 | public string Name { get; set; } = default!; 8 | 9 | public string Description { get; set; } = default!; 10 | 11 | public decimal Price { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /samples/dapr/pub-sub/store/Shared/MainLayout.razor: -------------------------------------------------------------------------------- 1 | @inherits LayoutComponentBase 2 | 3 | 6 | 7 |
8 |
9 | About 10 |
11 | 12 |
13 | @Body 14 |
15 |
16 | -------------------------------------------------------------------------------- /samples/dapr/pub-sub/store/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Authorization 3 | @using Microsoft.AspNetCore.Components.Authorization 4 | @using Microsoft.AspNetCore.Components.Forms 5 | @using Microsoft.AspNetCore.Components.Routing 6 | @using Microsoft.AspNetCore.Components.Web 7 | @using Microsoft.JSInterop 8 | @using store 9 | @using store.Shared 10 | @using Dapr.Client 11 | @using System.Threading 12 | -------------------------------------------------------------------------------- /samples/dapr/pub-sub/store/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /samples/dapr/pub-sub/store/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/dapr/pub-sub/store/store.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp3.1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /samples/dapr/pub-sub/store/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/dapr/pub-sub/store/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /samples/dapr/pub-sub/store/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/dapr/pub-sub/store/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /samples/dapr/pub-sub/store/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/dapr/pub-sub/store/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /samples/dapr/pub-sub/store/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/dapr/pub-sub/store/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /samples/dapr/pub-sub/store/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/dapr/pub-sub/store/wwwroot/favicon.ico -------------------------------------------------------------------------------- /samples/dapr/service-invocation/LowercaseService/LowercaseService.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp3.1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /samples/dapr/service-invocation/LowercaseService/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/dapr/service-invocation/LowercaseService/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/dapr/service-invocation/SentenceApp/App.razor: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 |

Sorry, there's nothing at this address.

9 |
10 |
11 |
12 | -------------------------------------------------------------------------------- /samples/dapr/service-invocation/SentenceApp/SentenceApp.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp3.1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /samples/dapr/service-invocation/SentenceApp/Shared/MainLayout.razor: -------------------------------------------------------------------------------- 1 | @inherits LayoutComponentBase 2 | 3 | 6 | 7 |
8 |
9 | About 10 |
11 | 12 |
13 | @Body 14 |
15 |
16 | -------------------------------------------------------------------------------- /samples/dapr/service-invocation/SentenceApp/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Authorization 3 | @using Microsoft.AspNetCore.Components.Authorization 4 | @using Microsoft.AspNetCore.Components.Forms 5 | @using Microsoft.AspNetCore.Components.Routing 6 | @using Microsoft.AspNetCore.Components.Web 7 | @using Microsoft.JSInterop 8 | @using SentenceApp 9 | @using SentenceApp.Shared 10 | -------------------------------------------------------------------------------- /samples/dapr/service-invocation/SentenceApp/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /samples/dapr/service-invocation/SentenceApp/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/dapr/service-invocation/SentenceApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/dapr/service-invocation/SentenceApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /samples/dapr/service-invocation/SentenceApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/dapr/service-invocation/SentenceApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /samples/dapr/service-invocation/SentenceApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/dapr/service-invocation/SentenceApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /samples/dapr/service-invocation/SentenceApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/dapr/service-invocation/SentenceApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /samples/dapr/service-invocation/SentenceApp/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/dapr/service-invocation/SentenceApp/wwwroot/favicon.ico -------------------------------------------------------------------------------- /samples/dapr/service-invocation/Shared/ConvertedResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Shared 4 | { 5 | public class ConvertedResult 6 | { 7 | public string Sentence { get; set; } 8 | public string Original { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /samples/dapr/service-invocation/Shared/Shared.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/dapr/service-invocation/TitlecaseService/TitlecaseService.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp3.1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /samples/dapr/service-invocation/TitlecaseService/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/dapr/service-invocation/TitlecaseService/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/dapr/service-invocation/UppercaseService/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log -------------------------------------------------------------------------------- /samples/dapr/service-invocation/UppercaseService/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:14 2 | 3 | # Create app directory 4 | WORKDIR /usr/src/app 5 | 6 | # Install app dependencies 7 | # A wildcard is used to ensure both package.json AND package-lock.json are copied 8 | # where available (npm@5+) 9 | COPY package*.json ./ 10 | 11 | RUN npm install 12 | # If you are building your code for production 13 | # RUN npm ci --only=production 14 | 15 | # Bundle app source 16 | COPY . . 17 | 18 | EXPOSE 80 19 | CMD [ "node", "uppercase.js" ] -------------------------------------------------------------------------------- /samples/dapr/service-invocation/UppercaseService/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "uppercase-service", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "uppercase.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "start": "node uppercase.js" 9 | }, 10 | "author": "", 11 | "license": "ISC", 12 | "dependencies": { 13 | "express": "^4.18.2" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /samples/dockercompose/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | services: 3 | redis: 4 | image: redis:alpine 5 | ports: 6 | - "6379" 7 | postgres: # TODO needed to switch name here for some reason 8 | image: postgres:9.4 9 | ports: 10 | - "5432" 11 | environment: 12 | POSTGRES_PASSWORD: "postgres" 13 | vote: 14 | build: 15 | context: ./vote 16 | ports: 17 | - 5000:80 18 | result: 19 | build: 20 | context: ./results 21 | ports: 22 | - 5001:80 23 | worker: 24 | build: 25 | context: ./worker -------------------------------------------------------------------------------- /samples/dockercompose/ingress.yml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | name: ingress-basic 5 | namespace: default 6 | annotations: 7 | kubernetes.io/ingress.class: nginx 8 | nginx.ingress.kubernetes.io/ssl-redirect: "false" 9 | nginx.ingress.kubernetes.io/rewrite-target: /$2 10 | spec: 11 | rules: 12 | - http: 13 | paths: 14 | - backend: 15 | serviceName: vote 16 | servicePort: 80 17 | path: /vote(/|$)(.*) 18 | - backend: 19 | serviceName: results 20 | servicePort: 80 21 | path: /results(/|$)(.*) -------------------------------------------------------------------------------- /samples/dockercompose/results/App.razor: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Sorry, there's nothing at this address.

8 |
9 |
10 |
11 | -------------------------------------------------------------------------------- /samples/dockercompose/results/Data/VotingResults.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Results 7 | { 8 | public class VotingResult 9 | { 10 | public string Vote { get; set; } 11 | public int Count { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /samples/dockercompose/results/Shared/MainLayout.razor: -------------------------------------------------------------------------------- 1 | @inherits LayoutComponentBase 2 | 3 |
4 |
5 | @Body 6 |
7 |
8 | -------------------------------------------------------------------------------- /samples/dockercompose/results/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Authorization 3 | @using Microsoft.AspNetCore.Components.Authorization 4 | @using Microsoft.AspNetCore.Components.Forms 5 | @using Microsoft.AspNetCore.Components.Routing 6 | @using Microsoft.AspNetCore.Components.Web 7 | @using Microsoft.JSInterop 8 | @using Results 9 | @using Results.Shared 10 | -------------------------------------------------------------------------------- /samples/dockercompose/results/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /samples/dockercompose/results/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/dockercompose/results/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/dockercompose/results/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /samples/dockercompose/results/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/dockercompose/results/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /samples/dockercompose/results/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/dockercompose/results/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /samples/dockercompose/results/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/dockercompose/results/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /samples/dockercompose/results/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/dockercompose/results/wwwroot/favicon.ico -------------------------------------------------------------------------------- /samples/dockercompose/vote/Pages/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Vote 2 | @using Microsoft.Extensions.Configuration 3 | @namespace Vote.Pages 4 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 5 | -------------------------------------------------------------------------------- /samples/dockercompose/vote/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Information", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/dockercompose/vote/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Information", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*", 10 | "OptionA": "Dogs", 11 | "OptionB": "Cats" 12 | } 13 | -------------------------------------------------------------------------------- /samples/dockercompose/vote/vote.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp3.1 5 | Vote 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /samples/dockercompose/vote/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/dockercompose/vote/wwwroot/favicon.ico -------------------------------------------------------------------------------- /samples/dockercompose/worker/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "worker": { 4 | "commandName": "Project", 5 | "environmentVariables": { 6 | "DOTNET_ENVIRONMENT": "Development" 7 | } 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /samples/dockercompose/worker/ResultsHub.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Microsoft.AspNetCore.SignalR; 5 | 6 | namespace Worker 7 | { 8 | public class ResultsHub : Hub 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /samples/dockercompose/worker/VoteCount.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Worker 7 | { 8 | public class VoteCount 9 | { 10 | public string Vote { get; set; } 11 | public int Count { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /samples/dockercompose/worker/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/dockercompose/worker/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/frontend-backend/backend/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/frontend-backend/backend/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/frontend-backend/backend/backend.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | Backend 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /samples/frontend-backend/frontend/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/frontend-backend/frontend/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/frontend-backend/frontend/frontend.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | Frontend 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /samples/frontend-backend/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: frontend-backend 4 | services: 5 | - name: backend 6 | project: backend/backend.csproj 7 | - name: frontend 8 | project: frontend/frontend.csproj -------------------------------------------------------------------------------- /samples/liveness-and-readiness/tye.yaml: -------------------------------------------------------------------------------- 1 | name: liveness-and-readiness 2 | ingress: 3 | - name: ingress 4 | bindings: 5 | - port: 8080 6 | rules: 7 | - path: / 8 | service: simple-webapi 9 | services: 10 | - name: simple-webapi 11 | project: webapi/webapi.csproj 12 | replicas: 2 13 | liveness: 14 | http: 15 | path: /lively 16 | initialDelay: 1 17 | readiness: 18 | http: 19 | path: /ready 20 | initialDelay: 1 -------------------------------------------------------------------------------- /samples/liveness-and-readiness/webapi/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/liveness-and-readiness/webapi/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/liveness-and-readiness/webapi/webapi.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netcoreapp3.1 4 | 5 | -------------------------------------------------------------------------------- /samples/nginx-ingress/ApplicationA/ApplicationA.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp3.1 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/nginx-ingress/ApplicationA/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/nginx-ingress/ApplicationA/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/nginx-ingress/ApplicationB/ApplicationB.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp3.1 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/nginx-ingress/ApplicationB/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/nginx-ingress/ApplicationB/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/nginx-ingress/tye.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | - name: nginx 3 | image: nginx 4 | bindings: 5 | - protocol: http 6 | volumes: 7 | - source: nginx.conf 8 | target: /etc/nginx/conf.d/default.conf 9 | - name: appA 10 | project: ApplicationA/ApplicationA.csproj 11 | replicas: 2 12 | - name: appB 13 | project: ApplicationB/ApplicationB.csproj 14 | replicas: 2 15 | -------------------------------------------------------------------------------- /samples/redis/tye.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | - name: redis 3 | image: redis 4 | bindings: 5 | - port: 6379 6 | connectionString: ${host}:${port} 7 | - name: redis-cli 8 | image: redis 9 | args: "redis-cli -h redis MONITOR" -------------------------------------------------------------------------------- /samples/voting/results/App.razor: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Sorry, there's nothing at this address.

8 |
9 |
10 |
11 | -------------------------------------------------------------------------------- /samples/voting/results/Data/VotingResults.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Results 7 | { 8 | public class VotingResult 9 | { 10 | public string Vote { get; set; } 11 | public int Count { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /samples/voting/results/Shared/MainLayout.razor: -------------------------------------------------------------------------------- 1 | @inherits LayoutComponentBase 2 | 3 |
4 |
5 | @Body 6 |
7 |
8 | -------------------------------------------------------------------------------- /samples/voting/results/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Authorization 3 | @using Microsoft.AspNetCore.Components.Authorization 4 | @using Microsoft.AspNetCore.Components.Forms 5 | @using Microsoft.AspNetCore.Components.Routing 6 | @using Microsoft.AspNetCore.Components.Web 7 | @using Microsoft.JSInterop 8 | @using Results 9 | @using Results.Shared 10 | -------------------------------------------------------------------------------- /samples/voting/results/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /samples/voting/results/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/voting/results/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/voting/results/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /samples/voting/results/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/voting/results/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /samples/voting/results/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/voting/results/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /samples/voting/results/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/voting/results/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /samples/voting/results/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/voting/results/wwwroot/favicon.ico -------------------------------------------------------------------------------- /samples/voting/vote/Pages/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Vote 2 | @using Microsoft.Extensions.Configuration 3 | @namespace Vote.Pages 4 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 5 | -------------------------------------------------------------------------------- /samples/voting/vote/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Information", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/voting/vote/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Information", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*", 10 | "OptionA": "Dogs", 11 | "OptionB": "Cats" 12 | } 13 | -------------------------------------------------------------------------------- /samples/voting/vote/vote.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | Vote 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /samples/voting/vote/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/samples/voting/vote/wwwroot/favicon.ico -------------------------------------------------------------------------------- /samples/voting/worker/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "worker": { 4 | "commandName": "Project", 5 | "environmentVariables": { 6 | "DOTNET_ENVIRONMENT": "Development" 7 | } 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /samples/voting/worker/ResultsHub.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Microsoft.AspNetCore.SignalR; 5 | 6 | namespace Worker 7 | { 8 | public class ResultsHub : Hub 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /samples/voting/worker/VoteCount.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Worker 7 | { 8 | public class VoteCount 9 | { 10 | public string Vote { get; set; } 11 | public int Count { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /samples/voting/worker/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/voting/worker/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Directory.Build.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | Embedded 7 | 8 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/CommandException.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System; 6 | 7 | namespace Microsoft.Tye 8 | { 9 | public class CommandException : Exception 10 | { 11 | public CommandException(string message) 12 | : base(message) 13 | { } 14 | 15 | public CommandException(string message, Exception inner) 16 | : base(message, inner) 17 | { } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/ConfigModel/BuildProperty.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.ComponentModel.DataAnnotations; 6 | 7 | namespace Microsoft.Tye.ConfigModel 8 | { 9 | public class BuildProperty 10 | { 11 | [Required] 12 | public string Name { get; set; } = default!; 13 | 14 | [Required] 15 | public string Value { get; set; } = default!; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/ConfigModel/ConfigConfigurationSource.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.ComponentModel.DataAnnotations; 6 | 7 | namespace Microsoft.Tye.ConfigModel 8 | { 9 | public class ConfigConfigurationSource 10 | { 11 | [Required] 12 | public string Name { get; set; } = default!; 13 | 14 | [Required] 15 | public string Value { get; set; } = default!; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/ConfigModel/ConfigIngressBinding.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye.ConfigModel 6 | { 7 | public class ConfigIngressBinding 8 | { 9 | public string? Name { get; set; } 10 | public int? Port { get; set; } 11 | public string? Protocol { get; set; } // HTTP or HTTPS 12 | public string? IPAddress { get; set; } // Can be * or any address to listen on 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/ConfigModel/ConfigRegistry.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.ComponentModel.DataAnnotations; 6 | 7 | namespace Microsoft.Tye.ConfigModel 8 | { 9 | public class ConfigRegistry 10 | { 11 | [Required] 12 | public string Hostname { get; set; } = null!; 13 | 14 | public string? PullSecret { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/ConfigModel/ConfigVolume.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.ComponentModel.DataAnnotations; 6 | 7 | namespace Microsoft.Tye.ConfigModel 8 | { 9 | public class ConfigVolume 10 | { 11 | public string Source { get; set; } = default!; 12 | 13 | public string Name { get; set; } = default!; 14 | 15 | [Required] 16 | public string Target { get; set; } = default!; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/ConfigModel/ContainerEngineType.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye.ConfigModel 6 | { 7 | public enum ContainerEngineType 8 | { 9 | Docker, 10 | Podman 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/DeploymentKind.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye 6 | { 7 | public enum DeploymentKind 8 | { 9 | None, 10 | Kubernetes, 11 | Oam, 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/DeploymentManifestInfo.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.Collections.Generic; 6 | 7 | namespace Microsoft.Tye 8 | { 9 | public sealed class DeploymentManifestInfo 10 | { 11 | public Dictionary Annotations { get; } = new Dictionary(); 12 | 13 | public Dictionary Labels { get; } = new Dictionary(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/Extension.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.Threading.Tasks; 6 | 7 | namespace Microsoft.Tye 8 | { 9 | public abstract class Extension 10 | { 11 | public abstract Task ProcessAsync(ExtensionContext context, ExtensionConfiguration config); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/ExternalServiceBuilder.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye 6 | { 7 | public sealed class ExternalServiceBuilder : ServiceBuilder 8 | { 9 | public ExternalServiceBuilder(string name, ServiceSource source) 10 | : base(name, source) 11 | { 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/HelmChartStep.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye 6 | { 7 | public sealed class HelmChartStep : Step 8 | { 9 | public override string DisplayName => "Building Helm Chart..."; 10 | 11 | public string ChartName { get; set; } = default!; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/IYamlManifestOutput.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using YamlDotNet.RepresentationModel; 6 | 7 | namespace Microsoft.Tye 8 | { 9 | internal interface IYamlManifestOutput 10 | { 11 | YamlDocument Yaml { get; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/IngressBindingBuilder.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye 6 | { 7 | public sealed class IngressBindingBuilder 8 | { 9 | public string? Name { get; set; } 10 | public int? Port { get; set; } 11 | public string? Protocol { get; set; } // HTTP or HTTPS 12 | public string? IPAddress { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/IngressOutput.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye 6 | { 7 | public abstract class IngressOutput 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/IngressRuleBuilder.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye 6 | { 7 | public sealed class IngressRuleBuilder 8 | { 9 | public string? Path { get; set; } 10 | public string? Host { get; set; } 11 | public bool PreservePath { get; set; } 12 | 13 | public string Service { get; set; } = default!; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/ProjectPublishOutput.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.IO; 6 | 7 | namespace Microsoft.Tye 8 | { 9 | public class ProjectPublishOutput : ServiceOutput 10 | { 11 | public ProjectPublishOutput(DirectoryInfo directory) 12 | { 13 | Directory = directory; 14 | } 15 | 16 | public DirectoryInfo Directory { get; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/Secret.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye 6 | { 7 | public class Secret 8 | { 9 | public string? Name { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/ServiceManifestInfo.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.Collections.Generic; 6 | 7 | namespace Microsoft.Tye 8 | { 9 | public sealed class ServiceManifestInfo 10 | { 11 | public Dictionary Annotations { get; } = new Dictionary(); 12 | 13 | public Dictionary Labels { get; } = new Dictionary(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/ServiceOutput.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye 6 | { 7 | public abstract class ServiceOutput 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/ServiceSource.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye 6 | { 7 | public enum ServiceSource 8 | { 9 | Unknown = 0, 10 | Configuration, 11 | Extension, 12 | Host 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/Source.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye 6 | { 7 | public abstract class Source 8 | { 9 | internal Source() 10 | { 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/Step.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye 6 | { 7 | public abstract class Step 8 | { 9 | public abstract string DisplayName { get; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/Templates/Helm/templates/service.yaml: -------------------------------------------------------------------------------- 1 | kind: Service 2 | apiVersion: v1 3 | metadata: 4 | name: {{ include "thischart.name" . }} 5 | labels: 6 | app.kubernetes.io/name: {{ include "thischart.name" . }} 7 | app.kubernetes.io/instance: {{ .Release.Name }} 8 | spec: 9 | selector: 10 | app.kubernetes.io/name: {{ include "thischart.name" . }} 11 | app.kubernetes.io/instance: {{ .Release.Name }} 12 | ports: 13 | - name: http 14 | protocol: TCP 15 | port: 80 16 | type: LoadBalancer -------------------------------------------------------------------------------- /src/Microsoft.Tye.Core/Verbosity.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye 6 | { 7 | public enum Verbosity 8 | { 9 | Quiet, 10 | Info, 11 | Debug, 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Extensions.Configuration/Microsoft.Tye.Extensions.Configuration.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Extensions/Microsoft.Tye.Extensions.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting.Diagnostics/DiagnosticOptions.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using Microsoft.Extensions.Logging; 6 | 7 | namespace Microsoft.Tye.Hosting.Diagnostics 8 | { 9 | public class DiagnosticOptions 10 | { 11 | 12 | 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting.Diagnostics/Metrics/ICounterPayload.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye.Hosting.Diagnostics.Metrics 6 | { 7 | internal interface ICounterPayload 8 | { 9 | public string Name { get; } 10 | public string Value { get; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting.Runtime/HostingRuntimeHelpers.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye.Hosting.Runtime 6 | { 7 | // This exists solely as a way to locate this dll 8 | public class HostingRuntimeHelpers 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting.Runtime/Microsoft.Tye.Hosting.Runtime.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | Runtime helpers for tye host platform 6 | Microsoft.Tye.Hosting.Runtime 7 | Microsoft.Tye.Hosting.Runtime 8 | disable 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Dashboard/App.razor: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Sorry, there's nothing at this address.

8 |
9 |
10 |
11 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Dashboard/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Authorization 3 | @using Microsoft.AspNetCore.Components.Authorization 4 | @using Microsoft.AspNetCore.Components.Forms 5 | @using Microsoft.AspNetCore.Components.Routing 6 | @using Microsoft.AspNetCore.Components.Web 7 | @using Microsoft.JSInterop 8 | @using Microsoft.Tye.Hosting 9 | @using Microsoft.Tye.Hosting.Dashboard.Shared 10 | @using Microsoft.Tye.Hosting.Dashboard.Pages 11 | @using Microsoft.Tye.Hosting.Model 12 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/IApplicationProcessor.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.Threading.Tasks; 6 | using Microsoft.Tye.Hosting.Model; 7 | 8 | namespace Microsoft.Tye.Hosting 9 | { 10 | public interface IApplicationProcessor 11 | { 12 | Task StartAsync(Application application); 13 | 14 | Task StopAsync(Application application); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Model/IngressStatus.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Linq; 8 | using System.Threading.Tasks; 9 | 10 | namespace Microsoft.Tye.Hosting.Model 11 | { 12 | public class IngressStatus : ReplicaStatus 13 | { 14 | public IngressStatus(Service service, string name) : base(service, name) 15 | { 16 | } 17 | 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Model/ReplicaBinding.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye.Hosting.Model 6 | { 7 | public class ReplicaBinding 8 | { 9 | public int Port { get; set; } 10 | public int ExternalPort { get; set; } 11 | public string? Protocol { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Model/ReplicaState.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye.Hosting.Model 6 | { 7 | public enum ReplicaState 8 | { 9 | Removed, 10 | Added, 11 | Started, 12 | Stopped, 13 | Healthy, 14 | Ready 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Model/RunInfo.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye.Hosting.Model 6 | { 7 | public abstract class RunInfo 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Model/ServiceStatus.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye.Hosting.Model 6 | { 7 | public class ServiceStatus 8 | { 9 | public string? ProjectFilePath { get; set; } 10 | public string? ExecutablePath { get; set; } 11 | public string? Args { get; set; } 12 | public string? WorkingDirectory { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Model/ServiceType.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye.Hosting.Model 6 | { 7 | public enum ServiceType 8 | { 9 | External, 10 | Project, 11 | Executable, 12 | Container, 13 | Function, 14 | Ingress 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Model/V1/V1Application.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye.Hosting.Model.V1 6 | { 7 | public class V1Application 8 | { 9 | public string? Id { get; set; } 10 | 11 | public string? Name { get; set; } 12 | 13 | public string? Source { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Model/V1/V1ConfigurationSource.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye.Hosting.Model.V1 6 | { 7 | public class V1ConfigurationSource 8 | { 9 | public string? Name { get; set; } 10 | public string? Value { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Model/V1/V1DockerVolume.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Microsoft.Tye.Hosting.Model.V1 7 | { 8 | public class V1DockerVolume 9 | { 10 | public string? Name { get; set; } 11 | public string? Source { get; set; } 12 | public string? Target { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Model/V1/V1Metric.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye.Hosting.Model.V1 6 | { 7 | public class V1Metric 8 | { 9 | public string? Name { get; set; } 10 | public string? Value { get; set; } 11 | public V1MetricMetadata? Metadata { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Model/V1/V1MetricMetadata.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye.Hosting.Model.V1 6 | { 7 | public class V1MetricMetadata 8 | { 9 | public string? Instance { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Model/V1/V1RunInfoType.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye.Hosting.Model.V1 6 | { 7 | public enum V1RunInfoType 8 | { 9 | Project, 10 | Executable, 11 | Docker 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Model/V1/V1ServiceMetrics.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.Collections.Generic; 6 | 7 | namespace Microsoft.Tye.Hosting.Model.V1 8 | { 9 | public class V1ServiceMetrics 10 | { 11 | public string? Service { get; set; } 12 | public List? Metrics { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Model/V1/V1ServiceStatus.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Tye.Hosting.Model.V1 6 | { 7 | public class V1ServiceStatus 8 | { 9 | public string? ProjectFilePath { get; set; } 10 | public string? ExecutablePath { get; set; } 11 | public string? Args { get; set; } 12 | public string? WorkingDirectory { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true 5 | }, 6 | "profiles": { 7 | "Tye.Hosting": { 8 | "commandName": "Project", 9 | "launchBrowser": true, 10 | "environmentVariables": { 11 | "ASPNETCORE_ENVIRONMENT": "Development" 12 | }, 13 | "applicationUrl": "http://localhost:5001" 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Watch/IFileSet.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.Collections.Generic; 6 | 7 | namespace Microsoft.DotNet.Watcher 8 | { 9 | public interface IFileSet : IEnumerable 10 | { 11 | bool Contains(string filePath); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Watch/IFileSetFactory.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.Threading; 6 | using System.Threading.Tasks; 7 | 8 | namespace Microsoft.DotNet.Watcher 9 | { 10 | public interface IFileSetFactory 11 | { 12 | Task CreateAsync(CancellationToken cancellationToken); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/Watch/Internal/FileWatcher/FileWatcherFactory.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System; 6 | 7 | namespace Microsoft.DotNet.Watcher.Internal 8 | { 9 | public static class FileWatcherFactory 10 | { 11 | public static IFileSystemWatcher CreateWatcher(string watchedDirectory) 12 | => new DotnetFileWatcher(watchedDirectory); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/src/Microsoft.Tye.Hosting/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/src/Microsoft.Tye.Hosting/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/src/Microsoft.Tye.Hosting/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/src/Microsoft.Tye.Hosting/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/src/Microsoft.Tye.Hosting/wwwroot/favicon.ico -------------------------------------------------------------------------------- /src/Microsoft.Tye.Hosting/wwwroot/js/utilities.js: -------------------------------------------------------------------------------- 1 | /** Scroll to the bottom of the input element */ 2 | function scrollToBottom(elementId) { 3 | var elem = document.getElementById(elementId); 4 | 5 | elem.scrollTop = elem.scrollHeight; 6 | } -------------------------------------------------------------------------------- /src/schema/README.md: -------------------------------------------------------------------------------- 1 | # Schema 2 | 3 | Configuring a schema for tye.yaml 4 | 5 | 1. Install the [Yaml](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml) extension. 6 | 2. Open VS Code's settings (`CTRL+,`) 7 | 3. Add a mapping for our schema. 8 | 9 | ```js 10 | { 11 | "yaml.schemas": { 12 | "https://raw.githubusercontent.com/dotnet/tye/main/src/schema/tye-schema.json": [ 13 | "tye.yaml" 14 | ] 15 | } 16 | } 17 | ``` 18 | -------------------------------------------------------------------------------- /src/tye-diag-agent/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/dotnet/core/runtime:3.1 2 | WORKDIR /app 3 | 4 | # We need `ps` 5 | RUN apt-get update \ 6 | && apt-get install -y procps \ 7 | && rm -rf /var/lib/apt/lists/* 8 | 9 | COPY . . 10 | ENTRYPOINT ["dotnet", "tye-diag-agent.dll"] -------------------------------------------------------------------------------- /src/tye-diag-agent/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "tye_diag_agent": { 4 | "commandName": "Project", 5 | "environmentVariables": { 6 | "DOTNET_ENVIRONMENT": "Development" 7 | } 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/tye-diag-agent/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "Microsoft": "Warning", 6 | "Microsoft.Tye": "Debug", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/tye-diag-agent/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Tye": "Information", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/tye/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "tye": { 4 | "commandName": "Project", 5 | "commandLineArgs": "run", 6 | "workingDirectory": "..\\..\\samples\\frontend-backend\\" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /test/Directory.Build.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | false 6 | false 7 | 8 | -------------------------------------------------------------------------------- /test/E2ETest/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using Xunit; 6 | 7 | // We have numerous tests that manipulate machine-wide state (docker, ports, etc) 8 | [assembly: CollectionBehavior(CollectionBehavior.CollectionPerAssembly, DisableTestParallelization = true)] 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/init/console-normalization-svc-name.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | # 4 | # when you've given us a try, we'd love to know what you think: 5 | # https://aka.ms/AA7q20u 6 | # 7 | name: console.normalization.svc.name 8 | services: 9 | - name: console-normalization-svc-name 10 | project: Console.Normalization.svc.Name.csproj 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/init/frontend-backend.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | # 4 | # when you've given us a try, we'd love to know what you think: 5 | # https://aka.ms/AA7q20u 6 | # 7 | name: frontend-backend 8 | services: 9 | - name: backend 10 | project: backend/backend.csproj 11 | - name: frontend 12 | project: frontend/frontend.csproj 13 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/init/multi-project.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | # 4 | # when you've given us a try, we'd love to know what you think: 5 | # https://aka.ms/AA7q20u 6 | # 7 | name: multi-project 8 | services: 9 | - name: backend 10 | project: backend/backend.csproj 11 | - name: frontend 12 | project: frontend/frontend.csproj 13 | - name: worker 14 | project: worker/worker.csproj 15 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/init/project-types.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | # 4 | # when you've given us a try, we'd love to know what you think: 5 | # https://aka.ms/AA7q20u 6 | # 7 | name: project-types 8 | services: 9 | - name: app 10 | project: app/app.csproj 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/Console.Normalization.svc.Name/Console.Normalization.svc.Name.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net6.0 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/Console.Normalization.svc.Name/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Console.Normalization.svc.Name 4 | { 5 | class Program 6 | { 7 | static void Main(string[] args) 8 | { 9 | Console.WriteLine("Hello World!"); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/Directory.Build.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | $(MSBuildThisFileDirectory)..\..\..\..\src\ 7 | 8 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/apps-with-ingress/ApplicationA/ApplicationA.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/apps-with-ingress/ApplicationA/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/apps-with-ingress/ApplicationA/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/apps-with-ingress/ApplicationB/ApplicationB.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/apps-with-ingress/ApplicationB/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/apps-with-ingress/ApplicationB/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/apps-with-ingress/ApplicationC-UI/ApplicationC-UI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/apps-with-ingress/ApplicationC-UI/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/apps-with-ingress/ApplicationC-UI/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/apps-with-ingress/ApplicationC-UI/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | Hello world -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/apps-with-ingress/tye-ip_test.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | # 4 | # when you've given us a try, we'd love to know what you think: 5 | # https://aka.ms/AA7q20u 6 | # 7 | name: apps-with-ingress-allip-ui 8 | ingress: 9 | - name: ingress 10 | bindings: 11 | - port: 8080 12 | ip: __TEST_IP_STRING__ 13 | rules: 14 | - host: ui.example.com 15 | service: appC-ui 16 | 17 | services: 18 | - name: appC-ui 19 | project: ApplicationC-UI/ApplicationC-UI.csproj 20 | replicas: 2 -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/apps-with-ingress/tye-ui.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | # 4 | # when you've given us a try, we'd love to know what you think: 5 | # https://aka.ms/AA7q20u 6 | # 7 | name: apps-with-ingress-ui 8 | ingress: 9 | - name: ingress 10 | bindings: 11 | - port: 8080 12 | rules: 13 | - host: ui.example.com 14 | service: appC-ui 15 | 16 | services: 17 | - name: appC-ui 18 | project: ApplicationC-UI/ApplicationC-UI.csproj 19 | replicas: 2 -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/azure-functions/backend/host.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0", 3 | "logging": { 4 | "applicationInsights": { 5 | "samplingExcludedTypes": "Request", 6 | "samplingSettings": { 7 | "isEnabled": true 8 | } 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/azure-functions/backend/local.settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "IsEncrypted": false, 3 | "Values": { 4 | "AzureWebJobsStorage": "UseDevelopmentStorage=true", 5 | "FUNCTIONS_WORKER_RUNTIME": "dotnet" 6 | } 7 | } -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/azure-functions/frontend/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/azure-functions/frontend/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/azure-functions/frontend/frontend.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | Frontend 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/azure-functions/tye-debug-configuration.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: frontend-backend 4 | services: 5 | - name: backend 6 | project: backend/backend.csproj 7 | buildProperties: 8 | - name: Configuration 9 | value: Debug 10 | - name: frontend 11 | project: frontend/frontend.csproj 12 | buildProperties: 13 | - name: Configuration 14 | value: Debug 15 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/azure-functions/tye-release-configuration.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: frontend-backend 4 | services: 5 | - name: backend 6 | project: backend/backend.csproj 7 | buildProperties: 8 | - name: Configuration 9 | value: Release 10 | - name: frontend 11 | project: frontend/frontend.csproj 12 | buildProperties: 13 | - name: Configuration 14 | value: Release 15 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/azure-functions/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: frontend-backend 4 | services: 5 | - name: backend 6 | azureFunction: backend/ 7 | pathToFunc: /npm/node_modules/node_modules/azure-functions-core-tools/bin/func.dll 8 | - name: frontend 9 | project: frontend/frontend.csproj 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/dapr/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/dapr/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/dapr/dapr.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/dapr/tye.yaml: -------------------------------------------------------------------------------- 1 | name: dapr_test_application 2 | extensions: 3 | - name: dapr 4 | config: tracing 5 | log-level: debug 6 | services: 7 | - name: dapr-test-project 8 | project: dapr.csproj -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/dockerfile/backend/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:10 2 | 3 | # Create app directory 4 | WORKDIR /usr/src/app 5 | 6 | # Install app dependencies 7 | # A wildcard is used to ensure both package.json AND package-lock.json are copied 8 | # where available (npm@5+) 9 | COPY package*.json ./ 10 | 11 | RUN npm install 12 | # If you are building your code for production 13 | # RUN npm ci --only=production 14 | 15 | # Bundle app source 16 | COPY . . 17 | 18 | CMD [ "node", "app.js" ] -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/dockerfile/backend/app.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var http = require('http'); 3 | var app = express(); 4 | 5 | app.get('/', function (req, res) { 6 | res.send('Hello World!'); 7 | }); 8 | http.createServer(app).listen(80, function () { 9 | console.log('Example app listening on port 80!'); 10 | }); -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/dockerfile/backend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "backend", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "app.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "express": "^4.17.1" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/dockerfile/frontend/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/dockerfile/frontend/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/dockerfile/frontend/frontend.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | Frontend 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/dockerfile/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: frontend-backend 4 | services: 5 | - name: backend 6 | dockerFile: backend/Dockerfile 7 | bindings: 8 | - containerPort: 80 9 | protocol: http 10 | - name: frontend 11 | project: frontend/frontend.csproj 12 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/dotnet-env-vars/test-project/test-project.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | test_project 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/dotnet-env-vars/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: dotnet-env-vars 4 | dashboardPort: 8005 5 | services: 6 | - name: test-project 7 | project: test-project/test-project.csproj 8 | env: 9 | - name: DOTNET_ENVIRONMENT 10 | value: "dev" 11 | - name: ASPNETCORE_ENVIRONMENT 12 | value: "dev" 13 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/frontend-backend/backend/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/frontend-backend/backend/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/frontend-backend/backend/backend.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | Backend 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/frontend-backend/frontend/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/frontend-backend/frontend/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/frontend-backend/frontend/frontend.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | Frontend 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/frontend-backend/tye-debug-configuration.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: frontend-backend 4 | services: 5 | - name: backend 6 | project: backend/backend.csproj 7 | buildProperties: 8 | - name: Configuration 9 | value: Debug 10 | - name: frontend 11 | project: frontend/frontend.csproj 12 | buildProperties: 13 | - name: Configuration 14 | value: Debug 15 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/frontend-backend/tye-release-configuration.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: frontend-backend 4 | services: 5 | - name: backend 6 | project: backend/backend.csproj 7 | buildProperties: 8 | - name: Configuration 9 | value: Release 10 | - name: frontend 11 | project: frontend/frontend.csproj 12 | buildProperties: 13 | - name: Configuration 14 | value: Release 15 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/frontend-backend/tye-wrong-projectpath.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: frontend-backend 4 | services: 5 | - name: backend 6 | project: backend1/backend.csproj 7 | - name: frontend 8 | project: frontend/frontend.csproj 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/frontend-backend/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: frontend-backend 4 | services: 5 | - name: backend 6 | project: backend/backend.csproj 7 | - name: frontend 8 | project: frontend/frontend.csproj 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/generate-connectionstring-dependency/frontend/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/generate-connectionstring-dependency/frontend/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/generate-connectionstring-dependency/frontend/frontend.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/generate-connectionstring-dependency/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | # 4 | # when you've given us a try, we'd love to know what you think: 5 | # https://aka.ms/AA7q20u 6 | # 7 | name: generate-connectionstring-dependency 8 | services: 9 | - name: frontend 10 | project: frontend/frontend.csproj 11 | - name: dependency 12 | image: fake-image # not actually used for running 13 | bindings: 14 | - connectionString: test # need something here to create a binding -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/generate-named-binding/frontend/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/generate-named-binding/frontend/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/generate-named-binding/frontend/frontend.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/generate-named-binding/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | # 4 | # when you've given us a try, we'd love to know what you think: 5 | # https://aka.ms/AA7q20u 6 | # 7 | name: generate-named-binding 8 | services: 9 | - name: frontend 10 | project: frontend/frontend.csproj 11 | - name: dependency 12 | image: fake-image # not actually used for running 13 | bindings: 14 | - name: myBinding -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/generate-uri-dependency/frontend/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/generate-uri-dependency/frontend/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/generate-uri-dependency/frontend/frontend.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/generate-uri-dependency/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | # 4 | # when you've given us a try, we'd love to know what you think: 5 | # https://aka.ms/AA7q20u 6 | # 7 | name: generate-uri-dependency 8 | services: 9 | - name: frontend 10 | project: frontend/frontend.csproj 11 | - name: dependency 12 | image: fake-image # not actually used for running 13 | bindings: 14 | - port: 8001 # need something here to create a binding 15 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/health-checks/api/api.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/health-checks/api/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/health-checks/api/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/health-checks/tye-liveness.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: health-checks 4 | services: 5 | - name: health-liveness 6 | project: api/api.csproj 7 | replicas: 3 8 | liveness: 9 | http: 10 | path: /healthy 11 | initialDelay: 5 12 | period: 1 13 | timeout: 1 14 | successThreshold: 1 15 | failureThreshold: 1 -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/health-checks/tye-none.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: health-checks 4 | services: 5 | - name: health-none 6 | project: api/api.csproj 7 | replicas: 3 8 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/health-checks/tye-readiness.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: health-checks 4 | services: 5 | - name: health-readiness 6 | project: api/api.csproj 7 | replicas: 3 8 | readiness: 9 | http: 10 | path: /ready 11 | initialDelay: 5 12 | period: 1 13 | timeout: 1 14 | successThreshold: 1 15 | failureThreshold: 1 -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-phase-dockerfile/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-phase-dockerfile/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-phase-dockerfile/multi-phase-dockerfile.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | multi_phase_dockerfile 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-phase-dockerfile/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | # 4 | # when you've given us a try, we'd love to know what you think: 5 | # https://aka.ms/AA7q20u 6 | # 7 | name: multi-phase-dockerfile 8 | services: 9 | - name: multi-phase-dockerfile 10 | project: multi-phase-dockerfile.csproj 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-project/backend/IOrderService.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.ServiceModel; 6 | using System.Threading.Tasks; 7 | 8 | namespace Shared 9 | { 10 | [ServiceContract] 11 | public interface IOrderService 12 | { 13 | ValueTask PlaceOrderAsync(Order order); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-project/backend/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-project/backend/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-project/frontend/IOrderService.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.ServiceModel; 6 | using System.Threading.Tasks; 7 | 8 | namespace Shared 9 | { 10 | [ServiceContract] 11 | public interface IOrderService 12 | { 13 | ValueTask PlaceOrderAsync(Order order); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-project/frontend/Pages/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model IndexModel 3 | @{ 4 | ViewData["Title"] = "Home page"; 5 | } 6 | 7 |
8 |

Welcome

9 |

Learn about building Web apps with ASP.NET Core.

10 |
11 | 12 |
13 | 14 |
-------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-project/frontend/Pages/Privacy.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model PrivacyModel 3 | @{ 4 | ViewData["Title"] = "Privacy Policy"; 5 | } 6 |

@ViewData["Title"]

7 | 8 |

Use this page to detail your site's privacy policy.

9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-project/frontend/Pages/Shared/_ValidationScriptsPartial.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-project/frontend/Pages/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Frontend 2 | @namespace Frontend.Pages 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-project/frontend/Pages/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-project/frontend/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-project/frontend/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-project/frontend/frontend.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-project/frontend/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/test/E2ETest/testassets/projects/multi-project/frontend/wwwroot/favicon.ico -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-project/frontend/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification 2 | // for details on configuring this project to bundle and minify static web assets. 3 | 4 | // Write your Javascript code. 5 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-project/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: multi-project 4 | services: 5 | - name: backend 6 | project: backend/backend.csproj 7 | bindings: 8 | - port: 7000 9 | - name: frontend 10 | project: frontend/frontend.csproj 11 | replicas: 2 12 | bindings: 13 | - port: 8000 14 | - name: worker 15 | project: worker/worker.csproj 16 | - name: rabbit 17 | image: rabbitmq:3-management 18 | bindings: 19 | - protocol: amqp 20 | port: 5672 -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-project/worker/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "worker": { 4 | "commandName": "Project", 5 | "environmentVariables": { 6 | "DOTNET_ENVIRONMENT": "Development" 7 | } 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-project/worker/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-project/worker/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-targetframeworks/multi-targetframeworks/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-targetframeworks/multi-targetframeworks/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-targetframeworks/multi-targetframeworks/multi-targetframeworks.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp3.1;netcoreapp2.1 5 | MultiTargetFrameworks 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-targetframeworks/tye-no-buildproperties.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: multi-targetframeworks 4 | services: 5 | - name: multi-targetframeworks 6 | project: multi-targetframeworks/multi-targetframeworks.csproj 7 | bindings: 8 | - port: 7000 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-targetframeworks/tye-with-netcoreapp21.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: multi-targetframeworks 4 | services: 5 | - name: multi-targetframeworks 6 | project: multi-targetframeworks/multi-targetframeworks.csproj 7 | buildProperties: 8 | - name: TargetFramework 9 | value: netcoreapp2.1 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multi-targetframeworks/tye-with-netcoreapp31.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: multi-targetframeworks 4 | services: 5 | - name: multi-targetframeworks 6 | project: multi-targetframeworks/multi-targetframeworks.csproj 7 | buildProperties: 8 | - name: TargetFramework 9 | value: netcoreapp3.1 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/results/App.razor: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Sorry, there's nothing at this address.

8 |
9 |
10 |
11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/results/Data/VotingResults.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Results 7 | { 8 | public class VotingResult 9 | { 10 | public string Vote { get; set; } 11 | public int Count { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/results/Shared/MainLayout.razor: -------------------------------------------------------------------------------- 1 | @inherits LayoutComponentBase 2 | 3 |
4 |
5 | @Body 6 |
7 |
8 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/results/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Authorization 3 | @using Microsoft.AspNetCore.Components.Authorization 4 | @using Microsoft.AspNetCore.Components.Forms 5 | @using Microsoft.AspNetCore.Components.Routing 6 | @using Microsoft.AspNetCore.Components.Web 7 | @using Microsoft.JSInterop 8 | @using Results 9 | @using Results.Shared 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/results/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/results/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/results/tye.yaml: -------------------------------------------------------------------------------- 1 | name: VotingSample 2 | services: 3 | - name: worker 4 | include: ../worker/tye.yaml 5 | - name: results 6 | project: results.csproj 7 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/results/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/test/E2ETest/testassets/projects/multirepo/results/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/results/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/test/E2ETest/testassets/projects/multirepo/results/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/results/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/test/E2ETest/testassets/projects/multirepo/results/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/results/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/test/E2ETest/testassets/projects/multirepo/results/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/results/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/test/E2ETest/testassets/projects/multirepo/results/wwwroot/favicon.ico -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/vote/Pages/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Vote 2 | @using Microsoft.Extensions.Configuration 3 | @namespace Vote.Pages 4 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 5 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/vote/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Information", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/vote/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Information", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*", 10 | "OptionA": "Dogs", 11 | "OptionB": "Cats" 12 | } 13 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/vote/tye.yaml: -------------------------------------------------------------------------------- 1 | name: VotingSample 2 | services: 3 | - name: vote 4 | project: vote.csproj 5 | - name: worker 6 | include: ../worker/tye.yaml 7 | - name: redis 8 | image: redis 9 | bindings: 10 | - port: 6379 11 | connectionString: ${host}:${port} 12 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/vote/vote.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | Vote 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/vote/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/test/E2ETest/testassets/projects/multirepo/vote/wwwroot/favicon.ico -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/worker/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "worker": { 4 | "commandName": "Project", 5 | "environmentVariables": { 6 | "DOTNET_ENVIRONMENT": "Development" 7 | } 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/worker/ResultsHub.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Microsoft.AspNetCore.SignalR; 5 | 6 | namespace Worker 7 | { 8 | public class ResultsHub : Hub 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/worker/VoteCount.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Worker 7 | { 8 | public class VoteCount 9 | { 10 | public string Vote { get; set; } 11 | public int Count { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/worker/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/worker/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/multirepo/worker/tye.yaml: -------------------------------------------------------------------------------- 1 | name: VotingSample 2 | services: 3 | - name: redis 4 | image: redis 5 | bindings: 6 | - port: 6379 7 | connectionString: ${host}:${port} 8 | - name: worker 9 | project: worker.csproj 10 | - name: postgres 11 | image: postgres 12 | env: 13 | - name: POSTGRES_PASSWORD 14 | value: "pass@word1" 15 | bindings: 16 | - port: 5432 17 | connectionString: Server=${host};Port=${port};User Id=postgres;Password=${env:POSTGRES_PASSWORD}; 18 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/nginx-ingress/ApplicationA/ApplicationA.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/nginx-ingress/ApplicationA/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/nginx-ingress/ApplicationA/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/nginx-ingress/ApplicationB/ApplicationB.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/nginx-ingress/ApplicationB/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/nginx-ingress/ApplicationB/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/nginx-ingress/tye.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | - name: nginx 3 | image: nginx 4 | bindings: 5 | - protocol: http 6 | volumes: 7 | - source: nginx.conf 8 | target: /etc/nginx/conf.d/default.conf 9 | - name: appA 10 | project: ApplicationA/ApplicationA.csproj 11 | replicas: 2 12 | - name: appB 13 | project: ApplicationB/ApplicationB.csproj 14 | replicas: 2 15 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/non-standard-dashboard-port-5.0/test-project/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/non-standard-dashboard-port-5.0/test-project/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/non-standard-dashboard-port-5.0/test-project/test-project.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp5.0 5 | test_project 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/non-standard-dashboard-port-5.0/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: non-standard-dashboard-port 4 | dashboardPort: 8006 5 | services: 6 | - name: test-project 7 | project: test-project/test-project.csproj 8 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/non-standard-dashboard-port/test-project/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/non-standard-dashboard-port/test-project/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/non-standard-dashboard-port/test-project/test-project.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | test_project 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/non-standard-dashboard-port/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: non-standard-dashboard-port 4 | dashboardPort: 8005 5 | services: 6 | - name: test-project 7 | project: test-project/test-project.csproj 8 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/project-types/app/app.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/project-types/app/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/project-types/app/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/project-types/class-library/class-library.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | class_library 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/project-types/test-project/UnitTest1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Xunit; 3 | 4 | namespace test_project 5 | { 6 | public class UnitTest1 7 | { 8 | [Fact] 9 | public void Test1() 10 | { 11 | 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-phase-dockerfile-args-duplicates/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/dotnet/aspnet:6.0 2 | WORKDIR /app 3 | COPY . /app 4 | ENTRYPOINT ["dotnet", "single-phase-dockerfile-args.dll"] -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-phase-dockerfile-args-duplicates/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-phase-dockerfile-args-duplicates/single-phase-dockerfile-args.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | single_phase_dockerfile_args 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-phase-dockerfile-args-duplicates/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | # 4 | # when you've given us a try, we'd love to know what you think: 5 | # https://aka.ms/AA7q20u 6 | # 7 | name: single-phase-dockerfile-args 8 | services: 9 | - name: web 10 | dockerFile: Dockerfile 11 | dockerFileArgs: 12 | - pat: thisisapat 13 | - pat: thisisapat 14 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-phase-dockerfile-args/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/dotnet/aspnet:6.0 2 | WORKDIR /app 3 | COPY . /app 4 | ENTRYPOINT ["dotnet", "single-phase-dockerfile-args.dll"] -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-phase-dockerfile-args/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-phase-dockerfile-args/single-phase-dockerfile-args.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | single_phase_dockerfile_args 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-phase-dockerfile-args/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | # 4 | # when you've given us a try, we'd love to know what you think: 5 | # https://aka.ms/AA7q20u 6 | # 7 | name: single-phase-dockerfile-args 8 | services: 9 | - name: web 10 | dockerFile: Dockerfile 11 | dockerFileArgs: 12 | - pat: thisisapat 13 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-phase-dockerfile-multi-args/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 2 | WORKDIR /app 3 | COPY . /app 4 | ENTRYPOINT ["dotnet", "single-phase-dockerfile-args.dll"] -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-phase-dockerfile-multi-args/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-phase-dockerfile-multi-args/single-phase-dockerfile-multi-args.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | single_phase_dockerfile_args 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-phase-dockerfile-multi-args/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | # 4 | # when you've given us a try, we'd love to know what you think: 5 | # https://aka.ms/AA7q20u 6 | # 7 | name: single-phase-dockerfile-args 8 | services: 9 | - name: web 10 | dockerFile: Dockerfile 11 | dockerFileArgs: 12 | - pat: thisisapat 13 | number_of_replicas: 2 14 | number_of_shards: 5 15 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-phase-dockerfile/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/dotnet/aspnet:6.0 2 | WORKDIR /app 3 | COPY . /app 4 | ENTRYPOINT ["dotnet", "single-phase-dockerfile.dll"] -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-phase-dockerfile/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-phase-dockerfile/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-phase-dockerfile/single-phase-dockerfile.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | single_phase_dockerfile 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-phase-dockerfile/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | # 4 | # when you've given us a try, we'd love to know what you think: 5 | # https://aka.ms/AA7q20u 6 | # 7 | name: single-phase-dockerfile 8 | services: 9 | - name: single-phase-dockerfile 10 | project: single-phase-dockerfile.csproj 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-project-5.0/test-project/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-project-5.0/test-project/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-project-5.0/test-project/test-project.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp5.0 5 | test_project 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-project-5.0/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: single-project 4 | services: 5 | - name: test-project 6 | project: test-project/test-project.csproj 7 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-project/test-project/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-project/test-project/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-project/test-project/test-project.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | test_project 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/single-project/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | name: single-project 4 | services: 5 | - name: test-project 6 | project: test-project/test-project.csproj 7 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/volume-test/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/volume-test/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/volume-test/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | # 4 | # when you've given us a try, we'd love to know what you think: 5 | # https://aka.ms/AA7q20u 6 | # 7 | name: volume-test 8 | services: 9 | - name: volume-test 10 | project: volume-test.csproj 11 | volumes: 12 | - name: data-vol 13 | target: /data -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/volume-test/volume-test.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | volume_test 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/web-app/Pages/Index.cshtml: -------------------------------------------------------------------------------- 1 | @page 2 | @model IndexModel 3 | @{ 4 | ViewData["Title"] = "Home page"; 5 | } 6 | 7 |
8 |

Welcome

9 |

Learn about building Web apps with ASP.NET Core.

10 |
11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/web-app/Pages/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using web_app 2 | @namespace web_app.Pages 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/web-app/Pages/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/web-app/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/web-app/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/web-app/tye.yaml: -------------------------------------------------------------------------------- 1 | # tye application configuration file 2 | # read all about it at https://github.com/dotnet/tye 3 | # 4 | # when you've given us a try, we'd love to know what you think: 5 | # https://aka.ms/AA7q20u 6 | # 7 | name: web-app 8 | services: 9 | - name: web-app 10 | project: web-app.csproj 11 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/web-app/web-app.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | web_app 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/E2ETest/testassets/projects/web-app/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotnet/tye/75465614e67b5f1e500d1f8b1cb70af22c0c683e/test/E2ETest/testassets/projects/web-app/wwwroot/favicon.ico -------------------------------------------------------------------------------- /test/Test.Infrastructure/ITestCondition.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Test.Infrastructure 6 | { 7 | public interface ITestCondition 8 | { 9 | bool IsMet { get; } 10 | 11 | string SkipReason { get; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /test/Test.Infrastructure/Logging/BeginScopeContext.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Extensions.Logging.Testing 6 | { 7 | public class BeginScopeContext 8 | { 9 | public object Scope { get; set; } 10 | 11 | public string LoggerName { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /test/Test.Infrastructure/StringExtensions.cs: -------------------------------------------------------------------------------- 1 | namespace System 2 | { 3 | public static class StringExtensions 4 | { 5 | public static string NormalizeNewLines(this string value) 6 | { 7 | return value 8 | .Replace("\r\n", "\n") 9 | .Replace("\n", Environment.NewLine); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/Test.Infrastructure/xunit/IEnvironmentVariable.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Testing 5 | { 6 | internal interface IEnvironmentVariable 7 | { 8 | string Get(string name); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/Test.Infrastructure/xunit/ITestCondition.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | namespace Microsoft.AspNetCore.Testing 5 | { 6 | public interface ITestCondition 7 | { 8 | bool IsMet { get; } 9 | 10 | string SkipReason { get; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /test/Test.Infrastructure/xunit/OperatingSystems.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System; 5 | 6 | namespace Microsoft.AspNetCore.Testing 7 | { 8 | [Flags] 9 | public enum OperatingSystems 10 | { 11 | Linux = 1, 12 | MacOSX = 2, 13 | Windows = 4, 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/Test.Infrastructure/xunit/RuntimeFrameworks.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) .NET Foundation. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 3 | 4 | using System; 5 | 6 | namespace Microsoft.AspNetCore.Testing 7 | { 8 | [Flags] 9 | public enum RuntimeFrameworks 10 | { 11 | None = 0, 12 | Mono = 1 << 0, 13 | CLR = 1 << 1, 14 | CoreCLR = 1 << 2 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/UnitTests/testassets/envfile_a.env: -------------------------------------------------------------------------------- 1 | env1=value1 2 | # Ignore comment 3 | env2 = value2 -------------------------------------------------------------------------------- /test/UnitTests/testassets/envfile_b.env: -------------------------------------------------------------------------------- 1 | env3 = "long string" --------------------------------------------------------------------------------