Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions src/remo/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,3 +85,21 @@ hola bundle deploy -p src/remo/src --app-id remo --port 8080
```

Or install it from the Hola web catalog once published.

## Beta channel

Remo pre-releases are published on the catalog's `beta` channel as bundle
pre-releases (for example `remo 0.11.0-beta.2`, which pins upstream
`remo-web:4.4.0rc2`). Install one beside your stable copy without the
allow-multiple override:

```bash
hola install remo --channel beta --as remo-beta
```

A beta copy starts with empty data (it tests boot, routing and SSO, not a data
migration) and follows the `beta` channel for upgrades until you change it. The
4.4 pre-release adds two dormant-by-default console surfaces you can enable at
install or later from the deployment's configuration: **Host maintenance from
the console** (`REMO_WEB_HOST_ADMIN`) and **Host registry management from the
console** (`REMO_WEB_REGISTRY_ADMIN`). Both sit behind Hola's forward-auth.
2 changes: 1 addition & 1 deletion src/remo/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "remo",
"version": "0.10.1",
"version": "0.11.0-beta.2",
"description": "Remo — browser terminal for remote development instances (Hola app package)",
"license": "MIT",
"oci": {
Expand Down
7 changes: 6 additions & 1 deletion src/remo/src/compose.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
remo-web:
image: ghcr.io/get2knowio/remo-web:4.3.4@sha256:7fa42084acb972aeea9f8581aef3d80a9643a17bfc8ecc4961fd21b0b4c52edf
image: ghcr.io/get2knowio/remo-web:4.4.0rc2@sha256:d85677da75a7618b8bfa91baea4fe4e160de632f9507176dffcf4997fc1a2fd9
environment:
# Host-header allowlist (no wildcards). Traefik serves the public host;
# loopback is kept so the container healthcheck below is accepted.
Expand All @@ -20,6 +20,11 @@ services:
# through (Traefik copies it onto the request). Both from manifest defaultEnv.
REMO_WEB_OPERATOR_AUTH: "${REMO_WEB_OPERATOR_AUTH}"
REMO_WEB_FORWARD_AUTH_HEADER: "${REMO_WEB_FORWARD_AUTH_HEADER}"
# 4.4 opt-in admin surfaces (both dormant unless exactly "enabled"; an
# empty value is treated as unset by remo-web, so an unset Hola param is
# safe). Both sit behind Hola's forward-auth operator identity.
REMO_WEB_HOST_ADMIN: "${REMO_WEB_HOST_ADMIN}"
REMO_WEB_REGISTRY_ADMIN: "${REMO_WEB_REGISTRY_ADMIN}"
volumes:
# Writable state volume (REMO_HOME). remo-web generates its service SSH
# identity here (web-identity/) and stores the registry pushed by
Expand Down
68 changes: 61 additions & 7 deletions src/remo/src/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "remo",
"version": "0.10.1",
"version": "0.11.0-beta.2",
"title": "Remo",
"description": "Browser terminal for your Remo-managed remote development instances",
"icon": "https://raw.githubusercontent.com/try-hola/apps/main/icons/remo.svg",
Expand All @@ -27,7 +27,11 @@
"isSecret": false,
"type": "enum",
"options": [
{ "value": "forward", "label": "Forward auth (Authentik / Traefik)", "description": "Trust the proxy-injected identity header named by REMO_WEB_FORWARD_AUTH_HEADER." }
{
"value": "forward",
"label": "Forward auth (Authentik / Traefik)",
"description": "Trust the proxy-injected identity header named by REMO_WEB_FORWARD_AUTH_HEADER."
}
],
"description": "How remo-web authenticates the operator who mints adoption/pairing codes. Behind Hola's Authentik forward-auth, `forward` trusts the proxy-injected identity header named by REMO_WEB_FORWARD_AUTH_HEADER.",
"label": "Operator auth mode"
Expand All @@ -38,25 +42,75 @@
"isSecret": false,
"description": "The trusted request header carrying the authenticated user, injected by Hola's Traefik forward-auth from Authentik's outpost. Default matches Authentik (X-authentik-username) — Authentik's equivalent of X-Forwarded-User. Only read when REMO_WEB_OPERATOR_AUTH=forward.",
"label": "Forward-auth identity header"
},
{
"key": "REMO_WEB_HOST_ADMIN",
"value": "",
"isSecret": false,
"type": "enum",
"options": [
{
"value": "",
"label": "Dormant (default)",
"description": "Host maintenance from the console is off; every gated route answers 404."
},
{
"value": "enabled",
"label": "Enabled",
"description": "Turn on host maintenance from the browser: clone/delete/rebuild projects and open a host shell. Gated by the forward-auth operator identity."
}
],
"description": "New in 4.4: gates the mutating host-maintenance surface (project clone/delete/rebuild, host shell). Leave dormant unless you want console-driven maintenance; it is protected by Hola's forward-auth either way.",
"label": "Host maintenance from the console"
},
{
"key": "REMO_WEB_REGISTRY_ADMIN",
"value": "",
"isSecret": false,
"type": "enum",
"options": [
{
"value": "",
"label": "Dormant (default)",
"description": "Host registry management from the console is off; every gated route answers 404."
},
{
"value": "enabled",
"label": "Enabled",
"description": "Let the console add, remove and configure SSH hosts (no workstation CLI needed). Larger blast radius than host maintenance: it changes which machines the service will SSH into."
}
],
"description": "New in 4.4: gates the registry-management surface (add/remove/configure hosts from the console via the embedded CLI). Separate from host maintenance because registry mutation changes which machines the service SSHes into. Protected by Hola's forward-auth either way.",
"label": "Host registry management from the console"
}
],
"defaults": {
"ports": [
{ "container": 8080, "protocol": "tcp" }
{
"container": 8080,
"protocol": "tcp"
}
],
"volumes": [
{ "containerPath": "/home/remo/.config/remo" }
{
"containerPath": "/home/remo/.config/remo"
}
]
},
"auth": {
"mode": "forward-auth",
"forwardAuth": {
"bypassPaths": ["/api/v1/setup/"]
"bypassPaths": [
"/api/v1/setup/"
]
}
},
"upgrade": {
"breaking": true,
"upgradeNotesUrl": "https://github.com/get2knowio/remo/blob/main/CHANGELOG.md"
"preUpgradeBackup": "recommended",
"upgradeNotesUrl": "https://github.com/get2knowio/remo/releases/tag/rc-4.4.0rc2"
},
"accepts": ["backup@1"]
"accepts": [
"backup@1"
]
}
Loading