candoumbe / medeasy Goto Github PK
View Code? Open in Web Editor NEWAn open source health care management system
License: Apache License 2.0
An open source health care management system
License: Apache License 2.0
Is your feature request related to a problem? Please describe.
Being able to partially modify several ressources with a single PATCH operation
Describe the solution you'd like
Adds support for a MultiPatch<TKey, TResource>
that could be represented as following :
The main wrapper
class MultiPatch<TKey, TResource>
{
IEnumerable<MultiPatchItem<TKey, TResource>> Patches { get; set; }
}
Wrapper around one item
class MultiPatchItem<TKey, TResource>>
{
TKey Id { get; set; }
JsonPatchDocument<TResource> Operations { get; set; }
}
This could then be called using a specific application/json-patch-multi+json
mime type handle by a specific MultiPatchMimeTypeInputFormatter
.
Content :
{
"items": [
{
"id": 1,
"operations": [
{
"op": "replace",
"path": "/baz",
"value": "boo"
},
{
"op": "add",
"path": "/hello",
"value": [
"world"
]
},
{
"op": "remove",
"path": "/foo"
}
]
},
{
"id": 2,
"operations": [
{
"op": "replace",
"path": "/baz",
"value": "boo"
},
{
"op": "add",
"path": "/hello",
"value": [
"world"
]
},
{
"op": "remove",
"path": "/foo"
}
]
}
]
}
Describe alternatives you've considered
Making multiple calls (one for set of operations)
There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.
Error type: Cannot find preset's package (config.base)
Adds YARP as a reverse proxy in front off all services
The reverse proxy should be the single point of access to the API
Features :
Remove from all other services HTTPS, caching, authentication etc...
Support for HTTP QUERY
verb.
Replace the direct use of IFilter
by DataFilters.AspNetCore
to take advantage of cache property name resolution and select property names on API responses
Integration tests currently run against Sqlite provider only and directly on the host machine.
To improve bug reproducibility and improve dev experience, they should run inside against a docker image
Try Rabbit MQ and/or Apache MQ for inter service communication
The custom jsonconverter should unwraps the inner value so that
public record StrongGuid(Guid Value) : StronglyTypedId<Guid> {
// code omited for brievity
}
would produces
{ "xxxxxx-xxxx-xxxx-xxxxxx" }
instead of
{
"value" : {
"xxxxxx-xxxx-xxxx-xxxxxx"
}
}
When running any service with Tye, logs are properly written in the console window and visible on docker but not visible in Seq
Is your feature request related to a problem? Please describe.
Identity
currently provides no way of managing Tenant
s
Describe the solution you'd like
A client should not provide tenantId
when handling any resource throughout the system. All resources manage by a client must be scoped to the tenant of the currently connected user.
Describe alternatives you've considered
N/A
Additional context
See .
integration tests fail to run on Github actions with the following error
The specified deps.json [D:\a\MedEasy\MedEasy\src\services\agenda\Agenda.API\bin\Debug\net5.0\Agenda.API.deps.json] does not exist
Full build log
The specified deps.json [D:\a\MedEasy\MedEasy\src\services\agenda\Agenda.API\bin\Debug\net5.0\Agenda.API.deps.json] does not exist
ProcessException: Process 'dotnet.exe' exited with code -2147450751.
> "C:\Program Files\dotnet\dotnet.exe" ef migrations list --project D:\a\MedEasy\MedEasy\src\services\agenda\Agenda.DataStores\Agenda.DataStores.csproj --startup-project D:\a\MedEasy\MedEasy\src\services\agenda\Agenda.API\Agenda.API.csproj --no-build -- --connectionstrings:Agenda="DataSource="D:\a\MedEasy\MedEasy\output\databases\agenda.db""
@ D:\a\MedEasy\MedEasy
Error output:
The specified deps.json [D:\a\MedEasy\MedEasy\src\services\agenda\Agenda.API\bin\Debug\net5.0\Agenda.API.deps.json] does not exist
═══════════════════════════════════════════
Target Status Duration
───────────────────────────────────────────
Restore Succeeded 1:19
Compile Succeeded 1:35
CleanDatabaseFolder Succeeded < 1sec
UpdateDatabases Failed 0:06 // ProcessException: Process 'dotnet.exe' exited with code -2147450751.
> "C:\Program Files\dotnet\dotnet.exe" ef migrations list --project D:\a\MedEasy\MedEasy\src\services\agenda\Agenda.DataStores\Agenda.DataStores.csproj --startup-project D:\a\MedEasy\MedEasy\src\services\agenda\Agenda.API\Agenda.API.csproj --no-build -- --connectionstrings:Agenda="DataSource="D:\a\MedEasy\MedEasy\output\databases\agenda.db""
@ D:\a\MedEasy\MedEasy
Error output:
The specified deps.json [D:\a\MedEasy\MedEasy\src\services\agenda\Agenda.API\bin\Debug\net5.0\Agenda.API.deps.json] does not exist
IntegrationTests NotRun
UnitTests NotRun
───────────────────────────────────────────
Total 3:00
═══════════════════════════════════════════
Build failed on 5/15/2021 9:06:16 AM. (╯°□°)╯︵ ┻━┻
Error: Process completed with exit code 1.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates are currently rate-limited. Click on a checkbox below to force their creation now.
Microsoft.IdentityModel.Tokens
, System.IdentityModel.Tokens.Jwt
)These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
Microsoft.AspNetCore.Components.WebAssembly
, Microsoft.AspNetCore.Components.WebAssembly.Authentication
, Microsoft.AspNetCore.Components.WebAssembly.DevServer
, Microsoft.AspNetCore.Cryptography.KeyDerivation
, Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore
, Microsoft.AspNetCore.Identity.EntityFrameworkCore
, Microsoft.AspNetCore.Mvc.NewtonsoftJson
, Microsoft.AspNetCore.Mvc.Testing
, Microsoft.AspNetCore.TestHost
, Microsoft.EntityFrameworkCore
, Microsoft.EntityFrameworkCore.Design
, Microsoft.EntityFrameworkCore.Relational
, Microsoft.EntityFrameworkCore.Sqlite
, Microsoft.Extensions.DependencyInjection
, Microsoft.Extensions.DependencyInjection.Abstractions
, Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore
, dotnet-ef
)MassTransit
, MassTransit.RabbitMQ
)docker-compose.override.yml
docker-compose.yml
postgres 14-alpine
postgres 14-alpine
postgres 14-alpine
postgres 14-alpine
postgres 14-alpine
src/services/agenda/Agenda.API/Dockerfile
mcr.microsoft.com/dotnet/aspnet 7.0
mcr.microsoft.com/dotnet/sdk 7.0
src/services/document/Documents.API/Dockerfile
mcr.microsoft.com/dotnet/aspnet 7.0
mcr.microsoft.com/dotnet/sdk 7.0
src/services/identity/Identity.API/Dockerfile
mcr.microsoft.com/dotnet/aspnet 7.0
mcr.microsoft.com/dotnet/sdk 7.0
src/services/measures/Measures.API/Dockerfile
mcr.microsoft.com/dotnet/aspnet 7.0
mcr.microsoft.com/dotnet/sdk 7.0
src/services/patients/Patients.API/Dockerfile
mcr.microsoft.com/dotnet/aspnet 7.0
mcr.microsoft.com/dotnet/sdk 7.0
src/services/proxy/MedEasy.ReverseProxy/Dockerfile
mcr.microsoft.com/dotnet/aspnet 7.0
mcr.microsoft.com/dotnet/sdk 7.0
.github/workflows/continuous.yml
actions/checkout v1
actions/cache v3
actions/upload-artifact v3
actions/upload-artifact v3
actions/upload-artifact v3
actions/upload-artifact v3
.github/workflows/deployment.yml
actions/checkout v1
actions/cache v3
actions/upload-artifact v3
actions/upload-artifact v3
actions/upload-artifact v3
actions/upload-artifact v3
actions/upload-artifact v3
actions/upload-artifact v3
actions/upload-artifact v3
.config/dotnet-tools.json
dotnet-ef 6.0.11
nuke.globaltool 6.2.1
microsoft.tye 0.10.0-alpha.21420.1
Directory.Build.props
build/Directory.Build.props
build/Directory.Build.targets
build/MedEasy.ContinuousIntegration.csproj
Candoumbe.MiscUtilities 0.10.0
Nuke.Common 5.3.0
core-api.props
MassTransit.RabbitMQ 7.3.1
MassTransit.AspNetCore 7.3.1
EntityFrameworkCore.Sqlite.NodaTime 6.0.0
Microsoft.EntityFrameworkCore.Sqlite 6.0.11
Microsoft.EntityFrameworkCore.Design 6.0.11
DataFilters.AspNetCore 0.4.0
Swashbuckle.AspNetCore 6.4.0
MicroElements.Swashbuckle.NodaTime 4.0.1
Extensions.Hosting.AsyncInitialization 1.0.0
Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.11
CorrelationId 3.0.1
NodaTime.Serialization.SystemTextJson 1.0.0
Microsoft.Tye.Extensions.Configuration 0.6.0-alpha.21070.5
Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.17.0
MediatR.Extensions.Microsoft.DependencyInjection 10.0.1
FluentValidation.AspNetCore 11.2.2
Destructurama.ByIgnoring 1.1.0
Serilog.Settings.Configuration 3.4.0
Serilog.Enrichers.CorrelationId 3.0.1
Serilog.Sinks.Seq 5.2.2
Serilog.Sinks.Console 4.1.0
Serilog.AspNetCore 6.0.1
Polly 7.2.3
core.props
Roslynator.Analyzers 4.1.2
Candoumbe.MiscUtilities 0.10.0
global.json
dotnet-sdk 6.0.403
integration-tests.props
Xunit.Extensions.Assemblyfixture 2.4.1
src/clients/web/MedEasy.Wasm/MedEasy.Wasm.csproj
Hez2010.BlazorRouter 2.1.2
Blazorise.Components 1.1.3.1
Blazored.TypeAhead 4.7.0
Blazorise.DataGrid 1.1.3.1
Candoumbe.MiscUtilities 0.10.0
System.IdentityModel.Tokens.Jwt 6.23.1
Blazored.SessionStorage 2.2.0
Blazored.LocalStorage 4.3.0
Refit.HttpClientFactory 6.3.2
Microsoft.Tye.Extensions.Configuration 0.6.0-alpha.21070.5
Blazorise.Icons.FontAwesome 1.1.3.1
Blazorise.Bootstrap 1.1.3.1
Microsoft.AspNetCore.Components.WebAssembly.DevServer 6.0.11
Microsoft.AspNetCore.Components.WebAssembly 6.0.11
Microsoft.AspNetCore.Components.WebAssembly.Authentication 6.0.11
src/services/MedEasy.AspnetCore.AsyncInitializers/MedEasy.AspnetCore.AsyncInitializers.csproj
Extensions.Hosting.AsyncInitialization 1.0.0
src/services/MedEasy.Attributes/MedEasy.Attributes.csproj
System.ComponentModel.Annotations 5.0.0
src/services/MedEasy.Core/MedEasy.Core.csproj
Refit 6.3.2
Microsoft.AspNetCore.Mvc.Core 2.2.5
Microsoft.AspNetCore.Hosting.Server.Abstractions 2.2.0
Consul 1.6.10.7
src/services/MedEasy.DataStores.Core/MedEasy.DataStores.Core.csproj
Polly 7.2.3
Microsoft.EntityFrameworkCore.Relational 6.0.11
Microsoft.EntityFrameworkCore.Relational 5.0.17
src/services/MedEasy.Models/MedEasy.Models.csproj
src/services/agenda/Agenda.API/Agenda.API.csproj
src/services/agenda/Agenda.CQRS/Agenda.CQRS.csproj
src/services/agenda/Agenda.DTO/Agenda.DTO.csproj
src/services/agenda/Agenda.DataStores.Postgres/Agenda.DataStores.Postgres.csproj
src/services/agenda/Agenda.DataStores.Sqlite/Agenda.DataStores.Sqlite.csproj
src/services/agenda/Agenda.DataStores/Agenda.DataStores.csproj
Npgsql.EntityFrameworkCore.PostgreSQL.NodaTime 6.0.7
src/services/agenda/Agenda.Ids/Agenda.Ids.csproj
src/services/agenda/Agenda.Mapping/Agenda.Mapping.csproj
src/services/agenda/Agenda.Models/Agenda.Models.csproj
src/services/agenda/Agenda.Objects/Agenda.Objects.csproj
Optional 4.0.0
src/services/agenda/Agenda.Services/Agenda.Abstractions.csproj
src/services/agenda/Agenda.Validators/Agenda.Validators.csproj
src/services/document/Documents.API/Documents.API.csproj
Microsoft.ApplicationInsights.AspNetCore 2.21.0
src/services/document/Documents.CQRS/Documents.CQRS.csproj
src/services/document/Documents.DTO/Documents.DTO.csproj
src/services/document/Documents.DataStores.Sqlite/Documents.DataStores.Sqlite.csproj
src/services/document/Documents.DataStores/Documents.DataStores.csproj
Npgsql.EntityFrameworkCore.PostgreSQL.NodaTime 6.0.7
src/services/document/Documents.Ids/Documents.Ids.csproj
src/services/document/Documents.Mapping/Documents.Mapping.csproj
src/services/document/Documents.Objects/Documents.Objects.csproj
src/services/gateway/MedEasy.Gateway/MedEasy.Gateway.csproj
Roslynator.Analyzers 4.1.2
Serilog.Settings.Configuration 3.4.0
Serilog.Sinks.Console 4.1.0
Serilog.AspNetCore 6.0.1
Ocelot.Provider.Consul 18.0.0
Ocelot 18.0.0
Microsoft.AspNetCore.HealthChecks 1.0.0
Microsoft.AspNetCore.Diagnostics.HealthChecks 2.2.0
AspNetCore.HealthChecks.Uris 6.0.3
AspNetCore.HealthChecks.UI.Client 6.0.5
src/services/identity/Identity.API/Identity.API.csproj
src/services/identity/Identity.CQRS.Handlers.EFCore/Identity.CQRS.Handlers.EFCore.csproj
src/services/identity/Identity.CQRS/Identity.CQRS.csproj
System.IdentityModel.Tokens.Jwt 6.23.1
Microsoft.AspNetCore.Cryptography.KeyDerivation 6.0.11
src/services/identity/Identity.DTO/Identity.DTO.csproj
Microsoft.IdentityModel.Tokens 6.23.1
src/services/identity/Identity.DataStores.Postgres/Identity.DataStores.Postgres.csproj
src/services/identity/Identity.DataStores.SqlServer/Identity.DataStores.SqlServer.csproj
Roslynator.Analyzers 4.1.2
src/services/identity/Identity.DataStores.Sqlite/Identity.DataStores.Sqlite.csproj
src/services/identity/Identity.DataStores/Identity.DataStores.csproj
Npgsql.EntityFrameworkCore.PostgreSQL.NodaTime 6.0.7
Microsoft.AspNetCore.Identity.EntityFrameworkCore 6.0.11
src/services/identity/Identity.Ids/Identity.Ids.csproj
src/services/identity/Identity.Mapping/Identity.Mapping.csproj
src/services/identity/Identity.Objects/Identity.Objects.csproj
Optional 4.0.0
src/services/identity/Identity.Validators/Identity.Validators.csproj
src/services/identity/Identity.ValueObjects/Identity.ValueObjects.csproj
System.ComponentModel.TypeConverter 4.3.0
src/services/identity/refit/Identity.Api.Refit/Identity.Api.Refit.csproj
src/services/measures/Measures.API/Measures.API.csproj
Microsoft.ApplicationInsights.AspNetCore 2.21.0
src/services/measures/Measures.CQRS/Measures.CQRS.csproj
src/services/measures/Measures.DTO/Measures.DTO.csproj
src/services/measures/Measures.DataStores.Postgres/Measures.DataStores.Postgres.csproj
src/services/measures/Measures.DataStores.Sqlite/Measures.DataStores.Sqlite.csproj
Queries.Renderers.Sqlite 0.4.0
src/services/measures/Measures.DataStores/Measures.DataStores.csproj
Npgsql.EntityFrameworkCore.PostgreSQL.NodaTime 6.0.7
src/services/measures/Measures.Ids/Measures.Ids.csproj
src/services/measures/Measures.Mapping/Measures.Mapping.csproj
src/services/measures/Measures.Objects/Measures.Objects.csproj
src/services/measures/Measures.Validators/Measures.Validators.csproj
src/services/patients/Directory.Build.targets
src/services/patients/Patients.API/Patients.API.csproj
src/services/patients/Patients.CQRS/Patients.CQRS.csproj
MassTransit 7.3.1
src/services/patients/Patients.Context/Patients.DataStores.csproj
Npgsql.EntityFrameworkCore.PostgreSQL.NodaTime 6.0.7
src/services/patients/Patients.DTO/Patients.DTO.csproj
src/services/patients/Patients.DataStores.Postgres/Patients.DataStores.Postgres.csproj
src/services/patients/Patients.DataStores.Sqlite/Patients.DataStores.Sqlite.csproj
src/services/patients/Patients.Engine.Sqlite/Patients.Engine.Sqlite.csproj
src/services/patients/Patients.Events/Patients.Events.csproj
NodaTime 3.1.5
src/services/patients/Patients.Ids/Patients.Ids.csproj
src/services/patients/Patients.Mapping/Patients.Mapping.csproj
src/services/patients/Patients.Objects/Patients.Objects.csproj
src/services/patients/Patients.Validators/Patients.Validators.csproj
src/services/proxy/MedEasy.ReverseProxy/MedEasy.ReverseProxy.csproj
Optional 4.0.0
Yarp.ReverseProxy 1.1.1
src/tools/MedEasy.Abstractions/MedEasy.Abstractions.csproj
Microsoft.EntityFrameworkCore 6.0.11
Microsoft.EntityFrameworkCore 5.0.17
src/tools/MedEasy.ApiVersioning/MedEasy.AspNetCore.ApiVersioning.csproj
Microsoft.AspNetCore.Mvc.Versioning 5.0.0
Microsoft.Extensions.DependencyInjection.Abstractions 6.0.0
src/tools/MedEasy.AspNetCore/MedEasy.AspNetCore.csproj
Microsoft.Extensions.DependencyInjection 6.0.1
Microsoft.AspNetCore.Mvc.NewtonsoftJson 3.1.31
src/tools/MedEasy.CQRS.Core/MedEasy.CQRS.Core.csproj
MediatR 10.0.1
AutoMapper 10.1.1
src/tools/MedEasy.DAL.EFStore/MedEasy.DAL.EFStore.csproj
Roslynator.Analyzers 4.1.2
src/tools/MedEasy.DAL.RavenDb/MedEasy.DAL.RavenDb.csproj
RavenDB.Client 5.4.4
src/tools/MedEasy.DAL/MedEasy.DAL.csproj
Datafilters.Expressions 0.11.0
Microsoft.EntityFrameworkCore 6.0.11
src/tools/MedEasy.DTO/MedEasy.DTO.csproj
DataFilters 0.11.0
src/tools/MedEasy.EventSourcing/MedEasy.EventSourcing.csproj
EventStore.Client 5.0.1
src/tools/MedEasy.Ids/MedEasy.Ids.csproj
Microsoft.EntityFrameworkCore 6.0.11
Microsoft.EntityFrameworkCore 5.0.17
src/tools/MedEasy.Mapping/MedEasy.Mapping.csproj
AutoMapper 10.1.1
src/tools/MedEasy.Objects/MedEasy.Objects.csproj
NodaTime 3.1.5
src/tools/MedEasy.RestObjects/MedEasy.RestObjects.csproj
DataFilters.AspNetCore.Attributes 0.4.0
NodaTime 3.1.5
Candoumbe.MiscUtilities 0.10.0
System.ComponentModel.Annotations 5.0.0
src/tools/MedEasy.Tools/MedEasy.Tools.csproj
System.Runtime 4.3.1
System.Collections 4.3.0
src/tools/MedEasy.Validators/MedEasy.Validators.csproj
System.Runtime.InteropServices 4.3.0
System.Linq 4.3.0
src/tools/MedEasy.ValueObjects/MedEasy.ValueObjects.csproj
tests.props
Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore 6.0.11
Microsoft.AspNetCore.TestHost 6.0.11
Microsoft.AspNetCore.Mvc.Testing 6.0.11
coverlet.msbuild 3.1.2
AutoFixture.AutoFakeItEasy 4.17.0
Moq 4.18.2
Docker.DotNet 3.125.12
FsCheck.Xunit 3.0.0-beta2
NodaTime.Testing 3.1.5
NodaTime.Bogus 3.0.1
Bogus 34.0.2
FluentAssertions 6.7.0
xunit.categories 2.0.6
xunit.runner.visualstudio 2.4.5
xunit 2.4.2
Microsoft.NET.Test.Sdk 17.3.2
Use strongly typed ids as adviced in this article.
Check if using strongly typed ids works well with EF Core (and does not cause client side evaluation)
Adds an option to be able to run all APIs on top of at least two differents database providers.
provide a way to run migrations on for Sqlite and Postgres
Steps to reproduce
nuke run --services identity
to start the identity service./v1/accounts
{
"username" : "[email protected]",
"password" : "a-password",
"confirmPassword" : "a-password",
"email" : "[email protected]"
}
An exception is thrown
This is due to the fact that migrations for Identity.API storage are only for SQLite
Commands should be
Error
Warning
Add nuke
and npx
as local tools
When running nuke run --services <service>
command on a Windows 10 WSL2
> C:\Users\ndoum\.dotnet\tools\tye.exe run --tags identity --dashboard --dtrace zipkin=http://localhost:59411 --logs seq=http://localhost:55341
Loading Application Details...
Launching Tye Host...
[23:17:39 INF] Executing application from C:\Users\ndoum\Projects\Perso\MedEasy\tye.yaml
[23:17:39 INF] dtrace: Using Zipkin at URL http://localhost:59411
[23:17:39 INF] logs: Using Seq at http://localhost:55341
[23:17:39 INF] Dashboard running on http://127.0.0.1:8000
[23:17:41 INF] Docker image datalust/seq already installed
[23:17:41 INF] Docker image openzipkin/zipkin already installed
[23:17:41 INF] Docker image postgres:12-alpine already installed
[23:17:41 INF] Docker image masstransit/rabbitmq:3.8 already installed
[23:17:41 INF] Creating docker network tye_network_07f685e9-5
[23:17:41 INF] Running docker command network create --driver bridge tye_network_07f685e9-5
[23:17:42 INF] Running image postgres:12-alpine for identity_390d6523-4
[23:17:42 INF] Running image datalust/seq for seq_f8b6b358-b
[23:17:42 INF] Running image masstransit/rabbitmq:3.8 for message-bus_8d2b4388-1
[23:17:42 INF] Running image openzipkin/zipkin for zipkin_c7e8b09e-2
[23:17:42 INF] Building projects
[23:17:43 ERR] docker run failed for zipkin with exit code 125:
[23:17:44 INF] Running container identity_390d6523-4 with ID b0574402f78a
[23:17:44 INF] Running docker command network connect tye_network_07f685e9-5 identity_390d6523-4 --alias identity
[23:17:44 INF] Running container identity-api-proxy_9d5b1820-d with ID 6e0c574052f2
[23:17:44 INF] Running docker command network connect tye_network_07f685e9-5 identity-api-proxy_9d5b1820-d --alias identity-api
[23:17:45 INF] Launching service proxy_9593eaed-a: C:\Users\ndoum\Projects\Perso\MedEasy\src\services\proxy\MedEasy.ReverseProxy\bin\Debug\net5.0\MedEasy.ReverseProxy.exe
[23:17:45 INF] Launching service identity-api_9088091a-3: C:\Users\ndoum\Projects\Perso\MedEasy\src\services\identity\Identity.API\bin\Debug\net5.0\Identity.API.exe
[23:17:45 INF] identity-api_9088091a-3 running on process id 18884 bound to http://localhost:63022, https://localhost:63023
[23:17:45 INF] Replica identity-api_9088091a-3 is moving to a ready state
[23:17:45 INF] proxy_9593eaed-a running on process id 5772 bound to https://localhost:63021
[23:17:45 INF] Replica proxy_9593eaed-a is moving to a ready state
[23:17:45 INF] Running container proxy-proxy_701b2b5d-b with ID 3d25dc8498bc
[23:17:45 INF] Running docker command network connect tye_network_07f685e9-5 proxy-proxy_701b2b5d-b --alias proxy
[23:17:45 INF] Running container seq_f8b6b358-b with ID d0adb9a89c73
[23:17:45 INF] Running docker command network connect tye_network_07f685e9-5 seq_f8b6b358-b --alias seq
[23:17:45 INF] Selected process 18884.
[23:17:45 INF] Listening for event pipe events for identity-api_9088091a-3 on process id 18884
[23:17:46 INF] Selected process 5772.
[23:17:46 INF] Listening for event pipe events for proxy_9593eaed-a on process id 5772
[23:17:46 INF] Replica identity_390d6523-4 is moving to a ready state
[23:17:46 INF] Collecting docker logs for identity_390d6523-4.
[23:17:46 INF] Collecting docker logs for identity-api-proxy_9d5b1820-d.
[23:17:46 INF] Running container message-bus_8d2b4388-1 with ID 0eb71961cd33
[23:17:46 INF] Running docker command network connect tye_network_07f685e9-5 message-bus_8d2b4388-1 --alias message-bus
[23:17:46 INF] Collecting docker logs for proxy-proxy_701b2b5d-b.
[23:17:47 INF] Replica message-bus_8d2b4388-1 is moving to a ready state
[23:17:47 INF] Collecting docker logs for message-bus_8d2b4388-1.
[23:17:47 INF] Replica seq_f8b6b358-b is moving to a ready state
[23:17:47 INF] Collecting docker logs for seq_f8b6b358-b.
# tye application configuration file
# read all about it at https://github.com/dotnet/tye
#
# when you've given us a try, we'd love to know what you think:
# https://aka.ms/AA7q20u
#
name: medeasy
extensions:
- name: zipkin
services:
- name: proxy
project: src/services/proxy/MedEasy.ReverseProxy/MedEasy.ReverseProxy.csproj
tags:
- proxies
- frontends
- backends
- agenda
- identity
- documents
- measures
bindings:
- protocol: https
- name: web
project: src/clients/web/MedEasy/Medeasy.csproj
tags:
- frontends
- web
- name: identity-api
project: src/services/identity/Identity.API/Identity.API.csproj
tags:
- backends
- identity
- name: measures-api
project: src/services/Measures/Measures.API/Measures.API.csproj
tags:
- backends
- measures
- name: patients-api
project: src/services/Patients/Patients.API/Patients.API.csproj
tags:
- backends
- patients
- name: agenda-api
project: src/services/agenda/Agenda.API/Agenda.API.csproj
tags:
- backends
- agenda
- name: documents-api
project: src/services/document/Documents.API/Documents.API.csproj
tags:
- backends
- documents
- name: identity
image: postgres:12-alpine
env:
- POSTGRES_PASSWORD="pass@word1"
- POSTGRES_USER="identity_api"
- POSTGRES_DB="identity"
bindings:
- containerPort: 5432
connectionString: Server=${host};Port=${port};Database=${env:POSTGRES_DB};User ID=${env:POSTGRES_USER};Password=${env:POSTGRES_PASSWORD};
tags:
- backends
- identity
- databases
- name: measures
image: postgres:12-alpine
env:
- POSTGRES_PASSWORD="pass@word1"
- POSTGRES_USER="measures_api"
- POSTGRES_DB="measures"
bindings:
- containerPort: 5432
connectionString: Server=${host};Port=${port};Database=${env:POSTGRES_DB};User ID=${env:POSTGRES_USER};Password=${env:POSTGRES_PASSWORD};
tags:
- backends
- measures
- databases
- name: documents
image: postgres:12-alpine
env:
- POSTGRES_PASSWORD="pass@word1"
- POSTGRES_USER="documents_api"
- POSTGRES_DB="documents"
bindings:
- containerPort: 5432
connectionString: Server=${host};Port=${port};Database=${env:POSTGRES_DB};User ID=${env:POSTGRES_USER};Password=${env:POSTGRES_PASSWORD};
tags:
- backends
- documents
- databases
- name: patients
image: postgres:12-alpine
env:
- POSTGRES_PASSWORD="pass@word1"
- POSTGRES_USER="patients_api"
- POSTGRES_DB="patients"
bindings:
- containerPort: 5432
connectionString: Server=${host};Port=${port};Database=${env:POSTGRES_DB};User ID=${env:POSTGRES_USER};Password=${env:POSTGRES_PASSWORD};
tags:
- backends
- patients
- databases
- name: agenda
image: postgres:12-alpine
env:
- POSTGRES_PASSWORD="pass@word1"
- POSTGRES_USER="agenda_api"
- POSTGRES_DB="agenda"
bindings:
- containerPort: 5432
connectionString: Server=${host};Port=${port};Database=${env:POSTGRES_DB};User ID=${env:POSTGRES_USER};Password=${env:POSTGRES_PASSWORD};
tags:
- backends
- agenda
- databases
- name: seq
image: datalust/seq
env:
- name: "ACCEPT_EULA"
value: "Y"
bindings:
- name: ui
port: 55340
protocol: http
containerPort: 80
- name: internal
containerPort: 5341
port : 55341
tags:
- backends
- agenda
- documents
- identity
- patients
- measures
- name: message-bus
image: masstransit/rabbitmq:3.8
bindings:
- name: internal
containerPort : 5672
protocol: rabbitmq
- name: ui
containerPort: 15672
protocol: http
tags:
- backends
- agenda
- documents
- identity
- measures
- patients
- esb
- name: zipkin
image: openzipkin/zipkin
bindings:
- port: 59411
containerPort: 9411
protocol: http
Describe the bug
Strongly typed ids should look like normal type in swagger documentation
All services fail to start due to incorrect database connection string.
The connection string is not properly set when running nuke run
command.
As tye is part of the solution, add feature to selectively launch services using for example the following command :
nuke tye-run --services all
: launch all services (default)nuke tye-run --services <service-name>
: only launch the specified serviceThis would allow quickly debug of one or several services using one command.
Replace the Identity.API
experiment with the "production ready" Identity.Server to handle standard authentication/authorization.
Describe the bug
Passwords and connection strings should not leak in logs
Logs all commands that are executed throughout all services : types, elapsed time
Versioning should not be done in the url so that clients can decide which version to use for any given url instead of being force to used the one sent by the server
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.