Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0e253e1811 | |||
| bc279562ba | |||
| 82d0b754be | |||
| 4694f516fa | |||
| fa3c6b2886 |
@@ -2,9 +2,12 @@ FROM mcr.microsoft.com/devcontainers/java:21-bookworm
|
|||||||
|
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y --no-install-recommends \
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
curl \
|
||||||
postgresql-client \
|
postgresql-client \
|
||||||
redis-tools \
|
redis-tools \
|
||||||
stockfish \
|
stockfish \
|
||||||
|
&& curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
|
||||||
|
&& apt-get install -y --no-install-recommends nodejs \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
RUN mkdir -p /home/vscode/.gradle/wrapper/dists \
|
RUN mkdir -p /home/vscode/.gradle/wrapper/dists \
|
||||||
|
|||||||
@@ -2,12 +2,13 @@
|
|||||||
"name": "NowChessSystems",
|
"name": "NowChessSystems",
|
||||||
"dockerComposeFile": ["docker-compose.yml"],
|
"dockerComposeFile": ["docker-compose.yml"],
|
||||||
"service": "workspace",
|
"service": "workspace",
|
||||||
"workspaceFolder": "/workspaces/NowChessSystems",
|
"workspaceFolder": "/workspace/NowChessSystems",
|
||||||
"shutdownAction": "stopCompose",
|
"shutdownAction": "stopCompose",
|
||||||
"overrideCommand": false,
|
"overrideCommand": false,
|
||||||
"remoteUser": "vscode",
|
"remoteUser": "vscode",
|
||||||
"forwardPorts": [8080, 8081, 8082, 8083, 8084, 8085, 8086, 9086],
|
"forwardPorts": [4200, 8080, 8081, 8082, 8083, 8084, 8085, 8086, 9086],
|
||||||
"portsAttributes": {
|
"portsAttributes": {
|
||||||
|
"4200": {"label": "NowChess Frontend", "onAutoForward": "notify"},
|
||||||
"8080": {"label": "NowChess Core", "onAutoForward": "notify"},
|
"8080": {"label": "NowChess Core", "onAutoForward": "notify"},
|
||||||
"8081": {"label": "NowChess Io", "onAutoForward": "notify"},
|
"8081": {"label": "NowChess Io", "onAutoForward": "notify"},
|
||||||
"8082": {"label": "NowChess Rule", "onAutoForward": "notify"},
|
"8082": {"label": "NowChess Rule", "onAutoForward": "notify"},
|
||||||
|
|||||||
Submodule
+1
Submodule frontend added at eadcd770ba
@@ -82,3 +82,20 @@
|
|||||||
|
|
||||||
* **dependencies:** replace Fabric8 Kubernetes client with Quarkus Kubernetes client ([5f44570](https://git.janis-eccarius.de/NowChess/NowChessSystems/commit/5f44570b357277d09f33b7296860c421e2e70ce0))
|
* **dependencies:** replace Fabric8 Kubernetes client with Quarkus Kubernetes client ([5f44570](https://git.janis-eccarius.de/NowChess/NowChessSystems/commit/5f44570b357277d09f33b7296860c421e2e70ce0))
|
||||||
* **middleware:** update paths for bot generation and stockfish configuration ([2dd0501](https://git.janis-eccarius.de/NowChess/NowChessSystems/commit/2dd0501687db08dcd242359f6837125baf8a2fdc))
|
* **middleware:** update paths for bot generation and stockfish configuration ([2dd0501](https://git.janis-eccarius.de/NowChess/NowChessSystems/commit/2dd0501687db08dcd242359f6837125baf8a2fdc))
|
||||||
|
## (2026-05-02)
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **config:** update application.yml for PostgreSQL and remove staging/production configurations ([2404e61](https://git.janis-eccarius.de/NowChess/NowChessSystems/commit/2404e6164c3b50ffccbea5238d636060d6abe4d6))
|
||||||
|
* **config:** update application.yml for staging and production environments ([6113432](https://git.janis-eccarius.de/NowChess/NowChessSystems/commit/6113432a14c476a3a0dfc0d449e17d023697f2ba))
|
||||||
|
* **docker:** add .dockerignore and .gitignore files for build exclusions ([c987d8e](https://git.janis-eccarius.de/NowChess/NowChessSystems/commit/c987d8e258c0e6c4cfbdaa8381c64c410d7a2b83))
|
||||||
|
* **docker:** add Dockerfiles for building Quarkus application in native and JVM modes ([3f2d2bb](https://git.janis-eccarius.de/NowChess/NowChessSystems/commit/3f2d2bb4c97fa8cddba66e1da4427c54236dfeed))
|
||||||
|
* **docker:** add Dockerfiles for Quarkus application in JVM and native modes ([34b9933](https://git.janis-eccarius.de/NowChess/NowChessSystems/commit/34b993304670cf2aa62cd2f6460cee7b9864b08e))
|
||||||
|
* **logging:** add DEBUG/INFO/WARN logging across services (NCS-72) ([#41](https://git.janis-eccarius.de/NowChess/NowChessSystems/issues/41)) ([804a4bf](https://git.janis-eccarius.de/NowChess/NowChessSystems/commit/804a4bf179e3dfb19e2be4390e7e543caf5237c6))
|
||||||
|
* true-microservices ([#40](https://git.janis-eccarius.de/NowChess/NowChessSystems/issues/40)) ([5909242](https://git.janis-eccarius.de/NowChess/NowChessSystems/commit/590924254e8a2754de661a57a03e43f89ceb6299))
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **coordinator:** use genericKubernetesResources API for Argo Rollout scaling ([#43](https://git.janis-eccarius.de/NowChess/NowChessSystems/issues/43)) ([fa3c6b2](https://git.janis-eccarius.de/NowChess/NowChessSystems/commit/fa3c6b2886dc59c14c5dad834acc9b41e42023bb))
|
||||||
|
* **dependencies:** replace Fabric8 Kubernetes client with Quarkus Kubernetes client ([5f44570](https://git.janis-eccarius.de/NowChess/NowChessSystems/commit/5f44570b357277d09f33b7296860c421e2e70ce0))
|
||||||
|
* **middleware:** update paths for bot generation and stockfish configuration ([2dd0501](https://git.janis-eccarius.de/NowChess/NowChessSystems/commit/2dd0501687db08dcd242359f6837125baf8a2fdc))
|
||||||
|
|||||||
@@ -30,14 +30,15 @@ class AutoScaler:
|
|||||||
if kubeClientInstance.isUnsatisfied then None
|
if kubeClientInstance.isUnsatisfied then None
|
||||||
else Some(kubeClientInstance.get())
|
else Some(kubeClientInstance.get())
|
||||||
|
|
||||||
|
private val argoApiVersion = "argoproj.io/v1alpha1"
|
||||||
|
private val argoKind = "Rollout"
|
||||||
|
|
||||||
// scalafix:off DisableSyntax.asInstanceOf
|
// scalafix:off DisableSyntax.asInstanceOf
|
||||||
// scalafix:off DisableSyntax.isInstanceOf
|
|
||||||
private def rolloutSpec(rollout: GenericKubernetesResource): Option[java.util.Map[String, AnyRef]] =
|
private def rolloutSpec(rollout: GenericKubernetesResource): Option[java.util.Map[String, AnyRef]] =
|
||||||
Option(rollout.get("spec")).collect {
|
Option(rollout.get[AnyRef]("spec")).collect {
|
||||||
case m if m.isInstanceOf[java.util.Map[?, ?]] => m.asInstanceOf[java.util.Map[String, AnyRef]]
|
case m: java.util.Map[?, ?] => m.asInstanceOf[java.util.Map[String, AnyRef]]
|
||||||
}
|
}
|
||||||
// scalafix:on DisableSyntax.asInstanceOf
|
// scalafix:on DisableSyntax.asInstanceOf
|
||||||
// scalafix:on DisableSyntax.isInstanceOf
|
|
||||||
|
|
||||||
def checkAndScale: Unit =
|
def checkAndScale: Unit =
|
||||||
if config.autoScaleEnabled then
|
if config.autoScaleEnabled then
|
||||||
@@ -61,7 +62,7 @@ class AutoScaler:
|
|||||||
try
|
try
|
||||||
Option(
|
Option(
|
||||||
kube
|
kube
|
||||||
.resources(classOf[GenericKubernetesResource])
|
.genericKubernetesResources(argoApiVersion, argoKind)
|
||||||
.inNamespace(config.k8sNamespace)
|
.inNamespace(config.k8sNamespace)
|
||||||
.withName(config.k8sRolloutName)
|
.withName(config.k8sRolloutName)
|
||||||
.get(),
|
.get(),
|
||||||
@@ -102,7 +103,7 @@ class AutoScaler:
|
|||||||
try
|
try
|
||||||
Option(
|
Option(
|
||||||
kube
|
kube
|
||||||
.resources(classOf[GenericKubernetesResource])
|
.genericKubernetesResources(argoApiVersion, argoKind)
|
||||||
.inNamespace(config.k8sNamespace)
|
.inNamespace(config.k8sNamespace)
|
||||||
.withName(config.k8sRolloutName)
|
.withName(config.k8sRolloutName)
|
||||||
.get(),
|
.get(),
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
MAJOR=0
|
MAJOR=0
|
||||||
MINOR=7
|
MINOR=8
|
||||||
PATCH=0
|
PATCH=0
|
||||||
|
|||||||
@@ -23,5 +23,5 @@ class InternalAuthFilter extends ContainerRequestFilter:
|
|||||||
override def filter(ctx: ContainerRequestContext): Unit =
|
override def filter(ctx: ContainerRequestContext): Unit =
|
||||||
if authEnabled then
|
if authEnabled then
|
||||||
val header = Option(ctx.getHeaderString("X-Internal-Secret"))
|
val header = Option(ctx.getHeaderString("X-Internal-Secret"))
|
||||||
if header.isEmpty || header.get.equals(secret) then
|
if header.isEmpty || header.get != secret then
|
||||||
ctx.abortWith(Response.status(Response.Status.UNAUTHORIZED).build())
|
ctx.abortWith(Response.status(Response.Status.UNAUTHORIZED).build())
|
||||||
|
|||||||
Reference in New Issue
Block a user