⬆️ Save progress and say goodbye
This commit is contained in:
35
.env
Normal file
35
.env
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
# Default container port for ring
|
||||||
|
RING_PORT=8080
|
||||||
|
|
||||||
|
# Default container port for pass
|
||||||
|
PASS_PORT=8080
|
||||||
|
|
||||||
|
# Default container port for drive
|
||||||
|
DRIVE_PORT=8080
|
||||||
|
|
||||||
|
# Default container port for sphere
|
||||||
|
SPHERE_PORT=8080
|
||||||
|
|
||||||
|
# Default container port for develop
|
||||||
|
DEVELOP_PORT=8080
|
||||||
|
|
||||||
|
# Parameter cache-password
|
||||||
|
CACHE_PASSWORD=KS3jSPaU9e
|
||||||
|
|
||||||
|
# Parameter queue-password
|
||||||
|
QUEUE_PASSWORD=8xEECa4ckz
|
||||||
|
|
||||||
|
# Container image name for ring
|
||||||
|
RING_IMAGE=ring:latest
|
||||||
|
|
||||||
|
# Container image name for pass
|
||||||
|
PASS_IMAGE=pass:latest
|
||||||
|
|
||||||
|
# Container image name for drive
|
||||||
|
DRIVE_IMAGE=drive:latest
|
||||||
|
|
||||||
|
# Container image name for sphere
|
||||||
|
SPHERE_IMAGE=sphere:latest
|
||||||
|
|
||||||
|
# Container image name for develop
|
||||||
|
DEVELOP_IMAGE=develop:latest
|
@@ -24,7 +24,6 @@
|
|||||||
<ProjectReference Include="..\DysonNetwork.Drive\DysonNetwork.Drive.csproj" />
|
<ProjectReference Include="..\DysonNetwork.Drive\DysonNetwork.Drive.csproj" />
|
||||||
<ProjectReference Include="..\DysonNetwork.Pass\DysonNetwork.Pass.csproj" />
|
<ProjectReference Include="..\DysonNetwork.Pass\DysonNetwork.Pass.csproj" />
|
||||||
<ProjectReference Include="..\DysonNetwork.Ring\DysonNetwork.Ring.csproj" />
|
<ProjectReference Include="..\DysonNetwork.Ring\DysonNetwork.Ring.csproj" />
|
||||||
<ProjectReference Include="..\DysonNetwork.Shared\DysonNetwork.Shared.csproj" />
|
|
||||||
<ProjectReference Include="..\DysonNetwork.Sphere\DysonNetwork.Sphere.csproj" />
|
<ProjectReference Include="..\DysonNetwork.Sphere\DysonNetwork.Sphere.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
86
compose.yaml
86
compose.yaml
@@ -1,86 +0,0 @@
|
|||||||
services:
|
|
||||||
etcd:
|
|
||||||
image: bitnami/etcd:latest
|
|
||||||
ports:
|
|
||||||
- "2379:2379"
|
|
||||||
- "2380:2380"
|
|
||||||
environment:
|
|
||||||
- ETCD_ADVERTISE_CLIENT_URLS=http://etcd:2379
|
|
||||||
- ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379
|
|
||||||
- ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380
|
|
||||||
- ETCD_INITIAL_ADVERTISE_PEER_URLS=http://etcd:2380
|
|
||||||
- ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster
|
|
||||||
- ETCD_INITIAL_CLUSTER_STATE=new
|
|
||||||
- ETCD_INITIAL_CLUSTER=etcd=http://etcd:2380
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "etcdctl", "get", "/health"]
|
|
||||||
interval: 5s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 5
|
|
||||||
|
|
||||||
gateway:
|
|
||||||
image: xsheep2010/dyson-gateway:latest
|
|
||||||
ports:
|
|
||||||
- "8000:8080"
|
|
||||||
environment:
|
|
||||||
- ConnectionStrings__Etcd=http://etcd:2379
|
|
||||||
- Etcd__Insecure=true
|
|
||||||
- Service__Name=DysonNetwork.Gateway
|
|
||||||
- Service__Url=http://gateway:8080
|
|
||||||
depends_on:
|
|
||||||
etcd:
|
|
||||||
condition: service_healthy
|
|
||||||
|
|
||||||
drive:
|
|
||||||
image: xsheep2010/dyson-drive:latest
|
|
||||||
ports:
|
|
||||||
- "8001:8080"
|
|
||||||
environment:
|
|
||||||
- ConnectionStrings__Etcd=http://etcd:2379
|
|
||||||
- Etcd__Insecure=true
|
|
||||||
- Service__Name=DysonNetwork.Drive
|
|
||||||
- Service__Url=http://drive:8080
|
|
||||||
depends_on:
|
|
||||||
etcd:
|
|
||||||
condition: service_healthy
|
|
||||||
|
|
||||||
pass:
|
|
||||||
image: xsheep2010/dyson-pass:latest
|
|
||||||
ports:
|
|
||||||
- "8002:8080"
|
|
||||||
environment:
|
|
||||||
- ConnectionStrings__Etcd=http://etcd:2379
|
|
||||||
- Etcd__Insecure=true
|
|
||||||
- Service__Name=DysonNetwork.Pass
|
|
||||||
- Service__Url=http://pass:8080
|
|
||||||
depends_on:
|
|
||||||
etcd:
|
|
||||||
condition: service_healthy
|
|
||||||
|
|
||||||
ring:
|
|
||||||
image: xsheep2010/dyson-ring:latest
|
|
||||||
ports:
|
|
||||||
- "8003:8080"
|
|
||||||
environment:
|
|
||||||
- ConnectionStrings__Etcd=http://etcd:2379
|
|
||||||
- Etcd__Insecure=true
|
|
||||||
- Service__Name=DysonNetwork.Ring
|
|
||||||
- Service__Url=http://ring:8080
|
|
||||||
depends_on:
|
|
||||||
etcd:
|
|
||||||
condition: service_healthy
|
|
||||||
|
|
||||||
sphere:
|
|
||||||
image: xsheep2010/dyson-sphere:latest
|
|
||||||
ports:
|
|
||||||
- "8004:8080"
|
|
||||||
environment:
|
|
||||||
- ConnectionStrings__Etcd=http://etcd:2379
|
|
||||||
- Etcd__Insecure=true
|
|
||||||
- Service__Name=DysonNetwork.Sphere
|
|
||||||
- Service__Url=http://sphere:8080
|
|
||||||
volumes:
|
|
||||||
- "./keys:/app/keys"
|
|
||||||
depends_on:
|
|
||||||
etcd:
|
|
||||||
condition: service_healthy
|
|
194
docker-compose.yaml
Normal file
194
docker-compose.yaml
Normal file
@@ -0,0 +1,194 @@
|
|||||||
|
services:
|
||||||
|
aspire-dashboard:
|
||||||
|
image: "mcr.microsoft.com/dotnet/nightly/aspire-dashboard:latest"
|
||||||
|
expose:
|
||||||
|
- "18888"
|
||||||
|
- "18889"
|
||||||
|
networks:
|
||||||
|
- "aspire"
|
||||||
|
restart: "always"
|
||||||
|
cache:
|
||||||
|
image: "docker.io/library/redis:7.4"
|
||||||
|
command:
|
||||||
|
- "-c"
|
||||||
|
- "redis-server --requirepass $$REDIS_PASSWORD"
|
||||||
|
entrypoint:
|
||||||
|
- "/bin/sh"
|
||||||
|
environment:
|
||||||
|
REDIS_PASSWORD: "${CACHE_PASSWORD}"
|
||||||
|
expose:
|
||||||
|
- "6379"
|
||||||
|
networks:
|
||||||
|
- "aspire"
|
||||||
|
queue:
|
||||||
|
image: "docker.io/library/nats:2.11"
|
||||||
|
command:
|
||||||
|
- "--user"
|
||||||
|
- "nats"
|
||||||
|
- "--pass"
|
||||||
|
- "${QUEUE_PASSWORD}"
|
||||||
|
- "-js"
|
||||||
|
expose:
|
||||||
|
- "4222"
|
||||||
|
networks:
|
||||||
|
- "aspire"
|
||||||
|
ring:
|
||||||
|
image: "${RING_IMAGE}"
|
||||||
|
environment:
|
||||||
|
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"
|
||||||
|
HTTP_PORTS: "${RING_PORT}"
|
||||||
|
ConnectionStrings__queue: "nats://nats:${QUEUE_PASSWORD}@queue:4222"
|
||||||
|
services__pass__http__0: "http://pass:${PASS_PORT}"
|
||||||
|
OTEL_EXPORTER_OTLP_ENDPOINT: "http://aspire:18889"
|
||||||
|
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc"
|
||||||
|
OTEL_SERVICE_NAME: "ring"
|
||||||
|
volumes:
|
||||||
|
- "./Keys:/app/keys"
|
||||||
|
- "./settings/ring.json:/app/appsettings.json"
|
||||||
|
expose:
|
||||||
|
- "${RING_PORT}"
|
||||||
|
networks:
|
||||||
|
- "aspire"
|
||||||
|
pass:
|
||||||
|
image: "${PASS_IMAGE}"
|
||||||
|
environment:
|
||||||
|
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"
|
||||||
|
HTTP_PORTS: "${PASS_PORT}"
|
||||||
|
ConnectionStrings__cache: "cache:6379,password=${CACHE_PASSWORD}"
|
||||||
|
ConnectionStrings__queue: "nats://nats:${QUEUE_PASSWORD}@queue:4222"
|
||||||
|
services__ring__http__0: "http://ring:${RING_PORT}"
|
||||||
|
OTEL_EXPORTER_OTLP_ENDPOINT: "http://aspire-dashboard:18889"
|
||||||
|
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc"
|
||||||
|
OTEL_SERVICE_NAME: "pass"
|
||||||
|
volumes:
|
||||||
|
- "./Keys:/app/keys"
|
||||||
|
- "./settings/pass.json:/app/appsettings.json"
|
||||||
|
expose:
|
||||||
|
- "${PASS_PORT}"
|
||||||
|
networks:
|
||||||
|
- "aspire"
|
||||||
|
drive:
|
||||||
|
image: "${DRIVE_IMAGE}"
|
||||||
|
environment:
|
||||||
|
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"
|
||||||
|
HTTP_PORTS: "${DRIVE_PORT}"
|
||||||
|
ConnectionStrings__cache: "cache:6379,password=${CACHE_PASSWORD}"
|
||||||
|
ConnectionStrings__queue: "nats://nats:${QUEUE_PASSWORD}@queue:4222"
|
||||||
|
services__pass__http__0: "http://pass:${PASS_PORT}"
|
||||||
|
services__ring__http__0: "http://ring:${RING_PORT}"
|
||||||
|
OTEL_EXPORTER_OTLP_ENDPOINT: "http://aspire-dashboard:18889"
|
||||||
|
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc"
|
||||||
|
OTEL_SERVICE_NAME: "drive"
|
||||||
|
expose:
|
||||||
|
- "${DRIVE_PORT}"
|
||||||
|
volumes:
|
||||||
|
- "./settings/drive.json:/app/appsettings.json"
|
||||||
|
networks:
|
||||||
|
- "aspire"
|
||||||
|
sphere:
|
||||||
|
image: "${SPHERE_IMAGE}"
|
||||||
|
environment:
|
||||||
|
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"
|
||||||
|
HTTP_PORTS: "${SPHERE_PORT}"
|
||||||
|
ConnectionStrings__cache: "cache:6379,password=${CACHE_PASSWORD}"
|
||||||
|
ConnectionStrings__queue: "nats://nats:${QUEUE_PASSWORD}@queue:4222"
|
||||||
|
services__pass__http__0: "http://pass:${PASS_PORT}"
|
||||||
|
services__ring__http__0: "http://ring:${RING_PORT}"
|
||||||
|
OTEL_EXPORTER_OTLP_ENDPOINT: "http://aspire-dashboard:18889"
|
||||||
|
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc"
|
||||||
|
OTEL_SERVICE_NAME: "sphere"
|
||||||
|
volumes:
|
||||||
|
- "./Keys:/app/keys"
|
||||||
|
- "./settings/sphere.json:/app/appsettings.json"
|
||||||
|
expose:
|
||||||
|
- "${SPHERE_PORT}"
|
||||||
|
networks:
|
||||||
|
- "aspire"
|
||||||
|
develop:
|
||||||
|
image: "${DEVELOP_IMAGE}"
|
||||||
|
environment:
|
||||||
|
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"
|
||||||
|
HTTP_PORTS: "${DEVELOP_PORT}"
|
||||||
|
ConnectionStrings__cache: "cache:6379,password=${CACHE_PASSWORD}"
|
||||||
|
services__pass__http__0: "http://pass:${PASS_PORT}"
|
||||||
|
services__ring__http__0: "http://ring:${RING_PORT}"
|
||||||
|
OTEL_EXPORTER_OTLP_ENDPOINT: "http://aspire-dashboard:18889"
|
||||||
|
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc"
|
||||||
|
OTEL_SERVICE_NAME: "develop"
|
||||||
|
expose:
|
||||||
|
- "${DEVELOP_PORT}"
|
||||||
|
networks:
|
||||||
|
- "aspire"
|
||||||
|
gateway:
|
||||||
|
image: "mcr.microsoft.com/dotnet/nightly/yarp:2.3.0-preview.4"
|
||||||
|
command:
|
||||||
|
- "/app/yarp.dll"
|
||||||
|
entrypoint:
|
||||||
|
- "dotnet"
|
||||||
|
environment:
|
||||||
|
ASPNETCORE_ENVIRONMENT: "Production"
|
||||||
|
services__ring__http__0: "http://ring:${RING_PORT}"
|
||||||
|
REVERSEPROXY__ROUTES__route0__MATCH__PATH: "/ws"
|
||||||
|
REVERSEPROXY__ROUTES__route0__CLUSTERID: "cluster_ring"
|
||||||
|
REVERSEPROXY__ROUTES__route1__MATCH__PATH: "/ring/{**catch-all}"
|
||||||
|
REVERSEPROXY__ROUTES__route1__CLUSTERID: "cluster_ring"
|
||||||
|
REVERSEPROXY__ROUTES__route1__TRANSFORMS__0__PathRemovePrefix: "/ring"
|
||||||
|
REVERSEPROXY__ROUTES__route1__TRANSFORMS__1__PathPrefix: "/api"
|
||||||
|
REVERSEPROXY__ROUTES__route2__MATCH__PATH: "/.well-known/openid-configuration"
|
||||||
|
REVERSEPROXY__ROUTES__route2__CLUSTERID: "cluster_pass"
|
||||||
|
REVERSEPROXY__ROUTES__route3__MATCH__PATH: "/.well-known/jwks"
|
||||||
|
REVERSEPROXY__ROUTES__route3__CLUSTERID: "cluster_pass"
|
||||||
|
REVERSEPROXY__ROUTES__route4__MATCH__PATH: "/id/{**catch-all}"
|
||||||
|
REVERSEPROXY__ROUTES__route4__CLUSTERID: "cluster_pass"
|
||||||
|
REVERSEPROXY__ROUTES__route4__TRANSFORMS__0__PathRemovePrefix: "/id"
|
||||||
|
REVERSEPROXY__ROUTES__route4__TRANSFORMS__1__PathPrefix: "/api"
|
||||||
|
REVERSEPROXY__ROUTES__route5__MATCH__PATH: "/api/tus"
|
||||||
|
REVERSEPROXY__ROUTES__route5__CLUSTERID: "cluster_drive"
|
||||||
|
REVERSEPROXY__ROUTES__route6__MATCH__PATH: "/drive/{**catch-all}"
|
||||||
|
REVERSEPROXY__ROUTES__route6__CLUSTERID: "cluster_drive"
|
||||||
|
REVERSEPROXY__ROUTES__route6__TRANSFORMS__0__PathRemovePrefix: "/drive"
|
||||||
|
REVERSEPROXY__ROUTES__route6__TRANSFORMS__1__PathPrefix: "/api"
|
||||||
|
REVERSEPROXY__ROUTES__route7__MATCH__PATH: "/sphere/{**catch-all}"
|
||||||
|
REVERSEPROXY__ROUTES__route7__CLUSTERID: "cluster_sphere"
|
||||||
|
REVERSEPROXY__ROUTES__route7__TRANSFORMS__0__PathRemovePrefix: "/sphere"
|
||||||
|
REVERSEPROXY__ROUTES__route7__TRANSFORMS__1__PathPrefix: "/api"
|
||||||
|
REVERSEPROXY__ROUTES__route8__MATCH__PATH: "/develop/{**catch-all}"
|
||||||
|
REVERSEPROXY__ROUTES__route8__CLUSTERID: "cluster_develop"
|
||||||
|
REVERSEPROXY__ROUTES__route8__TRANSFORMS__0__PathRemovePrefix: "/develop"
|
||||||
|
REVERSEPROXY__ROUTES__route8__TRANSFORMS__1__PathPrefix: "/api"
|
||||||
|
REVERSEPROXY__CLUSTERS__cluster_ring__DESTINATIONS__destination1__ADDRESS: "http://_http.ring"
|
||||||
|
REVERSEPROXY__CLUSTERS__cluster_pass__DESTINATIONS__destination1__ADDRESS: "http://_http.pass"
|
||||||
|
REVERSEPROXY__CLUSTERS__cluster_drive__DESTINATIONS__destination1__ADDRESS: "http://_http.drive"
|
||||||
|
REVERSEPROXY__CLUSTERS__cluster_sphere__DESTINATIONS__destination1__ADDRESS: "http://_http.sphere"
|
||||||
|
REVERSEPROXY__CLUSTERS__cluster_develop__DESTINATIONS__destination1__ADDRESS: "http://_http.develop"
|
||||||
|
services__pass__http__0: "http://pass:${PASS_PORT}"
|
||||||
|
services__drive__http__0: "http://drive:${DRIVE_PORT}"
|
||||||
|
services__sphere__http__0: "http://sphere:${SPHERE_PORT}"
|
||||||
|
services__develop__http__0: "http://develop:${DEVELOP_PORT}"
|
||||||
|
OTEL_EXPORTER_OTLP_ENDPOINT: "http://aspire-dashboard:18889"
|
||||||
|
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc"
|
||||||
|
OTEL_SERVICE_NAME: "gateway"
|
||||||
|
expose:
|
||||||
|
- "5000"
|
||||||
|
ports:
|
||||||
|
- "5001:5000"
|
||||||
|
networks:
|
||||||
|
- "aspire"
|
||||||
|
networks:
|
||||||
|
aspire:
|
||||||
|
driver: "bridge"
|
23
publish/settings/develop.json
Normal file
23
publish/settings/develop.json
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"Debug": true,
|
||||||
|
"BaseUrl": "http://localhost:5071",
|
||||||
|
"SiteUrl": "https://solian.app",
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Microsoft.AspNetCore": "Warning"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"AllowedHosts": "*",
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"App": "Host=host.docker.internal;Port=5432;Database=dyson_network_dev;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60"
|
||||||
|
},
|
||||||
|
"KnownProxies": ["127.0.0.1", "::1"],
|
||||||
|
"Etcd": {
|
||||||
|
"Insecure": true
|
||||||
|
},
|
||||||
|
"Service": {
|
||||||
|
"Name": "DysonNetwork.Develop",
|
||||||
|
"Url": "https://localhost:7192"
|
||||||
|
}
|
||||||
|
}
|
127
publish/settings/drive.json
Normal file
127
publish/settings/drive.json
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
{
|
||||||
|
"Debug": true,
|
||||||
|
"BaseUrl": "http://localhost:5090",
|
||||||
|
"GatewayUrl": "http://localhost:5094",
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Microsoft.AspNetCore": "Warning"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"AllowedHosts": "*",
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"App": "Host=host.docker.internal;Port=5432;Database=dyson_drive;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60"
|
||||||
|
},
|
||||||
|
"Authentication": {
|
||||||
|
"Schemes": {
|
||||||
|
"Bearer": {
|
||||||
|
"ValidAudiences": ["http://localhost:5071", "https://localhost:7099"],
|
||||||
|
"ValidIssuer": "solar-network"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"AuthToken": {
|
||||||
|
"PublicKeyPath": "Keys/PublicKey.pem",
|
||||||
|
"PrivateKeyPath": "Keys/PrivateKey.pem"
|
||||||
|
},
|
||||||
|
"OidcProvider": {
|
||||||
|
"IssuerUri": "https://nt.solian.app",
|
||||||
|
"PublicKeyPath": "Keys/PublicKey.pem",
|
||||||
|
"PrivateKeyPath": "Keys/PrivateKey.pem",
|
||||||
|
"AccessTokenLifetime": "01:00:00",
|
||||||
|
"RefreshTokenLifetime": "30.00:00:00",
|
||||||
|
"AuthorizationCodeLifetime": "00:30:00",
|
||||||
|
"RequireHttpsMetadata": true
|
||||||
|
},
|
||||||
|
"Tus": {
|
||||||
|
"StorePath": "Uploads"
|
||||||
|
},
|
||||||
|
"Storage": {
|
||||||
|
"PreferredRemote": "2adceae3-981a-4564-9b8d-5d71a211c873",
|
||||||
|
"Remote": [
|
||||||
|
{
|
||||||
|
"Id": "minio",
|
||||||
|
"Label": "Minio",
|
||||||
|
"Region": "auto",
|
||||||
|
"Bucket": "solar-network-development",
|
||||||
|
"Endpoint": "localhost:9000",
|
||||||
|
"SecretId": "littlesheep",
|
||||||
|
"SecretKey": "password",
|
||||||
|
"EnabledSigned": true,
|
||||||
|
"EnableSsl": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "cloudflare",
|
||||||
|
"Label": "Cloudflare R2",
|
||||||
|
"Region": "auto",
|
||||||
|
"Bucket": "solar-network",
|
||||||
|
"Endpoint": "0a70a6d1b7128888c823359d0008f4e1.r2.cloudflarestorage.com",
|
||||||
|
"SecretId": "8ff5d06c7b1639829d60bc6838a542e6",
|
||||||
|
"SecretKey": "fd58158c5201be16d1872c9209d9cf199421dae3c2f9972f94b2305976580d67",
|
||||||
|
"EnableSigned": true,
|
||||||
|
"EnableSsl": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Captcha": {
|
||||||
|
"Provider": "cloudflare",
|
||||||
|
"ApiKey": "0x4AAAAAABCDUdOujj4feOb_",
|
||||||
|
"ApiSecret": "0x4AAAAAABCDUWABiJQweqlB7tYq-IqIm8U"
|
||||||
|
},
|
||||||
|
"Notifications": {
|
||||||
|
"Topic": "dev.solsynth.solian",
|
||||||
|
"Endpoint": "http://localhost:8088"
|
||||||
|
},
|
||||||
|
"Email": {
|
||||||
|
"Server": "smtp4dev.orb.local",
|
||||||
|
"Port": 25,
|
||||||
|
"UseSsl": false,
|
||||||
|
"Username": "no-reply@mail.solsynth.dev",
|
||||||
|
"Password": "password",
|
||||||
|
"FromAddress": "no-reply@mail.solsynth.dev",
|
||||||
|
"FromName": "Alphabot",
|
||||||
|
"SubjectPrefix": "Solar Network"
|
||||||
|
},
|
||||||
|
"RealtimeChat": {
|
||||||
|
"Endpoint": "https://solar-network-im44o8gq.livekit.cloud",
|
||||||
|
"ApiKey": "APIs6TiL8wj3A4j",
|
||||||
|
"ApiSecret": "SffxRneIwTnlHPtEf3zicmmv3LUEl7xXael4PvWZrEhE"
|
||||||
|
},
|
||||||
|
"GeoIp": {
|
||||||
|
"DatabasePath": "./Keys/GeoLite2-City.mmdb"
|
||||||
|
},
|
||||||
|
"Oidc": {
|
||||||
|
"Google": {
|
||||||
|
"ClientId": "961776991058-963m1qin2vtp8fv693b5fdrab5hmpl89.apps.googleusercontent.com",
|
||||||
|
"ClientSecret": ""
|
||||||
|
},
|
||||||
|
"Apple": {
|
||||||
|
"ClientId": "dev.solsynth.solian",
|
||||||
|
"TeamId": "W7HPZ53V6B",
|
||||||
|
"KeyId": "B668YP4KBG",
|
||||||
|
"PrivateKeyPath": "./Keys/Solarpass.p8"
|
||||||
|
},
|
||||||
|
"Microsoft": {
|
||||||
|
"ClientId": "YOUR_MICROSOFT_CLIENT_ID",
|
||||||
|
"ClientSecret": "YOUR_MICROSOFT_CLIENT_SECRET",
|
||||||
|
"DiscoveryEndpoint": "YOUR_MICROSOFT_DISCOVERY_ENDPOINT"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Payment": {
|
||||||
|
"Auth": {
|
||||||
|
"Afdian": "<token here>"
|
||||||
|
},
|
||||||
|
"Subscriptions": {
|
||||||
|
"Afdian": {
|
||||||
|
"7d17aae23c9611f0b5705254001e7c00": "solian.stellar.primary",
|
||||||
|
"7dfae4743c9611f0b3a55254001e7c00": "solian.stellar.nova",
|
||||||
|
"141713ee3d6211f085b352540025c377": "solian.stellar.supernova"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"KnownProxies": ["127.0.0.1", "::1"],
|
||||||
|
"Service": {
|
||||||
|
"Name": "DysonNetwork.Drive",
|
||||||
|
"Url": "https://localhost:7092"
|
||||||
|
}
|
||||||
|
}
|
82
publish/settings/pass.json
Normal file
82
publish/settings/pass.json
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
{
|
||||||
|
"Debug": true,
|
||||||
|
"BaseUrl": "http://localhost:5216",
|
||||||
|
"SiteUrl": "https://id.solian.app",
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Microsoft.AspNetCore": "Warning"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"AllowedHosts": "*",
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"App": "Host=host.docker.internal;Port=5432;Database=dyson_pass;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60"
|
||||||
|
},
|
||||||
|
"Authentication": {
|
||||||
|
"Schemes": {
|
||||||
|
"Bearer": {
|
||||||
|
"ValidAudiences": ["http://localhost:5071", "https://localhost:7099"],
|
||||||
|
"ValidIssuer": "solar-network"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"AuthToken": {
|
||||||
|
"CookieDomain": "localhost",
|
||||||
|
"PublicKeyPath": "Keys/PublicKey.pem",
|
||||||
|
"PrivateKeyPath": "Keys/PrivateKey.pem"
|
||||||
|
},
|
||||||
|
"OidcProvider": {
|
||||||
|
"IssuerUri": "https://nt.solian.app",
|
||||||
|
"PublicKeyPath": "Keys/PublicKey.pem",
|
||||||
|
"PrivateKeyPath": "Keys/PrivateKey.pem",
|
||||||
|
"AccessTokenLifetime": "01:00:00",
|
||||||
|
"RefreshTokenLifetime": "30.00:00:00",
|
||||||
|
"AuthorizationCodeLifetime": "00:30:00",
|
||||||
|
"RequireHttpsMetadata": true
|
||||||
|
},
|
||||||
|
"Captcha": {
|
||||||
|
"Provider": "cloudflare",
|
||||||
|
"ApiKey": "0x4AAAAAABCDUdOujj4feOb_",
|
||||||
|
"ApiSecret": "0x4AAAAAABCDUWABiJQweqlB7tYq-IqIm8U"
|
||||||
|
},
|
||||||
|
"GeoIp": {
|
||||||
|
"DatabasePath": "./Keys/GeoLite2-City.mmdb"
|
||||||
|
},
|
||||||
|
"Oidc": {
|
||||||
|
"Google": {
|
||||||
|
"ClientId": "961776991058-963m1qin2vtp8fv693b5fdrab5hmpl89.apps.googleusercontent.com",
|
||||||
|
"ClientSecret": ""
|
||||||
|
},
|
||||||
|
"Apple": {
|
||||||
|
"ClientId": "dev.solsynth.solian",
|
||||||
|
"TeamId": "W7HPZ53V6B",
|
||||||
|
"KeyId": "B668YP4KBG",
|
||||||
|
"PrivateKeyPath": "./Keys/Solarpass.p8"
|
||||||
|
},
|
||||||
|
"Microsoft": {
|
||||||
|
"ClientId": "YOUR_MICROSOFT_CLIENT_ID",
|
||||||
|
"ClientSecret": "YOUR_MICROSOFT_CLIENT_SECRET",
|
||||||
|
"DiscoveryEndpoint": "YOUR_MICROSOFT_DISCOVERY_ENDPOINT"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Payment": {
|
||||||
|
"Auth": {
|
||||||
|
"Afdian": "<token here>"
|
||||||
|
},
|
||||||
|
"Subscriptions": {
|
||||||
|
"Afdian": {
|
||||||
|
"7d17aae23c9611f0b5705254001e7c00": "solian.stellar.primary",
|
||||||
|
"7dfae4743c9611f0b3a55254001e7c00": "solian.stellar.nova",
|
||||||
|
"141713ee3d6211f085b352540025c377": "solian.stellar.supernova"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"KnownProxies": ["127.0.0.1", "::1"],
|
||||||
|
"Service": {
|
||||||
|
"Name": "DysonNetwork.Pass",
|
||||||
|
"Url": "https://localhost:7058"
|
||||||
|
},
|
||||||
|
"Etcd": {
|
||||||
|
"Insecure": true
|
||||||
|
}
|
||||||
|
}
|
47
publish/settings/ring.json
Normal file
47
publish/settings/ring.json
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
{
|
||||||
|
"Debug": true,
|
||||||
|
"BaseUrl": "http://localhost:5212",
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Microsoft.AspNetCore": "Warning"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"AllowedHosts": "*",
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"App": "Host=host.docker.internal;Port=5432;Database=dyson_pusher;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60"
|
||||||
|
},
|
||||||
|
"Notifications": {
|
||||||
|
"Push": {
|
||||||
|
"Production": true,
|
||||||
|
"Google": "./Keys/Solian.json",
|
||||||
|
"Apple": {
|
||||||
|
"PrivateKey": "./Keys/Solian.p8",
|
||||||
|
"PrivateKeyId": "4US4KSX4W6",
|
||||||
|
"TeamId": "W7HPZ53V6B",
|
||||||
|
"BundleIdentifier": "dev.solsynth.solian"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Email": {
|
||||||
|
"Server": "smtp4dev.orb.local",
|
||||||
|
"Port": 25,
|
||||||
|
"UseSsl": false,
|
||||||
|
"Username": "no-reply@mail.solsynth.dev",
|
||||||
|
"Password": "password",
|
||||||
|
"FromAddress": "no-reply@mail.solsynth.dev",
|
||||||
|
"FromName": "Alphabot",
|
||||||
|
"SubjectPrefix": "Solar Network"
|
||||||
|
},
|
||||||
|
"GeoIp": {
|
||||||
|
"DatabasePath": "./Keys/GeoLite2-City.mmdb"
|
||||||
|
},
|
||||||
|
"KnownProxies": ["127.0.0.1", "::1"],
|
||||||
|
"Service": {
|
||||||
|
"Name": "DysonNetwork.Ring",
|
||||||
|
"Url": "https://localhost:7259"
|
||||||
|
},
|
||||||
|
"Etcd": {
|
||||||
|
"Insecure": true
|
||||||
|
}
|
||||||
|
}
|
38
publish/settings/sphere.json
Normal file
38
publish/settings/sphere.json
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
{
|
||||||
|
"Debug": true,
|
||||||
|
"BaseUrl": "http://localhost:5071",
|
||||||
|
"SiteUrl": "https://solian.app",
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Microsoft.AspNetCore": "Warning"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"AllowedHosts": "*",
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"App": "Host=host.docker.internal;Port=5432;Database=dyson_network;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60"
|
||||||
|
},
|
||||||
|
"GeoIp": {
|
||||||
|
"DatabasePath": "./Keys/GeoLite2-City.mmdb"
|
||||||
|
},
|
||||||
|
"RealtimeChat": {
|
||||||
|
"Endpoint": "https://solar-network-im44o8gq.livekit.cloud",
|
||||||
|
"ApiKey": "",
|
||||||
|
"ApiSecret": ""
|
||||||
|
},
|
||||||
|
"Translation": {
|
||||||
|
"Provider": "Tencent",
|
||||||
|
"Region": "ap-hongkong",
|
||||||
|
"ProjectId": "0",
|
||||||
|
"SecretId": "",
|
||||||
|
"SecretKey": ""
|
||||||
|
},
|
||||||
|
"KnownProxies": ["127.0.0.1", "::1"],
|
||||||
|
"Etcd": {
|
||||||
|
"Insecure": true
|
||||||
|
},
|
||||||
|
"Service": {
|
||||||
|
"Name": "DysonNetwork.Sphere",
|
||||||
|
"Url": "https://localhost:7099"
|
||||||
|
}
|
||||||
|
}
|
@@ -10,12 +10,9 @@
|
|||||||
},
|
},
|
||||||
"AllowedHosts": "*",
|
"AllowedHosts": "*",
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
"App": "Host=localhost;Port=5432;Database=dyson_network_dev;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60"
|
"App": "Host=host.docker.internal;Port=5432;Database=dyson_network_dev;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60"
|
||||||
},
|
},
|
||||||
"KnownProxies": [
|
"KnownProxies": ["127.0.0.1", "::1"],
|
||||||
"127.0.0.1",
|
|
||||||
"::1"
|
|
||||||
],
|
|
||||||
"Etcd": {
|
"Etcd": {
|
||||||
"Insecure": true
|
"Insecure": true
|
||||||
},
|
},
|
||||||
|
@@ -10,22 +10,19 @@
|
|||||||
},
|
},
|
||||||
"AllowedHosts": "*",
|
"AllowedHosts": "*",
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
"App": "Host=localhost;Port=5432;Database=dyson_drive;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60"
|
"App": "Host=host.docker.internal;Port=5432;Database=dyson_drive;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60"
|
||||||
},
|
},
|
||||||
"Authentication": {
|
"Authentication": {
|
||||||
"Schemes": {
|
"Schemes": {
|
||||||
"Bearer": {
|
"Bearer": {
|
||||||
"ValidAudiences": [
|
"ValidAudiences": ["http://localhost:5071", "https://localhost:7099"],
|
||||||
"http://localhost:5071",
|
|
||||||
"https://localhost:7099"
|
|
||||||
],
|
|
||||||
"ValidIssuer": "solar-network"
|
"ValidIssuer": "solar-network"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"AuthToken": {
|
"AuthToken": {
|
||||||
"PublicKeyPath": "Keys/PublicKey.pem",
|
"PublicKeyPath": "app/keys/PublicKey.pem",
|
||||||
"PrivateKeyPath": "Keys/PrivateKey.pem"
|
"PrivateKeyPath": "app/keys/PrivateKey.pem"
|
||||||
},
|
},
|
||||||
"OidcProvider": {
|
"OidcProvider": {
|
||||||
"IssuerUri": "https://nt.solian.app",
|
"IssuerUri": "https://nt.solian.app",
|
||||||
@@ -122,10 +119,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"KnownProxies": [
|
"KnownProxies": ["127.0.0.1", "::1"],
|
||||||
"127.0.0.1",
|
|
||||||
"::1"
|
|
||||||
],
|
|
||||||
"Service": {
|
"Service": {
|
||||||
"Name": "DysonNetwork.Drive",
|
"Name": "DysonNetwork.Drive",
|
||||||
"Url": "https://localhost:7092"
|
"Url": "https://localhost:7092"
|
||||||
|
@@ -10,15 +10,12 @@
|
|||||||
},
|
},
|
||||||
"AllowedHosts": "*",
|
"AllowedHosts": "*",
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
"App": "Host=localhost;Port=5432;Database=dyson_pass;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60"
|
"App": "Host=host.docker.internal;Port=5432;Database=dyson_pass;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60"
|
||||||
},
|
},
|
||||||
"Authentication": {
|
"Authentication": {
|
||||||
"Schemes": {
|
"Schemes": {
|
||||||
"Bearer": {
|
"Bearer": {
|
||||||
"ValidAudiences": [
|
"ValidAudiences": ["http://localhost:5071", "https://localhost:7099"],
|
||||||
"http://localhost:5071",
|
|
||||||
"https://localhost:7099"
|
|
||||||
],
|
|
||||||
"ValidIssuer": "solar-network"
|
"ValidIssuer": "solar-network"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -74,10 +71,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"KnownProxies": [
|
"KnownProxies": ["127.0.0.1", "::1"],
|
||||||
"127.0.0.1",
|
|
||||||
"::1"
|
|
||||||
],
|
|
||||||
"Service": {
|
"Service": {
|
||||||
"Name": "DysonNetwork.Pass",
|
"Name": "DysonNetwork.Pass",
|
||||||
"Url": "https://localhost:7058"
|
"Url": "https://localhost:7058"
|
||||||
|
@@ -9,12 +9,12 @@
|
|||||||
},
|
},
|
||||||
"AllowedHosts": "*",
|
"AllowedHosts": "*",
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
"App": "Host=localhost;Port=5432;Database=dyson_pusher;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60"
|
"App": "Host=host.docker.internal;Port=5432;Database=dyson_pusher;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60"
|
||||||
},
|
},
|
||||||
"Notifications": {
|
"Notifications": {
|
||||||
"Push": {
|
"Push": {
|
||||||
"Production": true,
|
"Production": true,
|
||||||
"Google": "./Keys/Solian.json",
|
"Google": "/app/keys/Solian.json",
|
||||||
"Apple": {
|
"Apple": {
|
||||||
"PrivateKey": "./Keys/Solian.p8",
|
"PrivateKey": "./Keys/Solian.p8",
|
||||||
"PrivateKeyId": "4US4KSX4W6",
|
"PrivateKeyId": "4US4KSX4W6",
|
||||||
@@ -34,12 +34,9 @@
|
|||||||
"SubjectPrefix": "Solar Network"
|
"SubjectPrefix": "Solar Network"
|
||||||
},
|
},
|
||||||
"GeoIp": {
|
"GeoIp": {
|
||||||
"DatabasePath": "./Keys/GeoLite2-City.mmdb"
|
"DatabasePath": "/app/keys/GeoLite2-City.mmdb"
|
||||||
},
|
},
|
||||||
"KnownProxies": [
|
"KnownProxies": ["127.0.0.1", "::1"],
|
||||||
"127.0.0.1",
|
|
||||||
"::1"
|
|
||||||
],
|
|
||||||
"Service": {
|
"Service": {
|
||||||
"Name": "DysonNetwork.Ring",
|
"Name": "DysonNetwork.Ring",
|
||||||
"Url": "https://localhost:7259"
|
"Url": "https://localhost:7259"
|
||||||
|
@@ -10,10 +10,10 @@
|
|||||||
},
|
},
|
||||||
"AllowedHosts": "*",
|
"AllowedHosts": "*",
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
"App": "Host=localhost;Port=5432;Database=dyson_network;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60"
|
"App": "Host=host.docker.internal;Port=5432;Database=dyson_network;Username=postgres;Password=postgres;Include Error Detail=True;Maximum Pool Size=20;Connection Idle Lifetime=60"
|
||||||
},
|
},
|
||||||
"GeoIp": {
|
"GeoIp": {
|
||||||
"DatabasePath": "./Keys/GeoLite2-City.mmdb"
|
"DatabasePath": "/app/keys/GeoLite2-City.mmdb"
|
||||||
},
|
},
|
||||||
"RealtimeChat": {
|
"RealtimeChat": {
|
||||||
"Endpoint": "https://solar-network-im44o8gq.livekit.cloud",
|
"Endpoint": "https://solar-network-im44o8gq.livekit.cloud",
|
||||||
@@ -27,10 +27,7 @@
|
|||||||
"SecretId": "",
|
"SecretId": "",
|
||||||
"SecretKey": ""
|
"SecretKey": ""
|
||||||
},
|
},
|
||||||
"KnownProxies": [
|
"KnownProxies": ["127.0.0.1", "::1"],
|
||||||
"127.0.0.1",
|
|
||||||
"::1"
|
|
||||||
],
|
|
||||||
"Etcd": {
|
"Etcd": {
|
||||||
"Insecure": true
|
"Insecure": true
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user