Releases: chmmou/kasapi-cli
Release list
kasapi-cli v0.1.0-alpha.1 — Read-Phase Alpha
Warning
This is an alpha pre-release. The CLI surface, output formats, and exit-code mappings are not yet stable. Expect breaking changes between this tag and the stable v0.1.0. Do not rely on this build in unattended automation.
Important
Read-only API surface. This alpha covers the read side of the KAS API only. Write/destructive endpoints (create, update, delete, kick, etc.) are out of scope and tracked under #13 for the v0.2.0 backlog.
kasapi-cli is an independent open-source command-line client for the All-Inkl KAS API (Kunden-Administrations-System). Not affiliated with All-Inkl.com.
Highlights
KAS read-phase coverage
- Accounts:
accounts list/accounts get(get_accounts),accounts settings(get_accountsettings),accounts resources(get_accountresources). - Server:
server info(get_server_information). - Domains:
domains list/get,subdomains list/get,tlds list/get. - DNS:
dns list --domain <zone>(get_dns_settings). - Mail:
mail accounts,mail forwards,mail mailinglists,mail filter— all withlistand (where the KAS API supports it)get. - Hosting:
databases,ftpusers,sambausers,cronjobs,directoryprotection list,softwareinstalls,ddnsusers. - Usage:
usage space,usage space-detail,usage traffic --year/--month.
Authentication
- Plain auth (password every call) and session auth (KasAuth bootstrap → 40-char session token, automatically refreshed on
no_auth/unknown_session/kas_session_invalid). - Session cache persisted as TOML at
<config-dir>/kasapi-cli/sessions.toml(mode 0600, atomic temp+rename writes). - Heartbeat extends rolling expiry on every successful API call when the session was bootstrapped with
session_update_lifetime=Y. - 2FA / OTP (
--otp) supported during KasAuth bootstrap.
CLI ergonomics
- Three output formats per command:
--output=table(default),--output=json,--output=yaml. - Documented exit codes:
0success,1user error (bad flags, bad config),2API error (KAS fault, network failure). kasapi-cli config initinteractive setup,config show,config path.- Shell completions generated for
bash,zsh,fish,powershell. - Auto-generated command-tree reference under
docs/cli/(bundled in every release archive).
Reliability
- KAS
KasFloodDelayhonoured: the transport gate blocks subsequent calls for the duration the server requests;flood_protectionfaults seed a 2-second fallback. - HTTP retries on 5xx and transient network errors with exponential backoff.
gzipcontent-encoding handled transparently (regression-tested).
Supply chain
- Multi-arch binaries for
linuxandwindows×amd64andarm64, distributed astar.gz/zip. - Linux packages (
.deb,.rpm) with manpages, LICENSE, README, and CHANGELOG installed under/usr/share/doc/kasapi-cli/. - Cosign keyless signatures (
*.sig+*.pem) bound to the GitHub Actions OIDC identity. Verification:cosign verify-blob \ --certificate kasapi-cli_<ver>_linux_amd64.tar.gz.pem \ --signature kasapi-cli_<ver>_linux_amd64.tar.gz.sig \ --certificate-identity-regexp 'https://github.com/chmmou/kasapi-cli/.*' \ --certificate-oidc-issuer https://token.actions.githubusercontent.com \ kasapi-cli_<ver>_linux_amd64.tar.gz
- SPDX SBOMs (
*.sbom.spdx.json) generated by Syft per artefact, also cosign-signed. - SHA256SUMS checksum file alongside the artefacts.
Security posture
govulncheck+gosec+ Dependabot (Stage 1).- CodeQL with the
security-extendedquery pack + OSSF Scorecard +SECURITY.mddisclosure policy + SBOMs (Stage 2).
Installation
Download the archive matching your platform from the Assets below, verify the cosign signature (recommended for an alpha), extract, and place kasapi-cli on your PATH. .deb / .rpm users can apt install ./kasapi-cli_<ver>_linux_amd64.deb or rpm -i ./kasapi-cli_<ver>_linux_amd64.rpm.
Known issues
- macOS / darwin builds are not produced in this alpha. The build matrix is
linux+windowsonly. Tracked for the v0.2.0 cycle. - No write endpoints: see #13.
add_*,update_*,delete_*actions all land in v0.2.0 (#60 covers the session-write subset). - No multi-profile management yet: each invocation reads one config file. Switching between KAS accounts means swapping the config or pointing
--configat a different file. Tracked in #39. - No package manager distribution channels: AUR PKGBUILD and Homebrew tap are post-alpha tasks, see #82.
- CLI surface is not frozen: flag names, output structures, and the exit-code semantics for cobra's own missing-required-flag path may shift before the stable
v0.1.0.
Reporting issues
Please file at https://github.com/chmmou/kasapi-cli/issues. For security reports follow the disclosure policy in SECURITY.md.
For the full per-commit history of changes that landed in this alpha, see the [0.1.0-alpha.1] section of CHANGELOG.md.