@loicngr/kobo 1.9.0 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,10 @@ All notable changes to Kōbō are documented here. The format is based on
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/). Each release is an `## <version>`
|
|
5
5
|
section — the in-app "What's new" dialog reads this file.
|
|
6
6
|
|
|
7
|
+
## 1.9.1
|
|
8
|
+
|
|
9
|
+
- fix: exempt /api/health from network-auth and add local Docker compose stacks
|
|
10
|
+
|
|
7
11
|
## 1.9.0
|
|
8
12
|
|
|
9
13
|
- feat: opt out a workspace from PR-watch (skip forge polling, keep local git stats)
|
package/README.md
CHANGED
|
@@ -57,13 +57,13 @@ Want to run from source or contribute? See [`CONTRIBUTING.md`](./CONTRIBUTING.md
|
|
|
57
57
|
|
|
58
58
|
### Docker
|
|
59
59
|
|
|
60
|
-
An official `Dockerfile` and
|
|
61
|
-
(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
60
|
+
An official `Dockerfile` and three ready-to-use Compose files ship in this repository: a quick local
|
|
61
|
+
test stack, a Traefik-fronted local rehearsal (`kobo.localhost`, no domain needed), and a full VPS
|
|
62
|
+
reference (Traefik + Let's Encrypt, SSH access, optional Docker-socket passthrough for the
|
|
63
|
+
dev-server panel). See [`CONFIGURATION.md`](./CONFIGURATION.md#docker-deployment) for the complete
|
|
64
|
+
setup — every compose file, every env var, every volume mount, and the `KOBO_NETWORK_ACCESS_ENABLED`
|
|
65
|
+
/ `KOBO_NETWORK_ACCESS_BEHIND_PROXY` env vars that bootstrap network access at container boot with
|
|
66
|
+
no manual step.
|
|
67
67
|
|
|
68
68
|
## Configuration
|
|
69
69
|
|
|
@@ -9,8 +9,16 @@ import { getGlobalSettings } from '../services/settings-service.js';
|
|
|
9
9
|
* loopback is treated like any other address (see network-access-service.ts).
|
|
10
10
|
* The client IP comes only from the OS socket via getConnInfo, never from
|
|
11
11
|
* X-Forwarded-For, so a remote client cannot spoof a loopback address.
|
|
12
|
+
*
|
|
13
|
+
* `/api/health` is always exempt, regardless of `networkAccessBehindProxy`:
|
|
14
|
+
* it exposes only `{ status, version }` (nothing sensitive), and Docker's own
|
|
15
|
+
* HEALTHCHECK / a Compose healthcheck / an orchestrator's liveness probe has
|
|
16
|
+
* no way to supply the runtime-generated token — without this exemption, a
|
|
17
|
+
* "behind a reverse proxy" deployment's own container never reports healthy.
|
|
12
18
|
*/
|
|
13
19
|
export const networkAuthMiddleware = async (c, next) => {
|
|
20
|
+
if (c.req.path === '/api/health')
|
|
21
|
+
return next();
|
|
14
22
|
const address = getConnInfo(c).remote.address;
|
|
15
23
|
const global = getGlobalSettings();
|
|
16
24
|
const decision = evaluateNetworkAccess({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loicngr/kobo",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.1",
|
|
4
4
|
"description": "Kōbō — multi-workspace agent manager for Claude Code. Orchestrates isolated git worktrees with dev servers, Notion integration, and MCP tools.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "GPL-3.0-or-later",
|