gateway: converge, don't start/stop/reload
The gateway is a deployment (castle-gateway) — its lifecycle is the same convergence as everything else, so the bespoke start/stop/reload verbs (which still routed through the retired enable/disable path) are gone. - CLI: `castle gateway` is now inspection only — bare or `status` shows the route table. Start/stop/reload it via `castle apply` (render routes + reload) or `castle restart castle-gateway`. Deletes the last users of `_service_enable`/`_service_disable`, so those are removed too. - API: retire `POST /gateway/reload` (making routes live is `POST /apply`); `PUT /gateway/config` message + docstring now say apply, not deploy. - UI: GatewayPanel's "Reload" button → "Apply" (useApply); drop the useGatewayReload hook; GatewaySettings points at `castle apply`. - docs: `castle gateway reload|status` → `castle gateway` (status lens). core 129 / cli 31 / api 59 pass; dashboard builds clean; live `castle gateway` shows routes with no start/stop/reload; /gateway/reload removed from the API.
This commit is contained in:
@@ -4,7 +4,7 @@ import type { GatewayInfo } from "@/types"
|
||||
import { useSaveGatewayConfig } from "@/services/api/hooks"
|
||||
|
||||
/** Editable gateway routing + public-exposure settings (domain / public_domain /
|
||||
* tunnel / tls). Saves to castle.yaml; changes take effect on the next deploy. */
|
||||
* tunnel / tls). Saves to castle.yaml; changes take effect on the next apply. */
|
||||
export function GatewaySettings({ gateway }: { gateway: GatewayInfo }) {
|
||||
const { mutate: save, isPending, data: saved } = useSaveGatewayConfig()
|
||||
const [editing, setEditing] = useState(false)
|
||||
@@ -44,7 +44,7 @@ export function GatewaySettings({ gateway }: { gateway: GatewayInfo }) {
|
||||
<button onClick={() => setEditing(false)} className="flex items-center gap-1 text-xs px-2.5 py-1 rounded bg-[var(--border)] text-[var(--muted)]">
|
||||
<X size={12} /> Cancel
|
||||
</button>
|
||||
<span className="text-xs text-[var(--muted)]">Run <span className="font-mono">castle deploy</span> to apply.</span>
|
||||
<span className="text-xs text-[var(--muted)]">Run <span className="font-mono">castle apply</span> (or the Apply button) to converge.</span>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user