* Make ports go away
- Make AutoAssignPort true by default for binding and ingress. If a binding is defined auto assign the port. This will of course be ignored if there's a port defined.
- Don't auto assign a port if it's there's a connection string defined.
* Add Dapr integration to Tye
Adds a new `extensions` integration point. Currently all extensbility has
to be inside the Tye codebase. There's no functionality for loading or distributing
plugins.
Enable dapr for an application like:
```yaml
name: test_app
extensions:
- name: dapr
```
The dapr extension currently accepts and requires no additional options, and applies
to all services defined in the application.
What it does:
- In local run: starts a dapr sidecar for each project that does http
- In local run: sidecars start in the directory of tye.yaml, so dapr will look for
component manifests in ./components (relative to tye.yaml
- In deployment: adds required annotations to deployments
Some new features that were added to tye to enable this:
- Config: Ability to parse and conditionally run extensions
- Run: Ability to token replace env-vars into command line args
- Deploy: Ability to configure labels and annotations
* format
* Massage labesl:
* PR feedback
* Fix tests
* Purge hanging replicas
* Use dictionary for event serialization
* Subscribing to replica events instead of waiting for arbitrary time in tests
* Only return list of running containers from DockerAssert
* use IDictionary instead of deserializing to ReplicaStatus when removing stale replicas
* Exit logs loop in DockerRunner if container is killed
* Created a object graph visitor to ignore also empty collections on serialization. Unify creation of serilizer/deserialization objects with specified configuration
* Update OmitDefaultAndEmptyArrayObjectGraphVisitor.cs
* Update YamlSerializer.cs
* Fix tests with EOL issues on different SO #235
Co-authored-by: Justin Kotalik <jkotalik12@gmail.com>
* Improve container base image detection
- Improve ASP.NET project detection to work with netcoreapp2.1 applications
- Grab the target framework name and version from the project separately so we can use the vesion to determine the base image
- Updated Dockerfile generation and tye run --docker to work with different container versions based on the TFM version.
* Remove reading of launch settings
- If bindings are specified, add an http and https binding with autodetect port to true.
- Prefer HTTP over HTTPS for ingress