Skip to content

Releases: chmmou/kasapi-cli

kasapi-cli v0.1.0-alpha.1 — Read-Phase Alpha

Choose a tag to compare

@github-actions github-actions released this 10 May 07:24
v0.1.0-alpha.1
21679d9

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 with list and (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: 0 success, 1 user error (bad flags, bad config), 2 API error (KAS fault, network failure).
  • kasapi-cli config init interactive 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 KasFloodDelay honoured: the transport gate blocks subsequent calls for the duration the server requests; flood_protection faults seed a 2-second fallback.
  • HTTP retries on 5xx and transient network errors with exponential backoff.
  • gzip content-encoding handled transparently (regression-tested).

Supply chain

  • Multi-arch binaries for linux and windows × amd64 and arm64, distributed as tar.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-extended query pack + OSSF Scorecard + SECURITY.md disclosure 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 + windows only. 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 --config at 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.