A little context.
A clear next step.
Choose the right client, understand the current support boundary, and follow a deliberate installation workflow.
The repository is private. The current catalog has 0 published entries and no public Rivetin installer is advertised here. Rivetin 0.1.0 has completed CLI upgrade, API and Kubernetes readback, Island asset byte verification and real browser acceptance. Scope: CloudTower 4.9.0 development/test environment only; not a production or all-version guarantee. IPMI 0.1.2 remains enabled. SSH Channel 0.1.1, Disk SMART 0.1.1 and Context Menu 0.2.6 are deployed and enabled, with limited read-only interface acceptance. Host collection, real SMART samples/history and resource-changing actions have not been verified. Fresh installation, uninstall and other client platforms were not revalidated in this round.
One home for your extensions.
Rivetin 0.1.0 brings extension management, independent settings, lifecycle controls, an extension marketplace and operation logs into CloudTower. Functional settings are saved on the server; the browser stores personal interface preferences only.
The project is MIT licensed and independently developed. It is not an official SmartX product. Current extensions must be trusted and reviewed; fault isolation, publisher signatures, automatic configuration-schema migration and web-based framework self-update are not implemented.
The CLI is rivetin, the API prefix is /api/rivetin/v1, plugin IDs begin with rivetin-, and plugin archives end in .rivetin.json. Legacy PluginKit IDs, paths, environment variables and package formats have no compatibility aliases. The CLI does not automatically import or migrate old deployments.
Choose your client.
The portable client embeds SSH, HTTPS and installation resources. A released client does not require Node.js, Python, an external SSH program or kubectl on your computer. It does not change PATH, the registry or the system trust store.
The six platform targets below have local contract and cross-build coverage. The framework deployment has completed acceptance in one CloudTower 4.9.0 development/test environment; this does not establish live installation coverage for every client target. File names identify source build outputs, not public download links.
A portable client.
rivetin-windows-amd64.exerivetin-windows-arm64.exe
Run the executable directly from PowerShell. Examples below use the amd64 client; use the arm64 file on Windows ARM.
Client-target evidence: local checks and cross-builds. Framework deployment acceptance: CloudTower 4.9.0 development/test environment only.
A portable client.
rivetin-darwin-amd64rivetin-darwin-arm64
Choose arm64 for Apple Silicon or amd64 for Intel. If the executable bit was not preserved, add it to this file before running it.
Client-target evidence: local checks and cross-builds. Framework deployment acceptance: CloudTower 4.9.0 development/test environment only.
A portable client.
rivetin-linux-amd64rivetin-linux-arm64
Choose the binary for your CPU architecture. If the executable bit was not preserved, add it to this file before running it.
Client-target evidence: local checks and cross-builds. Framework deployment acceptance: CloudTower 4.9.0 development/test environment only.
After obtaining a verified build through an authorized channel, keep its LICENSE, THIRD_PARTY_NOTICES.txt and SHA256SUMS alongside it. Verify the checksum before use. The examples use the selected platform’s executable; change its architecture or local path when needed.
rivetin help --lang en-US
rivetin version
rivetin licensesBuilding from authorized source
Source builds require the repository’s existing Node.js 22, npm, tar and Go 1.27.x toolchain. Keep project-local caches and use the same selected Go executable throughout. These tools are developer requirements, not runtime requirements for a released portable client.
npm run setup
npm test
npm run build
npm run packagenode cli/scripts/prepare.mjs --go <GO_EXECUTABLE>The CLI guide includes Go module preparation, verification and six-target build scripts. Follow it before running Go tests on a fresh checkout; ignored embedded payloads are not included in source.
CLI source-build instructions Repository access is required.Check the exact build.
Two checks apply: the installer matches an exact Tower image and component layout; the framework checks an extension’s declared Tower build identifiers, framework API and optional framework-version range. A major release such as “4.9” does not establish compatibility.
| Tower image | Node runtime |
|---|---|
registry.smtx.io/cloudtower/tower:v4.9.0-rc-20260517114030 | v20.12.1 |
This exact profile originated from historical installer validation. The coordinating project has completed a controlled Rivetin upgrade, state readback, child-plugin updates and limited read-only browser acceptance in its CloudTower 4.9.0 development/test environment. Fresh installation, uninstall and other client platforms were not revalidated in this round. That acceptance does not extend to other builds or production environments. A plugin declaration such as 4.9.0 is the version reported by Tower; it must not be interpreted as proof of that exact RC image or support for every 4.9.x build.
An empty towerBuilds list does not permit live installation or activation. Network Topology and Policy Converter currently have empty lists. Context Menu and Disk SMART now declare only 4.9.0, with the limited acceptance scope documented below. Do not add a guessed build to get past the gate.
Inspect first.
Install with a known target.
These are CLI reference examples, not a one-command public installer. Replace every placeholder and use a verified build only in an authorized environment. The connection options below match the current CLI help.
- Prepare the connection.
Use SSH access to the Tower VM with passwordless sudo, a Tower administrator account, and independently verified host trust. The SSH hostname and the Tower HTTPS hostname must match.
- Verify certificates and keys.
Use
--ssh-hostkeyfor the known host fingerprint.--ca-fileadds a private CA without changing system trust. The alternative--tls-cert-sha256pins an independently verified DER leaf certificate and cannot be combined with--ca-file. There is no unconditional skip-verification option. - Run read-only preflight.
detect,statusandplaninspect the target over SSH. They do not deploy resources. An unknown build may be shown for diagnosis, but deployment remains blocked.
rivetin detect --ssh tower.example.invalid:22 --ssh-user <SSH_USER> --ssh-hostkey SHA256:<VERIFIED_HOST_KEY> --lang en-US
rivetin plan --ssh tower.example.invalid:22 --ssh-user <SSH_USER> --ssh-hostkey SHA256:<VERIFIED_HOST_KEY> --lang en-USFor installation, add the matching Tower HTTPS origin, administrator and certificate options. Passwords use non-echoing prompts; do not put passwords or private keys in command arguments, logs or website forms.
rivetin install --ssh tower.example.invalid:22 --ssh-user <SSH_USER> --ssh-hostkey SHA256:<VERIFIED_HOST_KEY> --tower https://tower.example.invalid --user <TOWER_ADMIN> --ca-file <CA_CERT_FILE> --lang en-USThe installer creates its own backend resources and registers the Rivetin Island. It does not patch official frontend files or restart official Tower services. It refuses unknown ownership instead of taking over an unmanaged deployment. Installation finishes globally disabled.
rivetin enable --ssh tower.example.invalid:22 --ssh-user <SSH_USER> --ssh-hostkey SHA256:<VERIFIED_HOST_KEY> --tower https://tower.example.invalid --user <TOWER_ADMIN> --ca-file <CA_CERT_FILE> --lang en-USEnabling the framework does not enable an individually disabled extension or grant SSH collection rights.
Install. Configure. Enable.
The extension center separates the installed-plugin view from the marketplace. The marketplace only exposes published entries backed by real release assets, checksums and a nonempty declared build list. The current catalog contains a draft IPMI entry; no public installable market entry is available.
With an authorized package, upload its .rivetin.json file through the extension center or use the CLI. Installation verifies the package, identity, version, checksum and current compatibility. Installation and updates leave the extension disabled.
rivetin plugin list --ssh tower.example.invalid:22 --ssh-user <SSH_USER> --ssh-hostkey SHA256:<VERIFIED_HOST_KEY> --tower https://tower.example.invalid --user <TOWER_ADMIN> --ca-file <CA_CERT_FILE> --lang en-US
rivetin plugin install --package ./rivetin-ipmi-redirection-0.1.2.rivetin.json --ssh tower.example.invalid:22 --ssh-user <SSH_USER> --ssh-hostkey SHA256:<VERIFIED_HOST_KEY> --tower https://tower.example.invalid --user <TOWER_ADMIN> --ca-file <CA_CERT_FILE> --lang en-USThe package path above is a file-name example from the current source version. It is not a download link or an acceptance claim. Review the extension’s settings and compatibility before enabling it.
rivetin plugin enable --plugin-id rivetin-ipmi-redirection --ssh tower.example.invalid:22 --ssh-user <SSH_USER> --ssh-hostkey SHA256:<VERIFIED_HOST_KEY> --tower https://tower.example.invalid --user <TOWER_ADMIN> --ca-file <CA_CERT_FILE> --lang en-USSave functional changes explicitly. Closing an unsaved editor offers save, discard or cancel; failed saves retain the draft. Uninstall removes the active registration but retains configuration and packages. Package updates must increase the version and preserve the current configuration schema; automatic schema migration is not available.
A shared channel.
An explicit approval.
The framework includes rivetin-ssh-channel by default, with its lifecycle and collection configuration both off. Installation does not connect to hosts. A consuming extension’s collection capability is unapproved until an administrator reviews and confirms its operations, targets and schedule.
rivetin channel status --ssh tower.example.invalid:22 --ssh-user <SSH_USER> --ssh-hostkey SHA256:<VERIFIED_HOST_KEY> --tower https://tower.example.invalid --user <TOWER_ADMIN> --ca-file <CA_CERT_FILE> --lang en-USConnection drafts can be edited in the authenticated SSH settings page or imported from a controlled sensitive file through the CLI. Credentials use an explicit host-over-cluster-over-global priority without mixing fields across levels. The backend encrypts saved secrets; read responses expose presence flags only. Draft changes require an explicit save, revoke approvals, and do not start host connections. This website never collects credentials.
rivetin channel import-host --host-profile-file <HOST_PROFILE_JSON> --ssh tower.example.invalid:22 --ssh-user <SSH_USER> --ssh-hostkey SHA256:<VERIFIED_HOST_KEY> --tower https://tower.example.invalid --user <TOWER_ADMIN> --ca-file <CA_CERT_FILE> --lang en-USImporting or removing a profile revokes related approvals and does not start a host connection. Changes to commands, versions, targets, schedules or channel settings require a new review. Arbitrary shell, destructive operations and unknown operation types are rejected.
SSH Channel 0.1.1 is enabled in the controlled deployment; connection editing, inventory and unsaved-draft exit have read-only browser acceptance. Collection settings, credentials, approvals and schedules remain unconfigured, and no real SSH host has been connected. The bounded recent-result buffer is separate from the framework’s persistent per-disk SMART history. The shared provider and HTTP history consumer have local integration coverage, but real samples, actual history and cross-day collection remain unverified.
Keep a way back.
Framework updates use the CLI; plugin updates may use a verified local package or a published market entry. Updates back up state and leave the relevant component disabled. Web-based framework self-update is not implemented.
rivetin update --ssh tower.example.invalid:22 --ssh-user <SSH_USER> --ssh-hostkey SHA256:<VERIFIED_HOST_KEY> --tower https://tower.example.invalid --user <TOWER_ADMIN> --ca-file <CA_CERT_FILE> --lang en-USIf a write has an unknown result, inspect status and its recovery information before trying again. Do not repeat an uncertain operation just because a connection timed out.
rivetin status --ssh tower.example.invalid:22 --ssh-user <SSH_USER> --ssh-hostkey SHA256:<VERIFIED_HOST_KEY> --lang en-US
rivetin recover --operation <RECOVERY_ID> --ssh tower.example.invalid:22 --ssh-user <SSH_USER> --ssh-hostkey SHA256:<VERIFIED_HOST_KEY> --tower https://tower.example.invalid --user <TOWER_ADMIN> --ca-file <CA_CERT_FILE> --lang en-USEmergency disable only needs the verified SSH connection. It writes a persistent disable marker and does not depend on healthy Tower Web/API or Kubernetes services. A browser that is already stuck may need a refresh; this is not process isolation.
rivetin disable --ssh tower.example.invalid:22 --ssh-user <SSH_USER> --ssh-hostkey SHA256:<VERIFIED_HOST_KEY> --lang en-USNormal uninstall retains data, code releases and backups. reset-config is an explicit archive operation allowed only after the framework is fully uninstalled and no managed resources remain. An uncertain reset outcome requires inspection of its retained archive and state; the general recover command does not handle it.
Source versions.
Clear delivery boundaries.
These are current local source versions, not released package versions or proof of live acceptance. Open a module on the homepage for its capabilities and remaining integration work.
| Extension | Source | Stage |
|---|---|---|
| IPMI Redirection | 0.1.2 | Dev/test enabled |
| Context Menu | 0.2.6 | Limited UI verified |
| SSH Channel | 0.1.1 | Collection unverified |
| Disk SMART | 0.1.1 | Live UI · no samples |
| Network Topology | 0.1.0 | Local demo |
| Policy Converter | 0.1.0 | Offline preview |
Current Rivetin naming is intentionally separate from old deployments. Switching an existing environment needs a separately reviewed backup, old-instance removal, new installation and configuration-entry plan. This website does not migrate or modify deployments.
Local operation logs are available in the extension center. Mirroring them into Tower’s native audit service was blocked by a system-user restriction in historical tests; it must not be described as working native audit integration.
Rivetin source repositoryReviewed October 28, 2026 against the project’s local documentation, manifests, catalog and installer profile. The GitHub repository rename was verified; access remains private. Windows amd64 help/version were checked offline for this guide. No installation, host connection or live deployment was performed by the website task.