dev: fix ci and tilt
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
variables:
|
||||
PROJECT_NAME: OceanWeb
|
||||
PROJECT_NAME: fornix
|
||||
SKIP_TESTS: "true"
|
||||
|
||||
include:
|
||||
|
||||
4
Tiltfile
4
Tiltfile
@@ -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
8087
composer.lock
generated
File diff suppressed because it is too large
Load Diff
19817
package-lock.json
generated
19817
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
64
package.json
64
package.json
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ pkgs.mkShell {
|
||||
nativeBuildInputs = [
|
||||
tilt
|
||||
dapr-cli
|
||||
dotnetCorePackages.sdk_9_0
|
||||
# dotnetCorePackages.sdk_9_0
|
||||
tailwindcss_4
|
||||
bun
|
||||
];
|
||||
|
||||
@@ -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, )"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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" />
|
||||
|
||||
@@ -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, )"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: OceanWeb
|
||||
namespace: fornix
|
||||
patches:
|
||||
- target:
|
||||
version: v1
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
path: /spec/template/spec/containers/0/envFrom/-
|
||||
value:
|
||||
secretRef:
|
||||
name: <x>-OceanWeb-env
|
||||
name: <x>-fornix-env
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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/"
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user