# dotnet/tye

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/dotnet-tye).**

5,216 stars · 513 forks · C# · MIT · archived

## Links

- GitHub: https://github.com/dotnet/tye
- awesome-repositories: https://awesome-repositories.com/repository/dotnet-tye.md

## Description

Tye is a local development orchestrator and distributed application manager designed for .NET microservices. It coordinates the startup and communication of multiple services, including frontends, backends, and databases, allowing them to run as isolated containers on a local host with a single command.

The tool distinguishes itself by automating service discovery and network address resolution, removing the need for hardcoded URLs between services. It also handles the transition from local development to production by containerizing applications and generating the manifests required for Kubernetes deployment.

Broad capabilities include mapping source code directories to service definitions, injecting environment variables at runtime, and integrating external infrastructure dependencies such as Redis and MongoDB. It further supports multi-repository project management and connects distributed applications to external observability stacks for logging and tracing.

## Tags

### Development Tools & Productivity

- [Distributed Application Managers](https://awesome-repositories.com/f/development-tools-productivity/distributed-application-managers.md) — Provides a comprehensive management system for coordinating service discovery and connectivity across multiple local microservices.
- [Kubernetes Manifest Generators](https://awesome-repositories.com/f/development-tools-productivity/project-configuration/component-manifest-registration/yaml-component-manifests/orchestrator-manifests/kubernetes-manifest-generators.md) — Generates standard Kubernetes YAML resource definitions based on simplified project definitions to automate deployment.
- [Service Definitions](https://awesome-repositories.com/f/development-tools-productivity/targeting-utilities/structured-target-specifications/project-structure-mapping/service-definitions.md) — Automatically maps source code directories to service definitions using a standardized project file structure.
- [Multi-Repository Project Management](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools/version-control-managers/multi-repository-project-management.md) — Defines dependencies and execution logic for applications whose source code is spread across multiple repositories.

### DevOps & Infrastructure

- [Local Development Container Orchestration](https://awesome-repositories.com/f/devops-infrastructure/container-orchestrators/local-development-container-orchestration.md) — Manages the lifecycle and connectivity of multiple services by launching them as isolated containers on a local host.
- [Local Containerized Orchestration](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure/cloud-computing-serverless/development-deployment-environments/local-containerized-orchestration.md) — Runs multiple distributed services and their containerized dependencies locally with a single command. ([source](https://github.com/dotnet/tye#readme))
- [Kubernetes Deployments](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-deployments.md) — Containerizes distributed applications and generates the manifests required for deployment to Kubernetes clusters. ([source](https://github.com/dotnet/tye#readme))
- [Microservices Orchestration](https://awesome-repositories.com/f/devops-infrastructure/microservices-orchestration.md) — Acts as a local development orchestrator for managing the lifecycle, discovery, and routing of .NET microservices.
- [Container Environment Variable Injection](https://awesome-repositories.com/f/devops-infrastructure/cluster-environment-automation/centralized-environment-management/container-environment-variable-injection.md) — Injects configuration and discovery metadata as environment variables into containers at runtime.
- [Infrastructure Dependency Integration](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-dependency-integration.md) — Connects applications to external infrastructure components such as Redis, MongoDB, and Nginx ingress controllers. ([source](https://github.com/dotnet/tye/tree/main/docs))
- [Kubernetes Application Deployments](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-deployments/kubernetes-application-deployments.md) — Packages and deploys microservices to Kubernetes clusters using automated manifest generation.
- [Observability Stacks](https://awesome-repositories.com/f/devops-infrastructure/observability-stacks.md) — Connects distributed applications to external tracing and logging stacks to monitor system behavior. ([source](https://github.com/dotnet/tye/blob/main/docs/README.md))

### Networking & Communication

- [Dynamic Service Discovery](https://awesome-repositories.com/f/networking-communication/dynamic-service-discovery.md) — Automatically assigns and resolves network addresses in real-time for flexible microservices communication.
- [Service Address Resolution](https://awesome-repositories.com/f/networking-communication/service-address-resolution.md) — Translates logical service names into network addresses to enable consistent communication across different environments. ([source](https://github.com/dotnet/tye#readme))
- [Service Discovery](https://awesome-repositories.com/f/networking-communication/service-discovery.md) — Provides automated network address resolution to allow microservices to communicate without hardcoded URLs. ([source](https://github.com/dotnet/tye/tree/main/docs))

### Software Engineering & Architecture

- [Distributed Application Building](https://awesome-repositories.com/f/software-engineering-architecture/distributed-application-building.md) — Provides a framework for building and testing systems with multiple interacting services and shared configurations.
- [Distributed Service Coordination](https://awesome-repositories.com/f/software-engineering-architecture/distributed-service-coordination.md) — Coordinates the startup and communication of multiple distributed services, including frontends, backends, and databases. ([source](https://github.com/dotnet/tye/blob/main/build.cmd))
- [Multi-Repository Coordination](https://awesome-repositories.com/f/software-engineering-architecture/multi-repository-coordination.md) — Defines dependencies and execution logic for applications whose source code is spread across multiple repositories. ([source](https://github.com/dotnet/tye/blob/main/docs/README.md))

### Part of an Awesome List

- [Development Tools](https://awesome-repositories.com/f/awesome-lists/devtools/development-tools.md) — Simplifies development and testing of distributed applications.
