Skip to content

Conversation

qcserestipy
Copy link

Add documentation for Harbor CLI configuration and encryption management


Purpose

This PR introduces comprehensive documentation for two critical aspects of Harbor CLI:

  1. Configuration management hierarchy and credential handling
  2. Encryption mechanisms and environment-specific security recommendations

Changes

Configuration Management Documentation

  • Added detailed explanation of configuration hierarchy (--config flag > env var > XDG paths)
  • Documented multi-credential management workflow with practical examples
  • Clarified data storage paths and precedence rules
  • Included scenario-based usage patterns (temporary overrides, environment persistence, reset)

Encryption Management Documentation

  • Added overview of AES-GCM encryption implementation
  • Documented three-tier keyring backend system:
    • Environment-based keys
    • System keyring integration
    • File-based fallback
  • Provided environment-specific guidance with Kubernetes/Docker examples
  • Highlighted security recommendations for different deployment scenarios

Notes


Let me know if any sections need expansion or clarification!

Signed-off-by: Patrick Eschenbach <[email protected]>
…nt, added section for encryption management

Signed-off-by: Patrick Eschenbach <[email protected]>
@qcserestipy
Copy link
Author

The origin of this is this PR in the CLI: goharbor/harbor-cli#390

@qcserestipy
Copy link
Author

As this is my first time continuing another contributor's work in a public project, I want to ensure proper credit attribution for @Althaf66's original contributions. Please confirm commit authorship appears correctly in the branch history and verify the original contribution chain is properly referenced.

Let me know if any attribution adjustments are needed.

Signed-off-by: Patrick Eschenbach <[email protected]>
Copy link
Contributor

@bupd bupd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the contribution

I have suggested some changes

…cli; updated script to use rsync for keeping files in sync and removing outdated docs. encryption, config and main index docs have been moved to cli repo

Signed-off-by: Patrick Eschenbach <[email protected]>
@qcserestipy
Copy link
Author

@bupd, I have incorporated all of your changes and moved the encryption and config docs to the harbor-cli repo in this PR. Since the cli-docs.sh tracks the latest release now the encryption and config docs would be only seen here in case there is a new release. Does this PR have to wait until there is a new harbor-cli release then?

@Vad1mo
Copy link
Member

Vad1mo commented Jun 6, 2025

  1. It looks a bit like the title in the menu and not an entry in the menu.
    • Maybe placing the entry at the bottom will help to visually separate
    • The menue entry is called "Docs", so perhaps "Harbor CLI" would be the better option than "Harbor CLI Docs". Double Docs..
    • This looks a bit lost here, Some introduction information would be helpful eg. taken from the readme. including the supported functionality.
      • Maybe we don't need this page at all and can jump straight into the cli commands.
      • If we want to keep that page it would make sense to provide some examples, also taken from the readme
Bildschirmfoto 2025-06-06 um 20 14 40

Copy link
Member

@Vad1mo Vad1mo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The entries look a bit random, maybe
some logical order and separation would be helpful here.

image

@qcserestipy
Copy link
Author

  1. It looks a bit like the title in the menu and not an entry in the menu.

    * Maybe placing the entry at the bottom will help to visually separate
    * The venue entry is called Docs, so perhaps "Harbor CLI" would be the better option.
    
      • This looks a bit lost here, Some introduction information would be helpful eg. taken from the readme. including the supported functionality.

        • Maybe we don't need this page at all and can jump straight into the cli commands.
        • If we want to keep that page it would make sense to provide some examples, also taken from the readme
Bildschirmfoto 2025-06-06 um 20 14 40

Thank you for your feedback and sharing your thoughts! Below are my proposed updates based on your feedback—please let me know what you think.


1. Menu Placement & Naming

You’re right that “Harbor CLI” currently looks a bit like a section title rather than a clickable entry. To improve visibility, I’ll:

  • Separated by a thin horizontal rule so it stands apart visually.
  • Rename the entry to “Harbor CLI” (instead of “Docs”) to make it clearer what you’re clicking into.

If you prefer an alternative placement or styling, I’m open to suggestions!


2. Intro Page vs. Direct CLI Commands

I agree that the current intro page feels a bit empty without examples.

This comes from the fact that i moved some of the docs files including the intro page from this repo to the harbor-cli repo. The script cli-docs.sh that fetches the docs to this repo follows the latest release of the harbor-cli repo. The docs that have been moved to harbor-cli are not yet there since there was no 0.0.7 release of harbor-cli yet. When checking out main of harbor-cli the docs look like this:

Screenshot 2025-06-07 at 10-03-29 Harbor docs Harbor CLI Documentation

Please let me know if you’d prefer any tweaks—happy to adjust placement, naming, or depth of content until it feels right!

Signed-off-by: Patrick Eschenbach <[email protected]>
Copy link
Contributor

@bupd bupd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@Vad1mo
Copy link
Member

Vad1mo commented Aug 12, 2025

@qcserestipy Mayve it would make sense to inject into the top page the tag version this documentation refers too?

Here on the top down in the bottom...

Bildschirmfoto 2025-08-12 um 15 20 41

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.

7 participants