Skip to content

Add documentation for Harbor CLI configuration and encryption management - #645

Merged
Vad1mo merged 13 commits into
goharbor:mainfrom
qcserestipy:cnt-doc-harborcli
May 27, 2026
Merged

Vad1mo merged 13 commits into
goharbor:mainfrom
qcserestipy:cnt-doc-harborcli

Conversation

@qcserestipy

Copy link
Copy Markdown
Contributor

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: ALTHAF <althafasharaf02@gmail.com>
Signed-off-by: ALTHAF <althafasharaf02@gmail.com>
Signed-off-by: ALTHAF <althafasharaf02@gmail.com>
Signed-off-by: Patrick Eschenbach <patrickeschenbach96@gmail.com>
…nt, added section for encryption management

Signed-off-by: Patrick Eschenbach <patrickeschenbach96@gmail.com>
… docs

Signed-off-by: Patrick Eschenbach <patrickeschenbach96@gmail.com>
@qcserestipy

Copy link
Copy Markdown
Contributor Author

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

@qcserestipy

Copy link
Copy Markdown
Contributor 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 <patrickeschenbach96@gmail.com>

@bupd bupd left a comment

Copy link
Copy Markdown
Member

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

Comment thread cli-docs.sh Outdated
Comment thread Makefile Outdated
Comment thread content/cli-docs/cli-encryption/_index.md
Comment thread layouts/partials/navbar.html Outdated
Comment thread cli-docs.sh
…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 <patrickeschenbach96@gmail.com>
@qcserestipy

Copy link
Copy Markdown
Contributor 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

Vad1mo commented Jun 6, 2025

Copy link
Copy Markdown
Member
  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

@Vad1mo Vad1mo left a comment

Copy link
Copy Markdown
Member

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
Copy Markdown
Contributor 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 <patrickeschenbach96@gmail.com>
Signed-off-by: Patrick Eschenbach <patrickeschenbach96@gmail.com>

@bupd bupd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

lgtm

Signed-off-by: Patrick Eschenbach <patrickeschenbach96@gmail.com>
Signed-off-by: Patrick Eschenbach <patrickeschenbach96@gmail.com>
@Vad1mo

Vad1mo commented Aug 12, 2025

Copy link
Copy Markdown
Member

@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

@wy65701436 wy65701436 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

lgtm

@Vad1mo
Vad1mo merged commit 15e0add into goharbor:main May 27, 2026
5 checks passed
rossigee pushed a commit to rossigee/website that referenced this pull request Jun 30, 2026
…ent (goharbor#645)

* modified readme file

Signed-off-by: ALTHAF <althafasharaf02@gmail.com>

* deleted md files

Signed-off-by: ALTHAF <althafasharaf02@gmail.com>

* Added Documentation for Harbor-CLI

Signed-off-by: ALTHAF <althafasharaf02@gmail.com>

* Cherry pick finished

Signed-off-by: Patrick Eschenbach <patrickeschenbach96@gmail.com>

* Added more cli docs entries, added section for configuration management, added section for encryption management

Signed-off-by: Patrick Eschenbach <patrickeschenbach96@gmail.com>

* Added cross reference between encryption and configuration management docs

Signed-off-by: Patrick Eschenbach <patrickeschenbach96@gmail.com>

* Fix: typo

Signed-off-by: Patrick Eschenbach <patrickeschenbach96@gmail.com>

* Updated cli-docs generation script to track the latest tag of harbor-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 <patrickeschenbach96@gmail.com>

* Added latest tag after release of harbor-cli

Signed-off-by: Patrick Eschenbach <patrickeschenbach96@gmail.com>

* Clean up

Signed-off-by: Patrick Eschenbach <patrickeschenbach96@gmail.com>

* Try add ranges to fix sorting in cli-docs side bar

Signed-off-by: Patrick Eschenbach <patrickeschenbach96@gmail.com>

* add ranges to fix sorting in cli-docs side bar and layout

Signed-off-by: Patrick Eschenbach <patrickeschenbach96@gmail.com>

---------

Signed-off-by: ALTHAF <althafasharaf02@gmail.com>
Signed-off-by: Patrick Eschenbach <patrickeschenbach96@gmail.com>
Co-authored-by: ALTHAF <althafasharaf02@gmail.com>
Co-authored-by: Prasanth Baskar <bupdprasanth@gmail.com>
Signed-off-by: Ross Golder <ross@golder.org>
rossigee added a commit to rossigee/website that referenced this pull request Jun 30, 2026
The content/cli-docs/ directory is generated at build time by cli-docs.sh,
similar to content/docs/. It should not be tracked in git.

This reverts the accidental tracking added in PR goharbor#645 by untracking the 109
generated files and adding content/cli-docs/ to .gitignore.

Signed-off-by: Ross Golder <ross@golder.org>
rossigee added a commit to rossigee/website that referenced this pull request Jun 30, 2026
The content/cli-docs/ directory is generated at build time by cli-docs.sh,
similar to content/docs/. It should not be tracked in git.

This reverts the accidental tracking added in PR goharbor#645 by untracking the 109
generated files and adding content/cli-docs/ to .gitignore.

Signed-off-by: Ross Golder <ross@golder.org>
rossigee added a commit to rossigee/website that referenced this pull request Jun 30, 2026
The content/cli-docs/ directory is generated at build time by cli-docs.sh,
similar to content/docs/. It should not be tracked in git.

This reverts the accidental tracking added in PR goharbor#645 by untracking the 109
generated files and adding content/cli-docs/ to .gitignore.

Signed-off-by: Ross Golder <ross@golder.org>
rossigee added a commit to rossigee/website that referenced this pull request Jun 30, 2026
The content/cli-docs/ directory is generated at build time by cli-docs.sh,
similar to content/docs/. It should not be tracked in git.

This reverts the accidental tracking added in PR goharbor#645 by untracking the 109
generated files and adding content/cli-docs/ to .gitignore.

Signed-off-by: Ross Golder <ross@golder.org>
rossigee added a commit to rossigee/website that referenced this pull request Jul 20, 2026
Same class of breaking change as the docs/ partials: these two
templates (added by goharbor#645, after the Hugo upgrade work
was originally branched) never got the .File nil-guard that Hugo
0.163 requires. Broke the /cli-docs section outright once
content/cli-docs stopped being tracked in git and started coming
purely from cli-docs.sh's generated output at build time - the
section index page has no .File, and Hugo 0.163 errors instead of
Hugo 0.74's more lenient handling.

Verified: full `make production-build` succeeds (2150 pages, 0
errors), /cli-docs renders.

Signed-off-by: Ross Golder <ross@golder.org>
rossigee added a commit to rossigee/website that referenced this pull request Jul 20, 2026
Same class of breaking change as the docs/ partials: these two
templates (added by goharbor#645, after the Hugo upgrade work
was originally branched) never got the .File nil-guard that Hugo
0.163 requires. Broke the /cli-docs section outright once
content/cli-docs stopped being tracked in git and started coming
purely from cli-docs.sh's generated output at build time - the
section index page has no .File, and Hugo 0.163 errors instead of
Hugo 0.74's more lenient handling.

Verified: full `make production-build` succeeds (2150 pages, 0
errors), /cli-docs renders.

Signed-off-by: Ross Golder <ross@golder.org>
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.

8 participants