Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature - Command line interface for OpenRegistry management & maintenance #380

Closed
jay-dee7 opened this issue Aug 2, 2023 · 0 comments · Fixed by #396
Closed

Feature - Command line interface for OpenRegistry management & maintenance #380

jay-dee7 opened this issue Aug 2, 2023 · 0 comments · Fixed by #396
Assignees
Labels
enhancement New feature or request P1 P1 label is used for this that we see of highest priority. Critical bugs, security issues, etc

Comments

@jay-dee7
Copy link
Member

jay-dee7 commented Aug 2, 2023

Is your feature request related to a problem? Please describe

OpenRegistry works with multiple storage provides, very often, we have to run OCI conformance tests, perform database migrations, and many other such operations. We only have a single yaml based configuration which is quite difficult to understand & becoming quite complex.
We should:

  1. Make the OpenRegistry config as optional as possible
  2. Add options to provide config via cli flags
  3. Add Daemon mode like cloudflared (control a systemd config)
  4. Configure Log format, verbosity, level, output, etc via the cli

Describe the solution you'd like

The solution is quite simple, the current main.go file becomes an entry point for our CLI and the existing functionality moves to cmd/<command>.go like cmd/openregistry.go.
We must add the following commands:

  1. openregistry start (with optional flags like --config-file, --log-format, --daemon, etc)
  2. openregistry migrations (all of the critical subcommands should have --dry-run flag if possible)
  3. run - Run the migrations
  4. generate - Automated generation of migration files
  5. rollback - Rollback the latest migration run

Describe alternatives you've considered**

nil

Additional context

nil

@jay-dee7 jay-dee7 added the enhancement New feature or request label Aug 2, 2023
@jay-dee7 jay-dee7 added the P1 P1 label is used for this that we see of highest priority. Critical bugs, security issues, etc label Aug 2, 2023
@jay-dee7 jay-dee7 self-assigned this Aug 2, 2023
@jay-dee7 jay-dee7 linked a pull request Aug 15, 2023 that will close this issue
8 tasks
@jay-dee7 jay-dee7 moved this from Todo to In Progress in Containerish Road Map 2023-24 Aug 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request P1 P1 label is used for this that we see of highest priority. Critical bugs, security issues, etc
Projects
Status: In Progress
Development

Successfully merging a pull request may close this issue.

1 participant