Files
ansiblings/cubes/admin/cockpit
Benjamin Diedrichsen 587ff2cf47
Publish snapshot / snapshot (push) Failing after 1m58s
Add release pipeline and upgrade toolchain to TypeScript 7
Publishing infrastructure
- Three Gitea workflows: ci.yml (PRs, non-main pushes), publish-snapshot.yml
  (main -> Gitea under dist-tag @main) and release.yml (tags -> Gitea + npmjs)
- Tag-driven releases as <package-dir>-v<version>; the manifest stays the
  source of truth and release.yml refuses to run if tag and manifest disagree
- Every publish is idempotent: each step checks the registry first, so a run
  that fails on the second registry can simply be re-run
- Hard coverage gate (85% branches) shared by CI, the pre-push hook and local
  runs, since the thresholds live in vitest.config.ts rather than a CI flag
- README.PUBLISH.md documents the whole mechanism

Toolchain
- TypeScript 7 native compiler; drop tsgo and ts-node, use tsx for dev runs
- Biome 1.9 -> 2.x, Vitest 1 -> 4, zod 3 -> 4, inquirer 8 -> 14, pnpm 11.17.0
- Replace inquirer-checkbox-plus-prompt, which is peer-capped at inquirer <9,
  with enquirer's AutoComplete; the CubeSelection contract is unchanged
- Stand in for zod 4's removed z.AnyZodObject with a local AnyObjectSchema

Repo hygiene
- Stop tracking dist/; ignore coverage/, *.tsbuildinfo, .npmrc* and release.json
- Drop package-lock.json in favour of pnpm-lock.yaml

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-27 15:17:14 +02:00
..
2026-07-27 13:09:00 +02:00
2026-07-27 13:09:00 +02:00

cockpit

Install Cockpit web-based server management interface

Purpose

This cube installs Cockpit, a powerful web-based interface for managing Linux servers, making system administration accessible through your browser.

What is Cockpit?

Cockpit is a modern, interactive server admin interface that runs in your web browser. It provides:

  • Real-time monitoring: CPU, memory, disk, and network usage graphs
  • Container management: View and manage Docker containers
  • Service management: Start, stop, and manage systemd services
  • Storage administration: Manage disks, RAID, and filesystems
  • Network configuration: Configure network interfaces and firewall
  • Terminal access: Built-in terminal for command-line access
  • User management: Create and manage user accounts
  • Software updates: View and apply system updates

Think of it as a control panel for your Linux server - all accessible from any web browser.

What This Cube Does

  1. Installs the cockpit package
  2. Installs sscg (Simple Signed Certificate Generator) for HTTPS support
  3. Starts the Cockpit service
  4. Makes Cockpit accessible on port 9090

Configuration

This cube currently has no configurable parameters.

Dependencies

None - this cube can run standalone.

Post-Installation

Access Cockpit by navigating to:

https://your-server-ip:9090

Login with any valid system user account (e.g., root or a user created with the user-add cube).

Security Notes

  • Cockpit uses HTTPS by default (self-signed certificate)
  • Your browser will show a security warning on first access (expected with self-signed certs)
  • Consider using UFW to restrict access: sudo ufw allow from YOUR_IP to any port 9090
  • Disable Cockpit when not in use: sudo systemctl stop cockpit.socket

Common Use Cases

  • Monitor server performance in real-time
  • Manage Docker containers without command-line
  • View system logs and troubleshoot issues
  • Configure network settings
  • Apply system updates
  • Manage storage and filesystems

Managing Cockpit

Start/stop Cockpit:

sudo systemctl start cockpit.socket
sudo systemctl stop cockpit.socket
sudo systemctl status cockpit.socket

Disable Cockpit from starting on boot:

sudo systemctl disable cockpit.socket