diff --git a/Common.props b/Common.props
index a518bd035f5d58f90bca8e9aa3ed0d03d157143d..b15a115ab8012229510d19a97fd8289c53481f79 100644
--- a/Common.props
+++ b/Common.props
@@ -4,7 +4,7 @@
net8.0
enable
enable
- NU1803;NU1507;1701;1702;1591;8002;CS1573;
+ $(NoWarn);NU1803;NU1507;1701;1702;1591;8002;CS1573;
diff --git a/Directory.Packages.props b/Directory.Packages.props
index ebc6a02e0b94883d7f75b4969e5d7ab98ab95f67..46c9520e8bbfe1ae782bc51abb579e3c537a2ed7 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -18,7 +18,7 @@
-
+
@@ -26,6 +26,8 @@
+
+
@@ -82,7 +84,7 @@
-
+
diff --git a/NuGet.Config b/NuGet.Config
new file mode 100644
index 0000000000000000000000000000000000000000..c4cf7bd6df8050ebc65ae91305b38284c81c8155
--- /dev/null
+++ b/NuGet.Config
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/DaprTool.Solution.AppHost/DaprTool.Solution.AppHost.csproj b/build/DaprTool.Solution.AppHost/DaprTool.Solution.AppHost.csproj
index 7c3c97f4a8e882672d1357081744e7093529bf04..73f9d48ead0d9938df96d0d5abe1f6e14ac087cb 100644
--- a/build/DaprTool.Solution.AppHost/DaprTool.Solution.AppHost.csproj
+++ b/build/DaprTool.Solution.AppHost/DaprTool.Solution.AppHost.csproj
@@ -13,7 +13,7 @@
-
+
diff --git a/build/DaprTool.Solution.AppHost/aspirate-output.zip b/build/DaprTool.Solution.AppHost/aspirate-output.zip
deleted file mode 100644
index 849721a8cd28e48a00b73880df4bd88b153bb0e9..0000000000000000000000000000000000000000
Binary files a/build/DaprTool.Solution.AppHost/aspirate-output.zip and /dev/null differ
diff --git a/build/DaprTool.Solution.AppHost/aspirate-output/admin/deployment.yaml b/build/DaprTool.Solution.AppHost/aspirate-output/admin/deployment.yaml
index 57477e8cfd8878bf9f5b9b00f441623e14b9dedb..1a45619380fdb5250492d00c09264fb381ecfa09 100644
--- a/build/DaprTool.Solution.AppHost/aspirate-output/admin/deployment.yaml
+++ b/build/DaprTool.Solution.AppHost/aspirate-output/admin/deployment.yaml
@@ -30,7 +30,7 @@ spec:
spec:
containers:
- name: admin
- image: registry.cn-shenzhen.aliyuncs.com/huangshen/web-admin:latest
+ image: registry.cn-shenzhen.aliyuncs.com/project-workspace/web-admin:1.0.5-alpha1
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
diff --git a/build/DaprTool.Solution.AppHost/aspirate-output/admin/kustomization.yaml b/build/DaprTool.Solution.AppHost/aspirate-output/admin/kustomization.yaml
index a99abeffd03e2b620e50f3d5711b4040a66216b8..5933d6551a91ac66ab8bb479881f37e82c16b9c0 100644
--- a/build/DaprTool.Solution.AppHost/aspirate-output/admin/kustomization.yaml
+++ b/build/DaprTool.Solution.AppHost/aspirate-output/admin/kustomization.yaml
@@ -12,5 +12,7 @@ configMapGenerator:
- OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES=true
- OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY=in_memory
- ASPNETCORE_FORWARDEDHEADERS_ENABLED=true
+ - OTEL_EXPORTER_OTLP_ENDPOINT=http://aspire-dashboard:18889
+ - OTEL_SERVICE_NAME=admin
- ASPNETCORE_URLS=http://+:8080;
diff --git a/build/DaprTool.Solution.AppHost/aspirate-output/auth-admin/deployment.yaml b/build/DaprTool.Solution.AppHost/aspirate-output/auth-admin/deployment.yaml
index 4984a37e46706fd4f455f61e20c81341d190f075..7d058376bb49576b54100380c0d0c765581a632f 100644
--- a/build/DaprTool.Solution.AppHost/aspirate-output/auth-admin/deployment.yaml
+++ b/build/DaprTool.Solution.AppHost/aspirate-output/auth-admin/deployment.yaml
@@ -30,7 +30,7 @@ spec:
spec:
containers:
- name: auth-admin
- image: registry.cn-shenzhen.aliyuncs.com/huangshen/auth-admin:latest
+ image: registry.cn-shenzhen.aliyuncs.com/project-workspace/auth-admin:1.0.5-alpha1
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
diff --git a/build/DaprTool.Solution.AppHost/aspirate-output/auth-admin/kustomization.yaml b/build/DaprTool.Solution.AppHost/aspirate-output/auth-admin/kustomization.yaml
index 9d2b2b3c80b005bf31098b6ba709b566ed231427..2a22d1243af55f0f553b43c8c9c5e75ecb731b01 100644
--- a/build/DaprTool.Solution.AppHost/aspirate-output/auth-admin/kustomization.yaml
+++ b/build/DaprTool.Solution.AppHost/aspirate-output/auth-admin/kustomization.yaml
@@ -12,5 +12,7 @@ configMapGenerator:
- OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES=true
- OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY=in_memory
- ASPNETCORE_FORWARDEDHEADERS_ENABLED=true
+ - OTEL_EXPORTER_OTLP_ENDPOINT=http://aspire-dashboard:18889
+ - OTEL_SERVICE_NAME=auth-admin
- ASPNETCORE_URLS=http://+:8080;
diff --git a/build/DaprTool.Solution.AppHost/aspirate-output/auth-api/deployment.yaml b/build/DaprTool.Solution.AppHost/aspirate-output/auth-api/deployment.yaml
index 669d9fbfcb6795b8b91814b819443dfa579cc97a..aec53fc0bc0ddfd433666de088a271bca5f09db5 100644
--- a/build/DaprTool.Solution.AppHost/aspirate-output/auth-api/deployment.yaml
+++ b/build/DaprTool.Solution.AppHost/aspirate-output/auth-api/deployment.yaml
@@ -30,7 +30,7 @@ spec:
spec:
containers:
- name: auth-api
- image: registry.cn-shenzhen.aliyuncs.com/huangshen/auth-api:latest
+ image: registry.cn-shenzhen.aliyuncs.com/project-workspace/auth-api:1.0.5-alpha1
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
diff --git a/build/DaprTool.Solution.AppHost/aspirate-output/auth-api/kustomization.yaml b/build/DaprTool.Solution.AppHost/aspirate-output/auth-api/kustomization.yaml
index 90494ca1f632b911442c515efcae02eb0bada5e8..9b6b0fa19fd656ec67fadba0fdcb05686526819e 100644
--- a/build/DaprTool.Solution.AppHost/aspirate-output/auth-api/kustomization.yaml
+++ b/build/DaprTool.Solution.AppHost/aspirate-output/auth-api/kustomization.yaml
@@ -12,5 +12,7 @@ configMapGenerator:
- OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES=true
- OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY=in_memory
- ASPNETCORE_FORWARDEDHEADERS_ENABLED=true
+ - OTEL_EXPORTER_OTLP_ENDPOINT=http://aspire-dashboard:18889
+ - OTEL_SERVICE_NAME=auth-api
- ASPNETCORE_URLS=http://+:8080;
diff --git a/build/DaprTool.Solution.AppHost/aspirate-output/auth-sts/deployment.yaml b/build/DaprTool.Solution.AppHost/aspirate-output/auth-sts/deployment.yaml
index dfb66859b95ba1b594d20586b8c78d5ad32a1792..f1c71f8dc45a351abf11c1dd2d51d040e2b16dab 100644
--- a/build/DaprTool.Solution.AppHost/aspirate-output/auth-sts/deployment.yaml
+++ b/build/DaprTool.Solution.AppHost/aspirate-output/auth-sts/deployment.yaml
@@ -30,7 +30,7 @@ spec:
spec:
containers:
- name: auth-sts
- image: registry.cn-shenzhen.aliyuncs.com/huangshen/auth-sts:latest
+ image: registry.cn-shenzhen.aliyuncs.com/project-workspace/auth-sts:1.0.5-alpha1
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
diff --git a/build/DaprTool.Solution.AppHost/aspirate-output/auth-sts/kustomization.yaml b/build/DaprTool.Solution.AppHost/aspirate-output/auth-sts/kustomization.yaml
index 156756d66151af2c89d92be5ee9925b9cfc9b1a3..d8c748b5e24a7ae5b341aaa6cf0657f0f7737c09 100644
--- a/build/DaprTool.Solution.AppHost/aspirate-output/auth-sts/kustomization.yaml
+++ b/build/DaprTool.Solution.AppHost/aspirate-output/auth-sts/kustomization.yaml
@@ -12,5 +12,7 @@ configMapGenerator:
- OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES=true
- OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY=in_memory
- ASPNETCORE_FORWARDEDHEADERS_ENABLED=true
+ - OTEL_EXPORTER_OTLP_ENDPOINT=http://aspire-dashboard:18889
+ - OTEL_SERVICE_NAME=auth-sts
- ASPNETCORE_URLS=http://+:8080;
diff --git a/build/DaprTool.Solution.AppHost/aspirate-output/dashboard.yaml b/build/DaprTool.Solution.AppHost/aspirate-output/dashboard.yaml
index 604fb1afdd2e47658e6242ef88c5475ceedeba21..78c0a53e5a09ceec58f31043a046234e82f52c2b 100644
--- a/build/DaprTool.Solution.AppHost/aspirate-output/dashboard.yaml
+++ b/build/DaprTool.Solution.AppHost/aspirate-output/dashboard.yaml
@@ -17,7 +17,7 @@ spec:
terminationGracePeriodSeconds: 30
containers:
- name: aspire-dashboard
- image: mcr.microsoft.com/dotnet/nightly/aspire-dashboard:8.0.0-preview.7
+ image: mcr.microsoft.com/dotnet/aspire-dashboard:8.0
resources:
requests:
cpu: "500m"
@@ -32,18 +32,6 @@ spec:
env:
- name: DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS
value: "true"
- livenessProbe:
- httpGet:
- path: /
- port: 18888
- initialDelaySeconds: 30
- periodSeconds: 10
- readinessProbe:
- httpGet:
- path: /
- port: 18888
- initialDelaySeconds: 30
- periodSeconds: 10
---
apiVersion: v1
kind: Service
diff --git a/build/DaprTool.Solution.AppHost/aspirate-output/kustomization.yaml b/build/DaprTool.Solution.AppHost/aspirate-output/kustomization.yaml
index e6aa18e83e21c3e681f41227ba432d75ef6a3bf0..3f3ba56e70b1f441696c222e2332f06ed5f0ad40 100644
--- a/build/DaprTool.Solution.AppHost/aspirate-output/kustomization.yaml
+++ b/build/DaprTool.Solution.AppHost/aspirate-output/kustomization.yaml
@@ -6,6 +6,7 @@ resources:
- auth-admin
- auth-api
- order-api
+- proxy-monitor
- proxy-server
- namespace.yaml
- dashboard.yaml
diff --git a/build/DaprTool.Solution.AppHost/aspirate-output/order-api/deployment.yaml b/build/DaprTool.Solution.AppHost/aspirate-output/order-api/deployment.yaml
index d5ea0db5de6ccc00dba4c414c58978538428db84..69db7c15eb63ee02580daf3d965f368e9fc7936f 100644
--- a/build/DaprTool.Solution.AppHost/aspirate-output/order-api/deployment.yaml
+++ b/build/DaprTool.Solution.AppHost/aspirate-output/order-api/deployment.yaml
@@ -30,7 +30,7 @@ spec:
spec:
containers:
- name: order-api
- image: registry.cn-shenzhen.aliyuncs.com/huangshen/order-api:latest
+ image: registry.cn-shenzhen.aliyuncs.com/project-workspace/order-api:1.0.5-alpha1
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
diff --git a/build/DaprTool.Solution.AppHost/aspirate-output/order-api/kustomization.yaml b/build/DaprTool.Solution.AppHost/aspirate-output/order-api/kustomization.yaml
index 457dcf8507fe396f1e7a5f26675ac9a434632e8f..0af82122bb160c463d6ab9d1efb5e99140cfa156 100644
--- a/build/DaprTool.Solution.AppHost/aspirate-output/order-api/kustomization.yaml
+++ b/build/DaprTool.Solution.AppHost/aspirate-output/order-api/kustomization.yaml
@@ -12,5 +12,7 @@ configMapGenerator:
- OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES=true
- OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY=in_memory
- ASPNETCORE_FORWARDEDHEADERS_ENABLED=true
+ - OTEL_EXPORTER_OTLP_ENDPOINT=http://aspire-dashboard:18889
+ - OTEL_SERVICE_NAME=order-api
- ASPNETCORE_URLS=http://+:8080;
diff --git a/build/DaprTool.Solution.AppHost/aspirate-output/proxy-monitor/deployment.yaml b/build/DaprTool.Solution.AppHost/aspirate-output/proxy-monitor/deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..7cb9ad3f3b4786965f05c98a3eb613a4e8841a7b
--- /dev/null
+++ b/build/DaprTool.Solution.AppHost/aspirate-output/proxy-monitor/deployment.yaml
@@ -0,0 +1,31 @@
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: proxy-monitor
+ labels:
+ app: proxy-monitor
+spec:
+ minReadySeconds: 60
+ replicas: 1
+ selector:
+ matchLabels:
+ app: proxy-monitor
+ strategy:
+ type: Recreate
+ template:
+ metadata:
+ labels:
+ app: proxy-monitor
+ spec:
+ containers:
+ - name: proxy-monitor
+ image: registry.cn-shenzhen.aliyuncs.com/project-workspace/proxy-monitor:1.0.5-alpha1
+ imagePullPolicy: IfNotPresent
+ ports:
+ - containerPort: 8080
+ - containerPort: 8443
+ envFrom:
+ - configMapRef:
+ name: proxy-monitor-env
+ terminationGracePeriodSeconds: 180
\ No newline at end of file
diff --git a/build/DaprTool.Solution.AppHost/aspirate-output/proxy-monitor/kustomization.yaml b/build/DaprTool.Solution.AppHost/aspirate-output/proxy-monitor/kustomization.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..7eda7cf57723b6cac02c122146bea559905e70ae
--- /dev/null
+++ b/build/DaprTool.Solution.AppHost/aspirate-output/proxy-monitor/kustomization.yaml
@@ -0,0 +1,18 @@
+resources:
+- deployment.yaml
+- service.yaml
+
+generatorOptions:
+ disableNameSuffixHash: true
+
+configMapGenerator:
+- name: proxy-monitor-env
+ literals:
+ - OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES=true
+ - OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES=true
+ - OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY=in_memory
+ - ASPNETCORE_FORWARDEDHEADERS_ENABLED=true
+ - OTEL_EXPORTER_OTLP_ENDPOINT=http://aspire-dashboard:18889
+ - OTEL_SERVICE_NAME=proxy-monitor
+ - ASPNETCORE_URLS=http://+:8080;
+
diff --git a/build/DaprTool.Solution.AppHost/aspirate-output/proxy-monitor/service.yaml b/build/DaprTool.Solution.AppHost/aspirate-output/proxy-monitor/service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b98f60eb4a7a13e3b8c35a914a167866bdd67aea
--- /dev/null
+++ b/build/DaprTool.Solution.AppHost/aspirate-output/proxy-monitor/service.yaml
@@ -0,0 +1,16 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: proxy-monitor
+spec:
+ type: ClusterIP
+ selector:
+ app: proxy-monitor
+ ports:
+ - name: http
+ port: 44430
+ targetPort: 8080
+ - name: https
+ port: 8443
+ targetPort: 8443
diff --git a/build/DaprTool.Solution.AppHost/aspirate-output/proxy-server/deployment.yaml b/build/DaprTool.Solution.AppHost/aspirate-output/proxy-server/deployment.yaml
index c7822b50f39d48984f2d6ba5603298eaf25ef0dd..df0a426188b518507ac46039eb799f3c5c1a9a8a 100644
--- a/build/DaprTool.Solution.AppHost/aspirate-output/proxy-server/deployment.yaml
+++ b/build/DaprTool.Solution.AppHost/aspirate-output/proxy-server/deployment.yaml
@@ -20,7 +20,7 @@ spec:
spec:
containers:
- name: proxy-server
- image: registry.cn-shenzhen.aliyuncs.com/huangshen/proxy-server:latest
+ image: registry.cn-shenzhen.aliyuncs.com/project-workspace/proxy-server:1.0.5-alpha1
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
diff --git a/build/DaprTool.Solution.AppHost/aspirate-output/proxy-server/kustomization.yaml b/build/DaprTool.Solution.AppHost/aspirate-output/proxy-server/kustomization.yaml
index a23dcc65f9c43e672de5b785a7434fca8f51cbb5..be372580e4420769891851cddac8fba175ce2983 100644
--- a/build/DaprTool.Solution.AppHost/aspirate-output/proxy-server/kustomization.yaml
+++ b/build/DaprTool.Solution.AppHost/aspirate-output/proxy-server/kustomization.yaml
@@ -17,5 +17,7 @@ configMapGenerator:
- services__auth-sts__http__0=http://auth-sts:8080
- services__auth-api__http__0=http://auth-api:8080
- services__order-api__http__0=http://order-api:8080
+ - OTEL_EXPORTER_OTLP_ENDPOINT=http://aspire-dashboard:18889
+ - OTEL_SERVICE_NAME=proxy-server
- ASPNETCORE_URLS=http://+:8080;
diff --git a/build/DaprTool.Solution.AppHost/aspirate-state.json b/build/DaprTool.Solution.AppHost/aspirate-state.json
index 596ccb46c1c5946f7363b8282394d522190e077c..db47f1fda919adcb637e7eba5e70c469266a927c 100644
--- a/build/DaprTool.Solution.AppHost/aspirate-state.json
+++ b/build/DaprTool.Solution.AppHost/aspirate-state.json
@@ -4,13 +4,16 @@
"namespace": "dapr-playground",
"containerRegistry": "registry.cn-shenzhen.aliyuncs.com",
"containerImageTags": [
+ "1.0.5-alpha1",
"latest"
],
+ "imagePullPolicy": "IfNotPresent",
"containerBuilder": "docker",
- "containerRepositoryPrefix": "huangshen",
+ "containerRepositoryPrefix": "project-workspace",
"outputFormat": "kustomize",
"skipFinalKustomizeGeneration": false,
"privateRegistryEmail": "aspir8@aka.ms",
+ "includeDashboard": true,
"useCustomNamespace": true,
"secrets": {
"salt": "IkrA7nfBQ7D\u002BCckn",
diff --git a/build/DaprTool.Solution.AppHost/aspirate.json b/build/DaprTool.Solution.AppHost/aspirate.json
index 2a1d7dc4c186b592d74108ec8a3151e64ec3613d..55d43af728feea5659125ec371fa8c687841c692 100644
--- a/build/DaprTool.Solution.AppHost/aspirate.json
+++ b/build/DaprTool.Solution.AppHost/aspirate.json
@@ -2,7 +2,7 @@
"TemplatePath": null,
"ContainerSettings": {
"Registry": "registry.cn-shenzhen.aliyuncs.com",
- "RepositoryPrefix": "huangshen",
+ "RepositoryPrefix": "project-workspace",
"Tags": [
"latest"
],
diff --git a/src/IdentityServer4/src/Idsrv4.Admin.Api/Idsrv4.Admin.Api.csproj b/src/IdentityServer4/src/Idsrv4.Admin.Api/Idsrv4.Admin.Api.csproj
index 2efb2f1467df5990dd933221862f036a91c8a652..f2ab51e630800a3dd1dfec05dcf14cf88771bc39 100644
--- a/src/IdentityServer4/src/Idsrv4.Admin.Api/Idsrv4.Admin.Api.csproj
+++ b/src/IdentityServer4/src/Idsrv4.Admin.Api/Idsrv4.Admin.Api.csproj
@@ -2,6 +2,7 @@
net8.0
1cc472a2-4e4b-48ce-846b-5219f71fc643
+ false
auth-api
registry.cn-shenzhen.aliyuncs.com
mcr.microsoft.com/dotnet/aspnet:8.0
diff --git a/src/ProxyServer/Program.cs b/src/ProxyServer/Program.cs
index 3f89aa16a7752df5d77e361519e659200afb14e1..08821d9f937e62145b546b11621a6cc7e2cf1a88 100644
--- a/src/ProxyServer/Program.cs
+++ b/src/ProxyServer/Program.cs
@@ -1,5 +1,16 @@
+using Serilog.Sinks.SystemConsole.Themes;
+using Serilog;
+
var builder = WebApplication.CreateBuilder(args);
+using var serilog = new LoggerConfiguration()
+ .MinimumLevel.Debug()
+ .Enrich.FromLogContext()
+ .WriteTo.Console(theme: AnsiConsoleTheme.Code)
+ .CreateLogger();
+builder.Logging.ClearProviders();
+builder.Logging.AddSerilog(serilog, dispose: false);
+
builder.AddServiceDefaults();
builder.Services.AddAntiforgery();
@@ -10,7 +21,6 @@ builder.WebHost.ConfigureKestrel(options =>
options.Limits.MaxResponseBufferSize = 131072; // 增加到 128KB,根据需要调整
});
-
// 如果不知道 路由 匹配 match 怎么配置 请参考链接
// https://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/routing?view=aspnetcore-8.0#route-templates
builder.Services
diff --git a/src/ProxyServer/ProxyServer.csproj b/src/ProxyServer/ProxyServer.csproj
index 728219948b4b9f409ede2eb9a67fd97dfc9496aa..6092ccacc667bc23be100bf48d88d51a353adac2 100644
--- a/src/ProxyServer/ProxyServer.csproj
+++ b/src/ProxyServer/ProxyServer.csproj
@@ -1,4 +1,4 @@
-
+
proxy-server
@@ -7,9 +7,12 @@
-
-
-
+
+
+
+
+
+