Skip to content

Latest commit

 

History

History
80 lines (61 loc) · 5.3 KB

File metadata and controls

80 lines (61 loc) · 5.3 KB

Roadmap

This file tracks the KAS-API surface implemented by kasapi-cli, grouped by domain. Checked items are wired up end-to-end (typed module + CLI subcommand + fixture-backed tests); unchecked items are still pending.

The list is kept in sync with the code on main. To claim an unchecked item, please open an issue first so work is not duplicated — see CONTRIBUTING.md.

Transport & authentication

  • SOAP / ns2:Map decoder (internal/soap)
  • KasFloodDelay enforcement and retry on flood_delay errors
  • KasAuth credential-token flow (plain + session, optional 2FA via --otp)
  • Persistent session-token cache (sessions.toml) survives across CLI invocations
  • Session lifetime extension (update_lifetime)
  • Standalone delete_session subcommand (kasapi-cli sessions delete); add_session is the KasAuth credential-token flow already covered above (internal/auth), not a separate endpoint

Configuration

  • TOML config file with named profiles and default_profile selection
  • Environment overrides (KAS_LOGIN, KAS_AUTHDATA, KAS_AUTHTYPE, KAS_PROFILE)
  • Secrets are never echoed in --help or default log output

CLI write safety

Cross-cutting prerequisites for the v0.2.0 write phase — these are not KAS-API endpoints themselves but gate every destructive subcommand. All three are in place and wired by every landed write slice; the shared post-call seam lives in internal/kaswrite. The umbrella tracker for the write phase is #13.

  • Destructive-write confirmation infrastructure (--yes / interactive [y/N] prompt, #109)
  • Structured write-action audit log (--audit-log <path> / KAS_AUDIT_LOG, #131)
  • --dry-run for write commands (preview KAS action + parameters without dispatching, #132)

Accounts & server

  • accounts list / accounts get <account-login> (get_accounts, with account_login filter)
  • accounts settings / accounts resources (get_accountsettings, get_accountresources)
  • Account write paths (add_account, update_account, delete_account, update_accountsettings, update_superusersettings, #110)
  • server info (get_server_information)

Usage

  • usage space (get_space)
  • usage space-detail (get_space_usage)
  • usage traffic (get_traffic)

Domains, subdomains, DNS

  • domains list / domains get <name> (get_domains, with domain_name filter)
  • subdomains list / subdomains get <name> (get_subdomains, with subdomain_name filter)
  • tlds list (get_topleveldomains)
  • dns list --domain <d> [--record-id <id>] (get_dns_settings)
  • DNS write paths (add_dns_settings, update_dns_settings, delete_dns_settings, reset_dns_settings, #113)
  • Domain write paths (add_domain, update_domain, delete_domain, move_domain, #111)
  • Subdomain write paths (add_subdomain, update_subdomain, move_subdomain, delete_subdomain, #112)

Mail

  • mail accounts list / mail accounts get <mail-login> (get_mailaccounts, with mail_login filter)
  • mail accounts add/update/delete (add_mailaccount, update_mailaccount, delete_mailaccount, #114)
  • mail forwards list / mail forwards get <address> (get_mailforwards, with mail_forward filter)
  • mail forwards add/update/delete (add_mailforward, update_mailforward, delete_mailforward, #115)
  • mail filters list (get_mailstandardfilter)
  • mail filters add/delete (add_mailstandardfilter, delete_mailstandardfilter, #116)
  • mail lists list / mail lists get <mailinglist-name> (get_mailinglists)
  • mail lists add/update/delete (add_mailinglist, update_mailinglist, delete_mailinglist, #117)

Hosting resources

  • databases list / databases get <database-login> (get_databases, with database_login filter)
  • databases add/update/delete (add_database, update_database, delete_database, #122)
  • ftpusers list / ftpusers get <ftp-login> (get_ftpusers, with ftp_login filter)
  • ftpusers add/update/delete (add_ftpuser, update_ftpuser, delete_ftpuser, #119)
  • sambausers list / sambausers get <samba-login> (get_sambausers, with samba_login filter)
  • sambausers add/update/delete (add_sambauser, update_sambauser, delete_sambauser, #120)
  • ddnsusers list / ddnsusers get <ddns-login> (get_ddnsusers, with ddns_login filter)
  • ddnsusers add/update/delete (add_ddnsuser, update_ddnsuser, delete_ddnsuser, #121)
  • cronjobs list / cronjobs get <cronjob-id> (get_cronjobs, with cronjob_id filter)
  • cronjobs add/update/delete (add_cronjob, update_cronjob, delete_cronjob, #118)
  • directoryprotection list [--path PATH] (get_directoryprotection, optional directory_path filter)
  • directoryprotection add/update/delete (add_directoryprotection, update_directoryprotection, delete_directoryprotection, #123)
  • softwareinstalls list / softwareinstalls get <software-id> (get_softwareinstall, with software_id filter)
  • Software install write path (add_softwareinstall, #124 — the KAS API exposes only the add action, no update/delete)
  • Filesystem & SSL helpers (add_symlink, update_chown, update_ssl, #125)