🔨 Add aspire build workflow
This commit is contained in:
190
.github/workflows/docker-build.yml
vendored
190
.github/workflows/docker-build.yml
vendored
@@ -1,4 +1,4 @@
|
|||||||
name: Build and Push Microservices
|
name: Aspire Publish Workflow
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -7,7 +7,7 @@ on:
|
|||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-sphere:
|
publish:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -15,174 +15,46 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Setup NBGV
|
|
||||||
uses: dotnet/nbgv@master
|
|
||||||
id: nbgv
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
- name: Log in to GitHub Container Registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ghcr.io
|
|
||||||
username: ${{ github.actor }}
|
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
- name: Build and push DysonNetwork.Sphere Docker image
|
|
||||||
uses: docker/build-push-action@v6
|
|
||||||
with:
|
|
||||||
file: DysonNetwork.Sphere/Dockerfile
|
|
||||||
context: .
|
|
||||||
push: true
|
|
||||||
tags: ghcr.io/${{ vars.PACKAGE_OWNER }}/dyson-sphere:latest
|
|
||||||
platforms: linux/amd64
|
|
||||||
|
|
||||||
build-pass:
|
- name: Setup .NET
|
||||||
runs-on: ubuntu-latest
|
uses: actions/setup-dotnet@v3
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
packages: write
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
dotnet-version: "9.0.x"
|
||||||
- name: Setup NBGV
|
|
||||||
uses: dotnet/nbgv@master
|
|
||||||
id: nbgv
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
- name: Log in to GitHub Container Registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ghcr.io
|
|
||||||
username: ${{ github.actor }}
|
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
- name: Build and push DysonNetwork.Pass Docker image
|
|
||||||
uses: docker/build-push-action@v6
|
|
||||||
with:
|
|
||||||
file: DysonNetwork.Pass/Dockerfile
|
|
||||||
context: .
|
|
||||||
push: true
|
|
||||||
tags: ghcr.io/${{ vars.PACKAGE_OWNER }}/dyson-pass:latest
|
|
||||||
platforms: linux/amd64
|
|
||||||
|
|
||||||
build-ring:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
packages: write
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Setup NBGV
|
|
||||||
uses: dotnet/nbgv@master
|
|
||||||
id: nbgv
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
- name: Log in to GitHub Container Registry
|
- name: Log in to GitHub Container Registry
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.actor }}
|
username: ${{ github.actor }}
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Build and push DysonNetwork.Pusher Docker image
|
|
||||||
uses: docker/build-push-action@v6
|
|
||||||
with:
|
|
||||||
file: DysonNetwork.Ring/Dockerfile
|
|
||||||
context: .
|
|
||||||
push: true
|
|
||||||
tags: ghcr.io/${{ vars.PACKAGE_OWNER }}/dyson-ring:latest
|
|
||||||
platforms: linux/amd64
|
|
||||||
|
|
||||||
build-drive:
|
- name: Install Aspire CLI
|
||||||
runs-on: ubuntu-latest
|
run: dotnet tool install -g Aspire.Cli --prerelease
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
packages: write
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Setup NBGV
|
|
||||||
uses: dotnet/nbgv@master
|
|
||||||
id: nbgv
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
- name: Log in to GitHub Container Registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ghcr.io
|
|
||||||
username: ${{ github.actor }}
|
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
- name: Build and push DysonNetwork.Drive Docker image
|
|
||||||
uses: docker/build-push-action@v6
|
|
||||||
with:
|
|
||||||
file: DysonNetwork.Drive/Dockerfile
|
|
||||||
context: .
|
|
||||||
push: true
|
|
||||||
tags: ghcr.io/${{ vars.PACKAGE_OWNER }}/dyson-drive:latest
|
|
||||||
platforms: linux/amd64
|
|
||||||
|
|
||||||
build-gateway:
|
- name: Build and Publish Aspire Application
|
||||||
runs-on: ubuntu-latest
|
run: aspire publish --project ./DysonNetwork.Control/DysonNetwork.Control.csproj --output publish
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
packages: write
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Setup NBGV
|
|
||||||
uses: dotnet/nbgv@master
|
|
||||||
id: nbgv
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
- name: Log in to GitHub Container Registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ghcr.io
|
|
||||||
username: ${{ github.actor }}
|
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
- name: Build and push DysonNetwork.Gateway Docker image
|
|
||||||
uses: docker/build-push-action@v6
|
|
||||||
with:
|
|
||||||
file: DysonNetwork.Gateway/Dockerfile
|
|
||||||
context: .
|
|
||||||
push: true
|
|
||||||
tags: ghcr.io/${{ vars.PACKAGE_OWNER }}/dyson-gateway:latest
|
|
||||||
platforms: linux/amd64
|
|
||||||
|
|
||||||
build-develop:
|
- name: Tag and Push Images
|
||||||
runs-on: ubuntu-latest
|
run: |
|
||||||
permissions:
|
IMAGES=( "sphere" "pass" "ring" "drive" "develop" )
|
||||||
contents: read
|
|
||||||
packages: write
|
for image in "${IMAGES[@]}"; do
|
||||||
steps:
|
IMAGE_NAME="ghcr.io/${{ vars.PACKAGE_OWNER }}/dyson-$image:latest"
|
||||||
- name: Checkout repository
|
SOURCE_IMAGE_NAME="$image:latest" # Aspire's default local image name
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
echo "Tagging and pushing $SOURCE_IMAGE_NAME to $IMAGE_NAME..."
|
||||||
|
docker tag $SOURCE_IMAGE_NAME $IMAGE_NAME
|
||||||
|
docker push $IMAGE_NAME
|
||||||
|
done
|
||||||
|
|
||||||
|
- name: Upload Aspire Publish Directory
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
name: aspire-publish-output
|
||||||
- name: Setup NBGV
|
path: ./publish/
|
||||||
uses: dotnet/nbgv@master
|
|
||||||
id: nbgv
|
- name: Upload Docker Compose file
|
||||||
- name: Set up Docker Buildx
|
uses: actions/upload-artifact@v3
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
- name: Log in to GitHub Container Registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
name: docker-compose-output
|
||||||
username: ${{ github.actor }}
|
path: ./publish/docker-compose.yml
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
- name: Build and push DysonNetwork.Develop Docker image
|
|
||||||
uses: docker/build-push-action@v6
|
|
||||||
with:
|
|
||||||
file: DysonNetwork.Develop/Dockerfile
|
|
||||||
context: .
|
|
||||||
push: true
|
|
||||||
tags: ghcr.io/${{ vars.PACKAGE_OWNER }}/dyson-develop:latest
|
|
||||||
platforms: linux/amd64
|
|
||||||
|
@@ -22,6 +22,7 @@
|
|||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AClaim_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fa7fdc52b6e574ae7b9822133be91162a15800_003Ff7_003Feebffd8d_003FClaim_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AClaim_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fa7fdc52b6e574ae7b9822133be91162a15800_003Ff7_003Feebffd8d_003FClaim_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AClusterConfig_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbf3f51607a3e4e76b5b91640cd7409195c430_003F3f_003F87f581ed_003FClusterConfig_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AClusterConfig_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbf3f51607a3e4e76b5b91640cd7409195c430_003F3f_003F87f581ed_003FClusterConfig_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AConnectionMultiplexer_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F2ed0e2f073b1d77b98dadb822da09ee8a9dfb91bf29bf2bbaecb8750d7e74cc9_003FConnectionMultiplexer_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AConnectionMultiplexer_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F2ed0e2f073b1d77b98dadb822da09ee8a9dfb91bf29bf2bbaecb8750d7e74cc9_003FConnectionMultiplexer_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AContainerResourceBuilderExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F19256b6d2a8a458692f07fe8d98d79e9161628_003Fd7_003F266d041b_003FContainerResourceBuilderExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AControllerBase_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F0b5acdd962e549369896cece0026e556214600_003Ff6_003Fdf150bb3_003FControllerBase_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AControllerBase_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F0b5acdd962e549369896cece0026e556214600_003Ff6_003Fdf150bb3_003FControllerBase_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AController_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb320290c1b964c3e88434ff5505d9086c9a00_003Fdf_003F95b535f9_003FController_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AController_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb320290c1b964c3e88434ff5505d9086c9a00_003Fdf_003F95b535f9_003FController_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACookieOptions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F663f33943e4c4e889dc7050c1e97e703e000_003F89_003Fb06980d7_003FCookieOptions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACookieOptions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F663f33943e4c4e889dc7050c1e97e703e000_003F89_003Fb06980d7_003FCookieOptions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
@@ -33,6 +34,7 @@
|
|||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADbFunctionsExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fc1c46ed28c61e1caa79185e4375a8ae7cd11cd5ba8853dcb37577f93f2ca8d5_003FDbFunctionsExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADbFunctionsExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fc1c46ed28c61e1caa79185e4375a8ae7cd11cd5ba8853dcb37577f93f2ca8d5_003FDbFunctionsExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADiagnosticServiceCollectionExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F47e01f36dea14a23aaea6e0391c1347ace00_003F3c_003F140e6d8b_003FDiagnosticServiceCollectionExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADiagnosticServiceCollectionExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F47e01f36dea14a23aaea6e0391c1347ace00_003F3c_003F140e6d8b_003FDiagnosticServiceCollectionExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADirectory_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb6f0571a6bc744b0b551fd4578292582e54c00_003Fde_003F94973e27_003FDirectory_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADirectory_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb6f0571a6bc744b0b551fd4578292582e54c00_003Fde_003F94973e27_003FDirectory_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADockerComposeServiceExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4768773ea5864bf8b6fc7a1a3c6f6f311fc38_003F2d_003F5f83b17e_003FDockerComposeServiceExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEndpointConventionBuilderExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F8bb08a178b5b43c5bac20a5a54159a5b2a800_003F8a_003F101938e3_003FEndpointConventionBuilderExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEndpointConventionBuilderExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F8bb08a178b5b43c5bac20a5a54159a5b2a800_003F8a_003F101938e3_003FEndpointConventionBuilderExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEndpointHttpContextExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc181aff8c6ec418494a7efcfec578fc154e00_003F81_003F048fd513_003FEndpointHttpContextExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEndpointHttpContextExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc181aff8c6ec418494a7efcfec578fc154e00_003F81_003F048fd513_003FEndpointHttpContextExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEndpointReference_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E2_003Fresharper_002Dhost_003FSourcesCache_003Fd5f877f8f192ec96518ae1b12604f822fe9d2d030cdf8c9ada29b2b831f442f_003FEndpointReference_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEndpointReference_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E2_003Fresharper_002Dhost_003FSourcesCache_003Fd5f877f8f192ec96518ae1b12604f822fe9d2d030cdf8c9ada29b2b831f442f_003FEndpointReference_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
|
35
publish/.env
Normal file
35
publish/.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
|
181
publish/docker-compose.yaml
Normal file
181
publish/docker-compose.yaml
Normal file
@@ -0,0 +1,181 @@
|
|||||||
|
services:
|
||||||
|
docker-compose-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://docker-compose-dashboard:18889"
|
||||||
|
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc"
|
||||||
|
OTEL_SERVICE_NAME: "ring"
|
||||||
|
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://docker-compose-dashboard:18889"
|
||||||
|
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc"
|
||||||
|
OTEL_SERVICE_NAME: "pass"
|
||||||
|
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://docker-compose-dashboard:18889"
|
||||||
|
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc"
|
||||||
|
OTEL_SERVICE_NAME: "drive"
|
||||||
|
expose:
|
||||||
|
- "${DRIVE_PORT}"
|
||||||
|
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://docker-compose-dashboard:18889"
|
||||||
|
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc"
|
||||||
|
OTEL_SERVICE_NAME: "sphere"
|
||||||
|
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://docker-compose-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://docker-compose-dashboard:18889"
|
||||||
|
OTEL_EXPORTER_OTLP_PROTOCOL: "grpc"
|
||||||
|
OTEL_SERVICE_NAME: "gateway"
|
||||||
|
expose:
|
||||||
|
- "5000"
|
||||||
|
networks:
|
||||||
|
- "aspire"
|
||||||
|
networks:
|
||||||
|
aspire:
|
||||||
|
driver: "bridge"
|
26
settings/develop.json
Normal file
26
settings/develop.json
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"Debug": true,
|
||||||
|
"BaseUrl": "http://localhost:5071",
|
||||||
|
"SiteUrl": "https://solian.app",
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Microsoft.AspNetCore": "Warning"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"AllowedHosts": "*",
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"KnownProxies": [
|
||||||
|
"127.0.0.1",
|
||||||
|
"::1"
|
||||||
|
],
|
||||||
|
"Etcd": {
|
||||||
|
"Insecure": true
|
||||||
|
},
|
||||||
|
"Service": {
|
||||||
|
"Name": "DysonNetwork.Develop",
|
||||||
|
"Url": "https://localhost:7192"
|
||||||
|
}
|
||||||
|
}
|
133
settings/drive.json
Normal file
133
settings/drive.json
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
{
|
||||||
|
"Debug": true,
|
||||||
|
"BaseUrl": "http://localhost:5090",
|
||||||
|
"GatewayUrl": "http://localhost:5094",
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Microsoft.AspNetCore": "Warning"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"AllowedHosts": "*",
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
}
|
88
settings/pass.json
Normal file
88
settings/pass.json
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
{
|
||||||
|
"Debug": true,
|
||||||
|
"BaseUrl": "http://localhost:5216",
|
||||||
|
"SiteUrl": "https://id.solian.app",
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Microsoft.AspNetCore": "Warning"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"AllowedHosts": "*",
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
}
|
50
settings/ring.json
Normal file
50
settings/ring.json
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
{
|
||||||
|
"Debug": true,
|
||||||
|
"BaseUrl": "http://localhost:5212",
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Microsoft.AspNetCore": "Warning"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"AllowedHosts": "*",
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
}
|
41
settings/sphere.json
Normal file
41
settings/sphere.json
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"Debug": true,
|
||||||
|
"BaseUrl": "http://localhost:5071",
|
||||||
|
"SiteUrl": "https://solian.app",
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Microsoft.AspNetCore": "Warning"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"AllowedHosts": "*",
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user