Skip to content

docs(design-proposals): focus CLI proposal on cozyctl users - #51

Open
myasnikovdaniil wants to merge 2 commits into
mainfrom
proposal/cozystack-cli-interfaces
Open

myasnikovdaniil wants to merge 2 commits into
mainfrom
proposal/cozystack-cli-interfaces

Conversation

@myasnikovdaniil

@myasnikovdaniil myasnikovdaniil commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

What this PR does

This proposal now covers one user CLI, cozyctl, for tenants and managed-service users. Previous operator CLI scope moved out, installation and upgrades need durable in-cluster API and controller, so cozystackctl will be designed separately as client of that API.

cozyctl keeps catalog discovery, generic application workflows, tenant selection and machine-readable output based on aggregated API, ApplicationDefinition, and OpenAPI.

Testing

  • git diff --check
  • Commit has valid GPG signature and DCO signoff

Downstream repositories

No downstream changes, this PR changes design only.

NONE

Define separate operator and tenant command-line interfaces backed by
shared Kubernetes client, discovery, schema, output, wait, and plugin
modules.

Document how cozypkg and check-readiness migrate into cozystackctl while
remaining compatibility entry points, and how cozyctl discovers managed
applications from the aggregated API and OpenAPI.

Assisted-By: GPT-5 <noreply@openai.com>
Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The proposal defines cozystackctl for operators and cozyctl for tenants. It specifies shared Kubernetes infrastructure, dynamic application discovery, tenant workflows, plugin behavior, compatibility contracts, security boundaries, testing, rollout, and open questions.

Changes

Unified CLI design

Layer / File(s) Summary
CLI architecture and contracts
design-proposals/cozystack-cli-interfaces/README.md
Defines operator and tenant command trees, shared client and discovery modules, generic application workflows, capability extensions, configuration and output contracts, plugin execution rules, compatibility behavior, security constraints, failure handling, testing, rollout phases, and alternatives.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly identifies the main documentation change: narrowing the CLI proposal to focus on cozyctl users. It is concise and specific.
Description check ✅ Passed The description explains the scope, rationale, testing, downstream impact, and release-note status. It does not include the template's Before review section or explicitly state whether a decision reco…
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch proposal/cozystack-cli-interfaces

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Assisted-By: LLM
Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
@myasnikovdaniil myasnikovdaniil changed the title docs(design-proposals): propose unified CLI interfaces docs(design-proposals): focus CLI proposal on cozyctl users Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant