{"id":13486058,"url":"https://github.com/dotnet/tye","last_synced_at":"2026-01-14T03:56:42.682Z","repository":{"id":37089731,"uuid":"243854166","full_name":"dotnet/tye","owner":"dotnet","description":"Tye is a tool that makes developing, testing, and deploying microservices and distributed applications easier. Project Tye includes a local orchestrator to make developing microservices easier and the ability to deploy microservices to Kubernetes with minimal configuration.","archived":true,"fork":false,"pushed_at":"2023-11-20T21:09:49.000Z","size":6454,"stargazers_count":5244,"open_issues_count":394,"forks_count":518,"subscribers_count":167,"default_branch":"main","last_synced_at":"2025-10-19T17:38:58.336Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dotnet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-02-28T21:04:46.000Z","updated_at":"2025-10-13T11:00:05.000Z","dependencies_parsed_at":"2023-02-18T16:46:03.497Z","dependency_job_id":"d548d4bc-c2c6-4d7f-9396-82160d7dfb1c","html_url":"https://github.com/dotnet/tye","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/dotnet/tye","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotnet%2Ftye","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotnet%2Ftye/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotnet%2Ftye/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotnet%2Ftye/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dotnet","download_url":"https://codeload.github.com/dotnet/tye/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotnet%2Ftye/sbom","scorecard":{"id":353164,"data":{"date":"2025-08-11","repo":{"name":"github.com/dotnet/tye","commit":"75465614e67b5f1e500d1f8b1cb70af22c0c683e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.1,"checks":[{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":-1,"reason":"Found no human activity in the last 29 changesets","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/format.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: MIT License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: invalid parameter name: activate.sh:0","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/format.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/dotnet/tye/format.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/format.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/dotnet/tye/format.yml/main?enable=pin","Warn: containerImage not pinned by hash: samples/apps-with-core-angular/MoviesApp/Dockerfile:1","Warn: containerImage not pinned by hash: samples/apps-with-core-angular/MoviesApp/Dockerfile:8: pin your Docker image by updating nginx:alpine to nginx:alpine@sha256:33775db50ff15b07fbca709ad9631c405ed54ee5cea1f8ccc89584ffc89802e3","Warn: containerImage not pinned by hash: samples/azure-functions/voting/worker-function/Dockerfile:1","Warn: containerImage not pinned by hash: samples/azure-functions/voting/worker-function/Dockerfile:10: pin your Docker image by updating mcr.microsoft.com/azure-functions/dotnet:3.0 to mcr.microsoft.com/azure-functions/dotnet:3.0@sha256:1e6870136d8d8c19f8031a8ecad3540cba4a37e4a625d244cce1f2a2a35cc9b1","Warn: containerImage not pinned by hash: samples/dapr/service-invocation/UppercaseService/Dockerfile:1: pin your Docker image by updating node:14 to node:14@sha256:a158d3b9b4e3fa813fa6c8c590b8f0a860e015ad4e59bbce5744d2f6fd8461aa","Warn: containerImage not pinned by hash: src/tye-diag-agent/Dockerfile:1: pin your Docker image by updating mcr.microsoft.com/dotnet/core/runtime:3.1 to mcr.microsoft.com/dotnet/core/runtime:3.1@sha256:bc18c2bf466481a9773822f3d29f681d866f7291895552609e75f2e7d76b9bcb","Warn: containerImage not pinned by hash: test/E2ETest/testassets/projects/dockerfile/backend/Dockerfile:1: pin your Docker image by updating node:10 to node:10@sha256:59531d2835edd5161c8f9512f9e095b1836f7a1fcb0ab73e005ec46047384911","Warn: containerImage not pinned by hash: test/E2ETest/testassets/projects/single-phase-dockerfile-args-duplicates/Dockerfile:1: pin your Docker image by updating mcr.microsoft.com/dotnet/aspnet:6.0 to mcr.microsoft.com/dotnet/aspnet:6.0@sha256:e70c493f8af7f95bf459cb2b15c7e7a6173228929c2b7a9a6836b19377890e78","Warn: containerImage not pinned by hash: test/E2ETest/testassets/projects/single-phase-dockerfile-args/Dockerfile:1: pin your Docker image by updating mcr.microsoft.com/dotnet/aspnet:6.0 to mcr.microsoft.com/dotnet/aspnet:6.0@sha256:e70c493f8af7f95bf459cb2b15c7e7a6173228929c2b7a9a6836b19377890e78","Warn: containerImage not pinned by hash: test/E2ETest/testassets/projects/single-phase-dockerfile-multi-args/Dockerfile:1: pin your Docker image by updating mcr.microsoft.com/dotnet/core/aspnet:3.1 to mcr.microsoft.com/dotnet/core/aspnet:3.1@sha256:e3b773f30a0a6e88d71ce52429f6847627fc9353e491346902ca345760b82bdd","Warn: containerImage not pinned by hash: test/E2ETest/testassets/projects/single-phase-dockerfile/Dockerfile:1: pin your Docker image by updating mcr.microsoft.com/dotnet/aspnet:6.0 to mcr.microsoft.com/dotnet/aspnet:6.0@sha256:e70c493f8af7f95bf459cb2b15c7e7a6173228929c2b7a9a6836b19377890e78","Warn: npmCommand not pinned by hash: samples/apps-with-core-angular/MoviesApp/Dockerfile:6","Warn: npmCommand not pinned by hash: samples/dapr/service-invocation/UppercaseService/Dockerfile:11","Warn: npmCommand not pinned by hash: test/E2ETest/testassets/projects/dockerfile/backend/Dockerfile:11","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  11 containerImage dependencies pinned","Info:   0 out of   3 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":0,"reason":"46 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-hpx4-r86g-5jrg","Warn: Project is vulnerable to: GHSA-prr3-c3m5-p7q2","Warn: Project is vulnerable to: GHSA-c75v-2vq8-878f","Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-qwcr-r2fm-qrc7","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-q9mw-68c2-j6m5","Warn: Project is vulnerable to: GHSA-67mh-4wv8-2f99","Warn: Project is vulnerable to: GHSA-rv95-896h-c2vc","Warn: Project is vulnerable to: GHSA-qw6h-vgh9-j6wx","Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc","Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-c7qv-q95q-8v27","Warn: Project is vulnerable to: GHSA-4www-5p9h-95mh","Warn: Project is vulnerable to: GHSA-9gqv-wp59-fq42","Warn: Project is vulnerable to: GHSA-78xj-cgh5-2h22","Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp","Warn: Project is vulnerable to: GHSA-3rfm-jhwj-7488","Warn: Project is vulnerable to: GHSA-hhq3-ff78-jv3g","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q","Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j","Warn: Project is vulnerable to: GHSA-rhx6-c78j-4q9w","Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg","Warn: Project is vulnerable to: GHSA-76p7-773f-r4q5","Warn: Project is vulnerable to: GHSA-cm22-4g7w-348p","Warn: Project is vulnerable to: GHSA-25hc-qcg6-38wj","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-hc6q-2mpp-qw7j","Warn: Project is vulnerable to: GHSA-4vvj-4cpr-p986","Warn: Project is vulnerable to: GHSA-wr3j-pwj9-hqq6","Warn: Project is vulnerable to: GHSA-4v9v-hfq4-rm2v","Warn: Project is vulnerable to: GHSA-9jgg-88mc-972h","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q","Warn: Project is vulnerable to: GHSA-776f-qx25-q3cc"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-18T08:49:35.975Z","repository_id":37089731,"created_at":"2025-08-18T08:49:35.976Z","updated_at":"2025-08-18T08:49:35.976Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408913,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T18:00:38.772Z","updated_at":"2026-01-14T03:56:42.647Z","avatar_url":"https://github.com/dotnet.png","language":"C#","readme":"# Project Tye\n\nTye is a developer tool that makes developing, testing, and deploying microservices and distributed applications easier. Project Tye includes a local orchestrator to make developing microservices easier and the ability to deploy microservices to Kubernetes with minimal configuration. \n\nTye can:\n\n- Simplify microservices development by making it easy to:\n  - Run many services with one command\n  - Use dependencies in containers\n  - Discover addresses of other services using simple conventions\n- Deploy .NET applications to Kubernetes by:\n  - Automatically containerizing .NET applications\n  - Generating Kubernetes manifests with minimal knowledge or configuration\n  - Using the same conventions as development to keep it consistent\n\nWant to learn more? Check out our [FAQ](docs/FAQ.md) or [documentation](docs/README.md).\n\n## Current Status\n\nProject Tye is an open source experiment at the moment. We are using this time to try radical ideas to improve microservices developer productivity and see what works. \n\nWe plan to do releases with new features roughly every 4 weeks.\n\nFor the duration of the experiment, consider every part of the tye experience to be volatile. We will frequently make additions and changes to features that seem polished. We welcome feedback from anyone who's willing to be an early-adopter with tye; the team wants to know what's working well, and what's missing to build a whole-package .NET microservices developer productivity suite.\n\n---\n\n[![Build Status](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/tye/dotnet-tye-ci-public?branchName=main)](https://dnceng.visualstudio.com/public/_build/latest?definitionId=796\u0026branchName=main)\n\n\n## Getting Started\n\nSee the getting started instructions and tutorials [here](/docs/getting_started.md).\n\n\n## How to Engage, Contribute, and Give Feedback\n\nSome of the best ways to contribute are to try things out, file issues, join in design conversations, and make pull-requests.\n\n- Download our latest daily builds\n- Try tutorials and working with your own projects\n- Log issues if you find problems, or if you have suggestions.\n- Log an issue if you have feedback you want to share with the team.\n\nCheck out the [contributing](/CONTRIBUTING.md) page to see the best places to log issues and start discussions.\n\nThank you for trying out Project Tye! We highly encourage you to provide feedback to help us continue to improve the tool, so we would love to learn more about your experience. Please let us know what you think by filling out our [survey](https://aka.ms/tyesurvey).\n\n## Reporting security issues and bugs\n\nTye is an experimental project, and as such we expect all users to take responsibility for evaluating the security of their own applications.\n\nSecurity issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) secure@microsoft.com. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.\n\n## .NET Foundation\n\nTye is a [.NET Foundation](https://www.dotnetfoundation.org/projects) project.\n\nThis project has adopted the code of conduct defined by the [Contributor Covenant](http://contributor-covenant.org/) to clarify expected behavior in our community. For more information, see the [.NET Foundation Code of Conduct](http://www.dotnetfoundation.org/code-of-conduct).\n\nGeneral .NET OSS discussions: [.NET Foundation forums](https://forums.dotnetfoundation.org)\n\n","funding_links":[],"categories":["Tools and Libraries","C#","others","🗒️ Cheatsheets","C# #","📦 Legacy \u0026 Inactive Projects","C\\#","Configuration Management","Architectural Patterns","Service Toolkits"],"sub_categories":["Other","📦 Libraries","Development Tools","Microservices","CSharp"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotnet%2Ftye","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdotnet%2Ftye","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotnet%2Ftye/lists"}