* 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
Fixes: #189Fixes: #153
This change rejiggers the docker build infrastructure to publish the project
and generate a Dockerfile in the same directory. This way they can't be on
separate drives!
Also added some focused tests for single-phase docker build.
* Use msbuild project info for running
- This fixes several subtle bugs around how we resolve output paths adhoc and uses msbuild to find various outputs.
Fixes#184
Merged the data model we use for m8s features with the features
that come from rynowak/opulence. The `ApplicationBuilder` type (and related
types) now capture all of the details we use for everything.
There's a lot of just moving stuff around in this change - the goal
is to have a separate data model for:
- The config we read
- The representation we mutate
- The data model used by Tye.Hosting
So in this PR there's a lot of righthand/lefthand.
This replaces the (dirty) technique of target-based injection with
hosting MSBuild in process.
This is a speedup of about 800ms per project for every project past the first
one. Given that Tye is for microservices, hopefully you have more than one
project.