dev: fix ci and tilt

This commit is contained in:
2025-12-10 10:12:12 +01:00
parent 7a9759865d
commit 67bf8fdfd0
18 changed files with 10174 additions and 18270 deletions

View File

@@ -9,13 +9,6 @@
],
"rollForward": false
},
"fantomas-tool": {
"version": "4.7.9",
"commands": [
"fantomas"
],
"rollForward": false
},
"fantomas": {
"version": "7.0.3",
"commands": [
@@ -31,4 +24,4 @@
"rollForward": false
}
}
}
}

View File

@@ -1,5 +1,5 @@
variables:
PROJECT_NAME: OceanWeb
PROJECT_NAME: fornix
SKIP_TESTS: "true"
include:

View File

@@ -1,4 +1,4 @@
name='OceanWeb'
name='fornix'
namespace='default'
chart='oceanbox/{name}'.format(name=name)
repository='registry.gitlab.com/oceanbox/{name}'.format(name=name)
@@ -90,4 +90,4 @@ k8s_resource(
labels=['server']
)
# vim:ft=python
# vim:ft=python

8087
composer.lock generated

File diff suppressed because it is too large Load Diff

19817
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,34 +1,34 @@
{
"private": true,
"scripts": {
"start": "vite src/Client",
"build": "vite build -p",
"tailwind:build": "tailwindcss -i src/Client/public/style.css -o dist/public/tailwindStyle.css",
"test": "vite test/Client"
},
"devDependencies": {
"@semantic-release/changelog": "^6.0.2",
"@semantic-release/exec": "^7.1.0",
"@semantic-release/git": "^10.0.1",
"@semantic-release/gitlab": "^13.2.9",
"sass": "^1.58.3",
"semantic-release": "^25.0.2",
"semantic-release-dotnet": "^1.0.0",
"tw-animate-css": "^1.4.0",
"vite": "^7.2.2"
},
"dependencies": {
"@fortawesome/fontawesome-free": "^7.1.0",
"@microsoft/signalr": "^10.0.0",
"@sentry/browser": "^10.25.0",
"@tailwindcss/typography": "^0.5.19",
"@tailwindcss/vite": "^4.1.17",
"daisyui": "^5.5.5",
"lit": "^3.1.0",
"lit-html": "^3.1.0",
"open-sans-fonts": "^1.6.2",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"tailwindcss": "^4.1.17"
}
"private": true,
"scripts": {
"start": "vite src/Client",
"build": "vite build -p",
"tailwind:build": "tailwindcss -i src/Client/public/style.css -o dist/public/tailwindStyle.css",
"test": "vite test/Client"
},
"devDependencies": {
"@semantic-release/changelog": "^6.0.2",
"@semantic-release/exec": "^7.1.0",
"@semantic-release/git": "^10.0.1",
"@semantic-release/gitlab": "^13.2.9",
"sass": "^1.58.3",
"semantic-release": "^25.0.2",
"semantic-release-dotnet": "^1.0.0",
"tw-animate-css": "^1.4.0",
"vite": "^7.2.2"
},
"dependencies": {
"@fortawesome/fontawesome-free": "^7.1.0",
"@microsoft/signalr": "^10.0.0",
"@sentry/browser": "^10.25.0",
"@tailwindcss/typography": "^0.5.19",
"@tailwindcss/vite": "^4.1.17",
"daisyui": "^5.5.5",
"lit": "^3.1.0",
"lit-html": "^3.1.0",
"open-sans-fonts": "^1.6.2",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"tailwindcss": "^4.1.17"
}
}

View File

@@ -6,7 +6,7 @@ pkgs.mkShell {
nativeBuildInputs = [
tilt
dapr-cli
dotnetCorePackages.sdk_9_0
# dotnetCorePackages.sdk_9_0
tailwindcss_4
bun
];

View File

@@ -243,10 +243,10 @@
},
"Feliz.ViewEngine": {
"type": "Transitive",
"resolved": "0.27.0",
"contentHash": "D6OLAuwPUoxa1VcBLjcs/eArfmqxdtyv1N0piaup40lcDjt4V7CQURr7EpUaOkTU770Hbmi2V3RCgq7XmL17Zw==",
"resolved": "1.0.3",
"contentHash": "962ikmdW9oKmB4p6BJLM75D5SQJHFB+DmIUeKmHwoP1uZaXbvsXbQKQFi5slzGGUvOP8L3TYhRex6QVJri0Zjw==",
"dependencies": {
"Fsharp.Core": "[4.7.0, 5.0.0)"
"Fsharp.Core": "4.7.0"
}
},
"FSharp.Data.Csv.Core": {
@@ -333,21 +333,21 @@
},
"System.IO.Pipelines": {
"type": "Transitive",
"resolved": "10.0.0",
"contentHash": "M1eb3nfXntaRJPrrMVM9EFS8I1bDTnt0uvUS6QP/SicZf/ZZjydMD5NiXxfmwW/uQwaMDP/yX2P+zQN1NBHChg=="
"resolved": "10.0.1",
"contentHash": "26LbFXHKd7PmRnWlkjnYgmjd5B6HYVG+1MpTO25BdxTJnx6D0O16JPAC/S4YBqjtt4YpfGj1QO/Ss6SPMGEGQw=="
},
"System.Text.Encodings.Web": {
"type": "Transitive",
"resolved": "10.0.0",
"contentHash": "257hh1ep1Gqm1Lm0ulxf7vVBVMJuGN6EL4xSWjpi46DffXzm1058IiWsfSC06zSm7SniN+Tb5160UnXsSa8rRg=="
"resolved": "10.0.1",
"contentHash": "cVAka0o1rJJ5/De0pjNs7jcaZk5hUGf1HGzUyVmE2MEB1Vf0h/8qsWxImk1zjitCbeD2Avaq2P2+usdvqgbeVQ=="
},
"System.Text.Json": {
"type": "Transitive",
"resolved": "10.0.0",
"contentHash": "1Dpjwq9peG/Wt5BNbrzIhTpclfOSqBWZsUO28vVr59yQlkvL5jLBWfpfzRmJ1OY+6DciaY0DUcltyzs4fuZHjw==",
"resolved": "10.0.1",
"contentHash": "EsgwDgU1PFqhrFA9l5n+RBu76wFhNGCEwu8ITrBNhjPP3MxLyklroU5GIF8o6JYpYg6T4KD/VICfMdgPAvNp5g==",
"dependencies": {
"System.IO.Pipelines": "10.0.0",
"System.Text.Encodings.Web": "10.0.0"
"System.IO.Pipelines": "10.0.1",
"System.Text.Encodings.Web": "10.0.1"
}
},
"Thoth.Json.Net": {
@@ -367,8 +367,8 @@
"FSharp.Data": "[6.6.0, )",
"FSharp.SystemTextJson": "[1.4.36, )",
"Feliz": "[2.9.0, )",
"Feliz.ViewEngine": "[0.27.0, )",
"System.Text.Json": "[10.0.0, )",
"Feliz.ViewEngine": "[1.0.3, )",
"System.Text.Json": "[10.0.1, )",
"Thoth.Json.Net": "[12.0.0, )"
}
}

View File

@@ -27,151 +27,150 @@ open Prometheus
open Settings
type Arguments =
| Log_Level of level: int
| Port of port: int
| [<MainCommand; Last>] Dir of path: string
| Log_Level of level: int
| Port of port: int
| [<MainCommand; Last>] Dir of path: string
interface IArgParserTemplate with
member this.Usage =
match this with
| Log_Level _ -> "0=Error, 1=Warning, 2=Info, 3=Debug, 4=Verbose"
| Port _ -> "listen port (default 8085)"
| Dir _ -> "serve from dir"
interface IArgParserTemplate with
member this.Usage =
match this with
| Log_Level _ -> "0=Error, 1=Warning, 2=Info, 3=Debug, 4=Verbose"
| Port _ -> "listen port (default 8085)"
| Dir _ -> "serve from dir"
let jsonApiPage (lang: string) (page: string) (next: HttpFunc) (ctx: HttpContext) =
task {
let pageData = getJsonApiPageBySlug lang page
let mainMenuData = getJsonApiMenu lang "main"
let footerData = getJsonApiBlock lang "footer"
let header = Header.render "https://oceanbox.io/wp-content/uploads/2022/11/Oceanbox-round-white.png" mainMenuData.data
let content = Content.render pageData.data
let footer = Footer.render footerData.data
let jsonData = entityEncoder pageData |> Encode.toString 2
let pageLayout = defaultLayout pageData.data.Title jsonData
task {
let pageData = getJsonApiPageBySlug lang page
let mainMenuData = getJsonApiMenu lang "main"
let footerData = getJsonApiBlock lang "footer"
let html =
pageLayout header footer content
|> Render.htmlDocument
let header =
Header.render "https://oceanbox.io/wp-content/uploads/2022/11/Oceanbox-round-white.png" mainMenuData.data
return! htmlString html next ctx
}
let content = Content.render pageData.data
let footer = Footer.render footerData.data
let jsonData = entityEncoder pageData |> Encode.toString 2
let pageLayout = defaultLayout pageData.data.Title jsonData
let html = pageLayout header footer content |> Render.htmlDocument
return! htmlString html next ctx
}
let cacheTime = 86400
let appRoutes (lang: string) : HttpHandler =
let catchAllHandler: HttpHandler =
fun next ctx ->
let path = ctx.Request.Path.Value
let catchAllHandler: HttpHandler =
fun next ctx ->
let path = ctx.Request.Path.Value
let slug =
match path with
| null
| ""
| "/" -> "frontpage"
| p -> p.TrimStart('/')
let slug =
match path with
| null
| ""
| "/" -> "frontpage"
| p -> p.TrimStart('/')
printfn $"Slug hit: {slug} with lang: {lang}"
jsonApiPage lang slug next ctx
printfn $"Slug hit: {slug} with lang: {lang}"
jsonApiPage lang slug next ctx
choose [ GET >=> choose [ catchAllHandler ] ]
choose [ GET >=> choose [ catchAllHandler ] ]
let isLangSegment (segment: string) =
segment.Length = 2
&& segment |> Seq.forall Char.IsLetter
segment.Length = 2 && segment |> Seq.forall Char.IsLetter
let withLangAny (handler: string -> HttpHandler) : HttpHandler =
fun next ctx ->
let path =
match ctx.Request.Path.Value with
| null -> ""
| v -> v
fun next ctx ->
let path =
match ctx.Request.Path.Value with
| null -> ""
| v -> v
let trimmed = path.Trim('/')
let trimmed = path.Trim('/')
let segments =
if String.IsNullOrWhiteSpace trimmed then
[||]
else
trimmed.Split('/', StringSplitOptions.RemoveEmptyEntries)
let segments =
if String.IsNullOrWhiteSpace trimmed then
[||]
else
trimmed.Split('/', StringSplitOptions.RemoveEmptyEntries)
let lang, newPath =
if segments.Length > 0 && isLangSegment segments[0] then
let lang = segments[ 0 ].ToLowerInvariant()
let rest = segments |> Array.skip 1
let lang, newPath =
if segments.Length > 0 && isLangSegment segments[0] then
let lang = segments[0].ToLowerInvariant()
let rest = segments |> Array.skip 1
let newPath =
if rest.Length = 0 then
PathString("/")
else
PathString("/" + String.Join("/", rest))
let newPath =
if rest.Length = 0 then
PathString("/")
else
PathString("/" + String.Join("/", rest))
lang, newPath
else
"", ctx.Request.Path
lang, newPath
else
"", ctx.Request.Path
ctx.Items[ "lang" ] <- lang
ctx.Request.Path <- newPath
ctx.Items["lang"] <- lang
ctx.Request.Path <- newPath
handler lang next ctx
handler lang next ctx
let webApp = withLangAny appRoutes
let configureSerilog level =
let n =
match level with
| 0 -> LogEventLevel.Error
| 1 -> LogEventLevel.Warning
| 2 -> LogEventLevel.Information
| 3 -> LogEventLevel.Debug
| _ -> LogEventLevel.Verbose
let n =
match level with
| 0 -> LogEventLevel.Error
| 1 -> LogEventLevel.Warning
| 2 -> LogEventLevel.Information
| 3 -> LogEventLevel.Debug
| _ -> LogEventLevel.Verbose
LoggerConfiguration()
.MinimumLevel.Is(n)
.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
.MinimumLevel.Override("System", LogEventLevel.Information)
.Filter.ByExcluding("RequestPath like '/health%'")
.WriteTo.Console()
.CreateLogger()
LoggerConfiguration()
.MinimumLevel.Is(n)
.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
.MinimumLevel.Override("System", LogEventLevel.Information)
.Filter.ByExcluding("RequestPath like '/health%'")
.WriteTo.Console()
.CreateLogger()
let configureServices (service: IServiceCollection) =
service.AddResponseCaching().AddSerilog()
|> ignore
service.AddResponseCaching().AddSerilog() |> ignore
service
service
let configureApp (app: IApplicationBuilder) = app.UseResponseCaching()
let app _ =
let metricServer = new KestrelMetricServer(port = 9091)
metricServer.Start() |> ignore
let metricServer = new KestrelMetricServer(port = 9091)
metricServer.Start() |> ignore
application {
url $"http://0.0.0.0:{port}"
use_static "public"
use_router webApp
app_config configureApp
service_config configureServices
memory_cache
use_json_serializer (Thoth.Json.Giraffe.ThothSerializer())
use_gzip
logging (fun logger -> logger.AddSerilog() |> ignore)
}
application {
url $"http://0.0.0.0:{port}"
use_static "public"
use_router webApp
app_config configureApp
service_config configureServices
memory_cache
use_json_serializer (Thoth.Json.Giraffe.ThothSerializer())
use_gzip
logging (fun logger -> logger.AddSerilog() |> ignore)
}
let colorizer =
function
| ErrorCode.HelpText -> None
| _ -> Some ConsoleColor.Red
function
| ErrorCode.HelpText -> None
| _ -> Some ConsoleColor.Red
let errorHandler = ProcessExiter(colorizer = colorizer)
[<EntryPoint>]
let main argv =
let parser =
ArgumentParser.Create<Arguments>(programName = "OceanWeb", errorHandler = errorHandler)
let parser =
ArgumentParser.Create<Arguments>(programName = "Fornix", errorHandler = errorHandler)
let args = parser.Parse argv
let port = args.GetResult(Port, defaultValue = 8085)
Log.Logger <- configureSerilog (args.GetResult(Log_Level, defaultValue = 4))
run (app port)
0
let args = parser.Parse argv
let port = args.GetResult(Port, defaultValue = 8085)
Log.Logger <- configureSerilog (args.GetResult(Log_Level, defaultValue = 4))
run (app port)
0

View File

@@ -34,7 +34,7 @@
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Serilog" Version="4.3.0" />
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
<PackageReference Include="Serilog.AspNetCore" Version="10.0.0" />
<PackageReference Include="Serilog.Expressions" Version="5.0.0" />
<PackageReference Include="Thoth.Json.Giraffe" Version="6.0.0" />
<PackageReference Include="Thoth.Json.Net" Version="12.0.0" />

View File

@@ -165,17 +165,17 @@
},
"Serilog.AspNetCore": {
"type": "Direct",
"requested": "[9.0.0, )",
"resolved": "9.0.0",
"contentHash": "JslDajPlBsn3Pww1554flJFTqROvK9zz9jONNQgn0D8Lx2Trw8L0A8/n6zEQK1DAZWXrJwiVLw8cnTR3YFuYsg==",
"requested": "[10.0.0, )",
"resolved": "10.0.0",
"contentHash": "a/cNa1mY4On1oJlfGG1wAvxjp5g7OEzk/Jf/nm7NF9cWoE7KlZw1GldrifUBWm9oKibHkR7Lg/l5jy3y7ACR8w==",
"dependencies": {
"Serilog": "4.2.0",
"Serilog.Extensions.Hosting": "9.0.0",
"Serilog": "4.3.0",
"Serilog.Extensions.Hosting": "10.0.0",
"Serilog.Formatting.Compact": "3.0.0",
"Serilog.Settings.Configuration": "9.0.0",
"Serilog.Sinks.Console": "6.0.0",
"Serilog.Settings.Configuration": "10.0.0",
"Serilog.Sinks.Console": "6.1.1",
"Serilog.Sinks.Debug": "3.0.0",
"Serilog.Sinks.File": "6.0.0"
"Serilog.Sinks.File": "7.0.0"
}
},
"Serilog.Expressions": {
@@ -321,10 +321,10 @@
},
"Feliz.ViewEngine": {
"type": "Transitive",
"resolved": "0.27.0",
"contentHash": "D6OLAuwPUoxa1VcBLjcs/eArfmqxdtyv1N0piaup40lcDjt4V7CQURr7EpUaOkTU770Hbmi2V3RCgq7XmL17Zw==",
"resolved": "1.0.3",
"contentHash": "962ikmdW9oKmB4p6BJLM75D5SQJHFB+DmIUeKmHwoP1uZaXbvsXbQKQFi5slzGGUvOP8L3TYhRex6QVJri0Zjw==",
"dependencies": {
"Fsharp.Core": "[4.7.0, 5.0.0)"
"Fsharp.Core": "4.7.0"
}
},
"FSharp.Control.Websockets": {
@@ -502,67 +502,82 @@
"Microsoft.Extensions.Primitives": "8.0.0"
}
},
"Microsoft.Extensions.Configuration": {
"type": "Transitive",
"resolved": "10.0.0",
"contentHash": "H4SWETCh/cC5L1WtWchHR6LntGk3rDTTznZMssr4cL8IbDmMWBxY+MOGDc/ASnqNolLKPIWHWeuC1ddiL/iNPw==",
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
"Microsoft.Extensions.Primitives": "10.0.0"
}
},
"Microsoft.Extensions.Configuration.Abstractions": {
"type": "Transitive",
"resolved": "9.0.0",
"contentHash": "lqvd7W3FGKUO1+ZoUEMaZ5XDJeWvjpy2/M/ptCGz3tXLD4HWVaSzjufsAsjemasBEg+2SxXVtYVvGt5r2nKDlg==",
"resolved": "10.0.0",
"contentHash": "d2kDKnCsJvY7mBVhcjPSp9BkJk48DsaHPg5u+Oy4f8XaOqnEedRy/USyvnpHL92wpJ6DrTPy7htppUUzskbCXQ==",
"dependencies": {
"Microsoft.Extensions.Primitives": "9.0.0"
"Microsoft.Extensions.Primitives": "10.0.0"
}
},
"Microsoft.Extensions.Configuration.Binder": {
"type": "Transitive",
"resolved": "9.0.0",
"contentHash": "RiScL99DcyngY9zJA2ROrri7Br8tn5N4hP4YNvGdTN/bvg1A3dwvDOxHnNZ3Im7x2SJ5i4LkX1uPiR/MfSFBLQ==",
"resolved": "10.0.0",
"contentHash": "tMF9wNh+hlyYDWB8mrFCQHQmWHlRosol1b/N2Jrefy1bFLnuTlgSYmPyHNmz8xVQgs7DpXytBRWxGhG+mSTp0g==",
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "9.0.0"
"Microsoft.Extensions.Configuration": "10.0.0",
"Microsoft.Extensions.Configuration.Abstractions": "10.0.0"
}
},
"Microsoft.Extensions.DependencyInjection": {
"type": "Transitive",
"resolved": "9.0.0",
"contentHash": "MCPrg7v3QgNMr0vX4vzRXvkNGgLg8vKWX0nKCWUxu2uPyMsaRgiRc1tHBnbTcfJMhMKj2slE/j2M9oGkd25DNw==",
"resolved": "10.0.0",
"contentHash": "f0RBabswJq+gRu5a+hWIobrLWiUYPKMhCD9WO3sYBAdSy3FFH14LMvLVFZc2kPSCimBLxSuitUhsd6tb0TAY6A==",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0"
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0"
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions": {
"type": "Transitive",
"resolved": "9.0.0",
"contentHash": "+6f2qv2a3dLwd5w6JanPIPs47CxRbnk+ZocMJUhv9NxP88VlOcJYZs9jY+MYSjxvady08bUZn6qgiNh7DadGgg=="
"resolved": "10.0.0",
"contentHash": "L3AdmZ1WOK4XXT5YFPEwyt0ep6l8lGIPs7F5OOBZc77Zqeo01Of7XXICy47628sdVl0v/owxYJTe86DTgFwKCA=="
},
"Microsoft.Extensions.DependencyModel": {
"type": "Transitive",
"resolved": "9.0.0",
"contentHash": "saxr2XzwgDU77LaQfYFXmddEDRUKHF4DaGMZkNB3qjdVSZlax3//dGJagJkKrGMIPNZs2jVFXITyCCR6UHJNdA=="
"resolved": "10.0.0",
"contentHash": "RFYJR7APio/BiqdQunRq6DB+nDB6nc2qhHr77mlvZ0q0BT8PubMXN7XicmfzCbrDE/dzhBnUKBRXLTcqUiZDGg==",
"dependencies": {
"System.Text.Encodings.Web": "10.0.0",
"System.Text.Json": "10.0.0"
}
},
"Microsoft.Extensions.Diagnostics.Abstractions": {
"type": "Transitive",
"resolved": "9.0.0",
"contentHash": "1K8P7XzuzX8W8pmXcZjcrqS6x5eSSdvhQohmcpgiQNY/HlDAlnrhR9dvlURfFz428A+RTCJpUyB+aKTA6AgVcQ==",
"resolved": "10.0.0",
"contentHash": "SfK89ytD61S7DgzorFljSkUeluC1ncn6dtZgwc0ot39f/BEYWBl5jpgvodxduoYAs1d9HG8faCDRZxE95UMo2A==",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0",
"Microsoft.Extensions.Options": "9.0.0"
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
"Microsoft.Extensions.Options": "10.0.0",
"System.Diagnostics.DiagnosticSource": "10.0.0"
}
},
"Microsoft.Extensions.FileProviders.Abstractions": {
"type": "Transitive",
"resolved": "9.0.0",
"contentHash": "uK439QzYR0q2emLVtYzwyK3x+T5bTY4yWsd/k/ZUS9LR6Sflp8MIdhGXW8kQCd86dQD4tLqvcbLkku8qHY263Q==",
"resolved": "10.0.0",
"contentHash": "/ppSdehKk3fuXjlqCDgSOtjRK/pSHU8eWgzSHfHdwVm5BP4Dgejehkw+PtxKG2j98qTDEHDst2Y99aNsmJldmw==",
"dependencies": {
"Microsoft.Extensions.Primitives": "9.0.0"
"Microsoft.Extensions.Primitives": "10.0.0"
}
},
"Microsoft.Extensions.Hosting.Abstractions": {
"type": "Transitive",
"resolved": "9.0.0",
"contentHash": "yUKJgu81ExjvqbNWqZKshBbLntZMbMVz/P7Way2SBx7bMqA08Mfdc9O7hWDKAiSp+zPUGT6LKcSCQIPeDK+CCw==",
"resolved": "10.0.0",
"contentHash": "KrN6TGFwCwqOkLLk/idW/XtDQh+8In+CL9T4M1Dx+5ScsjTq4TlVbal8q532m82UYrMr6RiQJF2HvYCN0QwVsA==",
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "9.0.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0",
"Microsoft.Extensions.Diagnostics.Abstractions": "9.0.0",
"Microsoft.Extensions.FileProviders.Abstractions": "9.0.0",
"Microsoft.Extensions.Logging.Abstractions": "9.0.0"
"Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
"Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
"Microsoft.Extensions.FileProviders.Abstractions": "10.0.0",
"Microsoft.Extensions.Logging.Abstractions": "10.0.0"
}
},
"Microsoft.Extensions.Http": {
@@ -577,20 +592,21 @@
},
"Microsoft.Extensions.Logging": {
"type": "Transitive",
"resolved": "9.0.0",
"contentHash": "crjWyORoug0kK7RSNJBTeSE6VX8IQgLf3nUpTB9m62bPXp/tzbnOsnbe8TXEG0AASNaKZddnpHKw7fET8E++Pg==",
"resolved": "10.0.0",
"contentHash": "BStFkd5CcnEtarlcgYDBcFzGYCuuNMzPs02wN3WBsOFoYIEmYoUdAiU+au6opzoqfTYJsMTW00AeqDdnXH2CvA==",
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.0",
"Microsoft.Extensions.Logging.Abstractions": "9.0.0",
"Microsoft.Extensions.Options": "9.0.0"
"Microsoft.Extensions.DependencyInjection": "10.0.0",
"Microsoft.Extensions.Logging.Abstractions": "10.0.0",
"Microsoft.Extensions.Options": "10.0.0"
}
},
"Microsoft.Extensions.Logging.Abstractions": {
"type": "Transitive",
"resolved": "9.0.0",
"contentHash": "g0UfujELzlLbHoVG8kPKVBaW470Ewi+jnptGS9KUi6jcb+k2StujtK3m26DFSGGwQ/+bVgZfsWqNzlP6YOejvw==",
"resolved": "10.0.0",
"contentHash": "FU/IfjDfwaMuKr414SSQNTIti/69bHEMb+QKrskRb26oVqpx3lNFXMjs/RC9ZUuhBhcwDM2BwOgoMw+PZ+beqQ==",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0"
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
"System.Diagnostics.DiagnosticSource": "10.0.0"
}
},
"Microsoft.Extensions.ObjectPool": {
@@ -600,17 +616,17 @@
},
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "9.0.0",
"contentHash": "y2146b3jrPI3Q0lokKXdKLpmXqakYbDIPDV6r3M8SqvSf45WwOTzkyfDpxnZXJsJQEpAsAqjUq5Pu8RCJMjubg==",
"resolved": "10.0.0",
"contentHash": "8oCAgXOow5XDrY9HaXX1QmH3ORsyZO/ANVHBlhLyCeWTH5Sg4UuqZeOTWJi6484M+LqSx0RqQXDJtdYy2BNiLQ==",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0",
"Microsoft.Extensions.Primitives": "9.0.0"
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
"Microsoft.Extensions.Primitives": "10.0.0"
}
},
"Microsoft.Extensions.Primitives": {
"type": "Transitive",
"resolved": "9.0.0",
"contentHash": "N3qEBzmLMYiASUlKxxFIISP4AiwuPTHF5uCh+2CWSwwzAJiIYx0kBJsS30cp1nvhSySFAVi30jecD307jV+8Kg=="
"resolved": "10.0.0",
"contentHash": "inRnbpCS0nwO/RuoZIAqxQUuyjaknOOnCEZB55KSMMjRhl0RQDttSmLSGsUJN3RQ3ocf5NDLFd2mOQViHqMK5w=="
},
"Microsoft.IdentityModel.JsonWebTokens": {
"type": "Transitive",
@@ -678,22 +694,22 @@
},
"Serilog.Extensions.Hosting": {
"type": "Transitive",
"resolved": "9.0.0",
"contentHash": "u2TRxuxbjvTAldQn7uaAwePkWxTHIqlgjelekBtilAGL5sYyF3+65NWctN4UrwwGLsDC7c3Vz3HnOlu+PcoxXg==",
"resolved": "10.0.0",
"contentHash": "E7juuIc+gzoGxgzFooFgAV8g9BfiSXNKsUok9NmEpyAXg2odkcPsMa/Yo4axkJRlh0se7mkYQ1GXDaBemR+b6w==",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0",
"Microsoft.Extensions.Hosting.Abstractions": "9.0.0",
"Microsoft.Extensions.Logging.Abstractions": "9.0.0",
"Serilog": "4.2.0",
"Serilog.Extensions.Logging": "9.0.0"
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
"Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
"Microsoft.Extensions.Logging.Abstractions": "10.0.0",
"Serilog": "4.3.0",
"Serilog.Extensions.Logging": "10.0.0"
}
},
"Serilog.Extensions.Logging": {
"type": "Transitive",
"resolved": "9.0.0",
"contentHash": "NwSSYqPJeKNzl5AuXVHpGbr6PkZJFlNa14CdIebVjK3k/76kYj/mz5kiTRNVSsSaxM8kAIa1kpy/qyT9E4npRQ==",
"resolved": "10.0.0",
"contentHash": "vx0kABKl2dWbBhhqAfTOk53/i8aV/5VaT3a6il9gn72Wqs2pM7EK2OB6No6xdqK2IaY6Zf9gdjLuK9BVa2rT+Q==",
"dependencies": {
"Microsoft.Extensions.Logging": "9.0.0",
"Microsoft.Extensions.Logging": "10.0.0",
"Serilog": "4.2.0"
}
},
@@ -707,18 +723,18 @@
},
"Serilog.Settings.Configuration": {
"type": "Transitive",
"resolved": "9.0.0",
"contentHash": "4/Et4Cqwa+F88l5SeFeNZ4c4Z6dEAIKbu3MaQb2Zz9F/g27T5a3wvfMcmCOaAiACjfUb4A6wrlTVfyYUZk3RRQ==",
"resolved": "10.0.0",
"contentHash": "LNq+ibS1sbhTqPV1FIE69/9AJJbfaOhnaqkzcjFy95o+4U+STsta9mi97f1smgXsWYKICDeGUf8xUGzd/52/uA==",
"dependencies": {
"Microsoft.Extensions.Configuration.Binder": "9.0.0",
"Microsoft.Extensions.DependencyModel": "9.0.0",
"Serilog": "4.2.0"
"Microsoft.Extensions.Configuration.Binder": "10.0.0",
"Microsoft.Extensions.DependencyModel": "10.0.0",
"Serilog": "4.3.0"
}
},
"Serilog.Sinks.Console": {
"type": "Transitive",
"resolved": "6.0.0",
"contentHash": "fQGWqVMClCP2yEyTXPIinSr5c+CBGUvBybPxjAGcf7ctDhadFhrQw03Mv8rJ07/wR5PDfFjewf2LimvXCDzpbA==",
"resolved": "6.1.1",
"contentHash": "8jbqgjUyZlfCuSTaJk6lOca465OndqOz3KZP6Cryt/IqZYybyBu7GP0fE/AXBzrrQB3EBmQntBFAvMVz1COvAA==",
"dependencies": {
"Serilog": "4.0.0"
}
@@ -733,10 +749,10 @@
},
"Serilog.Sinks.File": {
"type": "Transitive",
"resolved": "6.0.0",
"contentHash": "lxjg89Y8gJMmFxVkbZ+qDgjl+T4yC5F7WSLTvA+5q0R04tfKVLRL/EHpYoJ/MEQd2EeCKDuylBIVnAYMotmh2A==",
"resolved": "7.0.0",
"contentHash": "fKL7mXv7qaiNBUC71ssvn/dU0k9t0o45+qm2XgKAlSt19xF+ijjxyA3R6HmCgfKEKwfcfkwWjayuQtRueZFkYw==",
"dependencies": {
"Serilog": "4.0.0"
"Serilog": "4.2.0"
}
},
"System.Buffers": {
@@ -752,6 +768,11 @@
"System.Security.Cryptography.ProtectedData": "4.4.0"
}
},
"System.Diagnostics.DiagnosticSource": {
"type": "Transitive",
"resolved": "10.0.0",
"contentHash": "0KdBK+h7G13PuOSC2R/DalAoFMvdYMznvGRuICtkdcUMXgl/gYXsG6z4yUvTxHSMACorWgHCU1Faq0KUHU6yAQ=="
},
"System.IdentityModel.Tokens.Jwt": {
"type": "Transitive",
"resolved": "6.10.0",
@@ -763,8 +784,8 @@
},
"System.IO.Pipelines": {
"type": "Transitive",
"resolved": "10.0.0",
"contentHash": "M1eb3nfXntaRJPrrMVM9EFS8I1bDTnt0uvUS6QP/SicZf/ZZjydMD5NiXxfmwW/uQwaMDP/yX2P+zQN1NBHChg=="
"resolved": "10.0.1",
"contentHash": "26LbFXHKd7PmRnWlkjnYgmjd5B6HYVG+1MpTO25BdxTJnx6D0O16JPAC/S4YBqjtt4YpfGj1QO/Ss6SPMGEGQw=="
},
"System.Security.Cryptography.Cng": {
"type": "Transitive",
@@ -778,16 +799,16 @@
},
"System.Text.Encodings.Web": {
"type": "Transitive",
"resolved": "10.0.0",
"contentHash": "257hh1ep1Gqm1Lm0ulxf7vVBVMJuGN6EL4xSWjpi46DffXzm1058IiWsfSC06zSm7SniN+Tb5160UnXsSa8rRg=="
"resolved": "10.0.1",
"contentHash": "cVAka0o1rJJ5/De0pjNs7jcaZk5hUGf1HGzUyVmE2MEB1Vf0h/8qsWxImk1zjitCbeD2Avaq2P2+usdvqgbeVQ=="
},
"System.Text.Json": {
"type": "Transitive",
"resolved": "10.0.0",
"contentHash": "1Dpjwq9peG/Wt5BNbrzIhTpclfOSqBWZsUO28vVr59yQlkvL5jLBWfpfzRmJ1OY+6DciaY0DUcltyzs4fuZHjw==",
"resolved": "10.0.1",
"contentHash": "EsgwDgU1PFqhrFA9l5n+RBu76wFhNGCEwu8ITrBNhjPP3MxLyklroU5GIF8o6JYpYg6T4KD/VICfMdgPAvNp5g==",
"dependencies": {
"System.IO.Pipelines": "10.0.0",
"System.Text.Encodings.Web": "10.0.0"
"System.IO.Pipelines": "10.0.1",
"System.Text.Encodings.Web": "10.0.1"
}
},
"shared": {
@@ -797,8 +818,8 @@
"FSharp.Data": "[6.6.0, )",
"FSharp.SystemTextJson": "[1.4.36, )",
"Feliz": "[2.9.0, )",
"Feliz.ViewEngine": "[0.27.0, )",
"System.Text.Json": "[10.0.0, )",
"Feliz.ViewEngine": "[1.0.3, )",
"System.Text.Json": "[10.0.1, )",
"Thoth.Json.Net": "[12.0.0, )"
}
}

View File

@@ -9,8 +9,8 @@
<PackageReference Include="Feliz" Version="2.9.0" />
<PackageReference Include="FSharp.Data" Version="6.6.0" />
<PackageReference Include="FSharp.SystemTextJson" Version="1.4.36" />
<PackageReference Include="Feliz.ViewEngine" Version="0.27.0" />
<PackageReference Include="System.Text.Json" Version="10.0.0" />
<PackageReference Include="Feliz.ViewEngine" Version="1.0.3" />
<PackageReference Include="System.Text.Json" Version="10.0.1" />
<PackageReference Include="Thoth.Json.Net" Version="12.0.0" />
</ItemGroup>

View File

@@ -1,6 +1,6 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: OceanWeb
namespace: fornix
patches:
- target:
version: v1

View File

@@ -2,4 +2,4 @@
path: /spec/template/spec/containers/0/envFrom/-
value:
secretRef:
name: <x>-OceanWeb-env
name: <x>-fornix-env

View File

@@ -1,11 +1,11 @@
generatorOptions:
disableNameSuffixHash: true
configMapGenerator:
- name: <x>-OceanWeb-appsettings
- name: <x>-fornix-appsettings
files:
- appsettings.json
secretGenerator:
- name: <x>-OceanWeb-env
- name: <x>-fornix-env
envs:
- default.env
patches:

View File

@@ -4,7 +4,7 @@ image:
tag: latest
podAnnotations:
dapr.io/app-id: "<x>-OceanWeb"
dapr.io/app-id: "<x>-fornix"
dapr.io/enabled: "true"
dapr.io/app-port: "8000"
dapr.io/config: "tracing"
@@ -26,14 +26,14 @@ ingress:
nginx.ingress.kubernetes.io/proxy-buffer-size: 128k
nginx.ingress.kubernetes.io/whitelist-source-range: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
hosts:
- host: <x>-OceanWeb.dev.oceanbox.io
- host: <x>-fornix.dev.oceanbox.io
paths:
- path: /
pathType: ImplementationSpecific
tls:
- hosts:
- <x>-OceanWeb.dev.oceanbox.io
secretName: <x>-OceanWeb-tls
- <x>-fornix.dev.oceanbox.io
secretName: <x>-fornix-tls
securityContext:
capabilities:

View File

@@ -57,18 +57,7 @@
"sort-packages": true
},
"extra": {
"patches": {
"drupal/decoupled_router": {
"Isssue #3111456: Unable to resolve path on node in other language than default":"https://git.drupalcode.org/project/decoupled_router/-/merge_requests/35.diff",
"Isssue #3111456: Relocate langcode where it used to be entity.langcode":"https://git.drupalcode.org/issue/decoupled_router-3111456/-/merge_requests/1.diff"
},
"drupal/jsonapi_include": {
"Issue #3490592: Incompatile with jsonapi_default fix": "https://git.drupalcode.org/project/jsonapi_include/-/merge_requests/28.diff"
},
"drupal/jsonapi_extras": {
"Issue #3373151: Auto include default includes of related entities": "patches/jsonapi_extras_default_includes.patch"
}
},
"patches": {},
"drupal-scaffold": {
"locations": {
"web-root": "web/"

View File

@@ -3,11 +3,11 @@ _core:
langcode: en
uuid: 7867f20f-9076-4838-bd57-d163006179db
name: Oceanbox
mail: admin@example.com
slogan: 'We offer a whole new perspective of the complexity of oceanography and whats going on under the surface of the ocean in the near shore environment.'
mail: noreply@oceanbox.io
slogan: "We offer a whole new perspective of the complexity of oceanography and whats going on under the surface of the ocean in the near shore environment."
page:
403: ''
404: ''
403: ""
404: ""
front: /node/1
admin_compact_mode: false
weight_select_max: 100