Welcome to the Harbor CLI project! This powerful command-line tool facilitates seamless interaction with the Harbor container registry. It simplifies various tasks such as creating, updating, and managing projects, registries, and other resources in Harbor.
The Harbor CLI is designed to enhance your interaction with the Harbor container registry. Built on Golang, it offers a user-friendly interface to perform various tasks related to projects, registries, and more. Whether you're creating, updating, or managing resources, the Harbor CLI streamlines your workflow efficiently.
🔹 Get details about projects, registries, repositories and more
🔹 Create new projects, registries, and other resources
🔹 Delete projects, registries, and other resources
🔹 Run commands with various flags for enhanced functionality
🔹 More features coming soon... 🚧
It is straightforward to use the Harbor CLI as a container. You can run the following command to use the Harbor CLI as a container:
docker run -ti --rm -v $HOME/.harbor/config.yaml:/root/.harbor/config.yaml registry.goharbor.io/harbor-cli/harbor-cli --help
echo "alias harbor='docker run -ti --rm -v \$HOME/.harbor/config.yaml:/root/.harbor/config.yaml registry.goharbor.io/harbor-cli/harbor-cli'" >> ~/.zshrc
source ~/.zshrc # or restart your terminal
Harbor CLI will soon be published on Homebrew. Meantime, we recommend using Harbor in the Container or download the binary from the releases page
Using Curl or Wget isn't recommended for adding the Harbor CLI to your container. Instead, we recommend copying the Harbor CLI from our official image by using the following Dockerfile:
#...
COPY --from=registry.goharbor.io/harbor-cli/harbor-cli:latest /harbor /usr/local/bin/harbor
# --chown and --chmod flags can be used to set the permissions
>./harbor
Official Harbor CLI
Usage:
harbor [command]
Examples:
// Base command:
harbor
// Display help about the command:
harbor help
Available Commands:
artifact Manage artifacts
completion Generate the autocompletion script for the specified shell
health Get the health status of Harbor components
help Help about any command
login Log in to Harbor registry
project Manage projects and assign resources to them
registry Manage registries
repo Manage repositories
user Manage users
version Version of Harbor CLI
Flags:
--config string config file (default is $HOME/.harbor/config.yaml) (default "/Users/vadim/.harbor/config.yaml")
-h, --help help for harbor
-o, --output-format string Output format. One of: json|yaml
-v, --verbose verbose output
Use "harbor [command] --help" for more information about a command.
harbor login demo.goharbor.io -u harbor-cli -p Harbor12345
harbor project create
harbor project list
# output
┌──────────────────────────────────────────────────────────────────────────────────────────┐
│ Project Name Access Level Type Repo Count Creation Time │
│ ──────────────────────────────────────────────────────────────────────────────────────── │
│ library public project 0 1 hour ago │
└──────────────────────────────────────────────────────────────────────────────────────────┘
harbor repo list
# output
┌────────────────────────────────────────────────────────────────────────────────────────┐
│ Name Artifacts Pulls Last Modified Time │
│ ────────────────────────────────────────────────────────────────────────────────────── │
│ library/harbor-cli 1 0 0 minute ago │
└────────────────────────────────────────────────────────────────────────────────────────┘
Platform | Status |
---|---|
Linux | ✅ |
macOS | ✅ |
Windows | ✅ |
Make sure you have latest Dagger installed in your system.
git clone https://github.com/goharbor/harbor-cli.git && cd harbor-cli
dagger call build-dev --platform darwin/arm64 export --path=./harbor-cli
./harbor-dev --help
If golang is installed in your system, you can also build the project using the following commands:
git clone https://github.com/goharbor/harbor-cli.git
go build -o harbor-cli cmd/harbor/main.go
At the moment, the Harbor CLI is developed and tested with Harbor 2.11. The CLI should work with versions prior to 2.11, but not all functionalities may be available or work as expected.
Harbor <2.0.0 is not supported.
- Twitter: @project_harbor
- User Group: Join Harbor user email group: harbor-users@lists.cncf.io to get update of Harbor's news, features, releases, or to provide suggestion and feedback.
- Developer Group: Join Harbor developer group: harbor-dev@lists.cncf.io for discussion on Harbor development and contribution.
- Slack: Join Harbor's community for discussion and ask questions: Cloud Native Computing Foundation, channel: #harbor, #harbor-dev and #harbor-cli.
This project is licensed under the Apache 2.0 License. See the LICENSE file for details.
This project is maintained by the Harbor community. We thank all our contributors and users for their support.
For any questions or issues, please open an issue on our GitHub Issues page.
Give a ⭐ if this project helped you, Thank YOU!