Skip to content

Commit

Permalink
Merge pull request #199 from Althaf66/Althaf66/clidocs
Browse files Browse the repository at this point in the history
Add: Documentation for CLI
  • Loading branch information
Vad1mo authored Oct 22, 2024
2 parents 04c0305 + b4bbc2f commit 4a08b23
Show file tree
Hide file tree
Showing 41 changed files with 1,603 additions and 1 deletion.
10 changes: 10 additions & 0 deletions dagger/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -194,3 +194,13 @@ func goreleaserContainer(directoryArg *dagger.Directory, githubToken string) *da
WithEnvVariable("TINI_SUBREAPER", "true").
WithSecretVariable("GITHUB_TOKEN", token)
}

func (m *HarborCli) RunDoc(ctx context.Context, source *dagger.Directory) *dagger.Directory {
fmt.Println("Running doc.go file using Dagger...")
return dag.Container().
From("golang:latest").
WithMountedDirectory("/src", source).
WithWorkdir("/src/doc").
WithExec([]string{"go", "run", "doc.go"}).
WithWorkdir("/src").Directory("/src/doc")
}
41 changes: 41 additions & 0 deletions doc/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Harbor CLI Documentation

Welcome to the Harbor CLI documentation guide! This document outlines the steps to generate the CLI documentation files.

## Overview

The [doc.go](./doc.go) script is designed to create markdown files that detail the functions of commands available in the Harbor CLI. These files are generated based on the existing cli commands and it will be placed in the [cli-docs](./cli-docs) directory.

## Steps to Generate CLI Documentation

1. Clone the repository
```bash
git clone https://github.com/goharbor/harbor-cli.git
```

1. Navigate to the doc directory:
```bash
cd harbor-cli/doc
```
change your directory to the `doc` folder where the `doc.go` script is located.

2. Run the `doc.go` file:
```bash
go run doc.go
```
This generates markdown files for CLI commands that do not already exist in the [cli-docs](./cli-docs) directory.

## Generate Documentation using Dagger

Make sure you have latest [Dagger](https://docs.dagger.io/) installed in your system.

```bash
git clone https://github.com/goharbor/harbor-cli.git
cd harbor-cli
dagger call run-doc --source=. export --path=doc
```
This would runs the dagger function and generate markdown files in [cli-docs](./cli-docs).

### Note

- For any newly generated markdown files, ensure to set the weight according to the order you want them to appear.
13 changes: 13 additions & 0 deletions doc/cli-docs/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
title: Harbor CLI Commands
weight: 25
---

This section describes the comprehensive set of commands provided by the Harbor CLI, which enables you to efficiently manage and interact with your Harbor registry. The Harbor CLI commands are categorized by function,

- `harbor` - Configure the Harbor CLI and set global flags to customize your experience.
- `harbor artifact` - Manage artifacts in Harbor Repository
- `harbor project` - Manage projects and assign resources to them
- `harbor registry` - Manage registries in Harbor
- `harbor repo` - Manage repositories in Harbor context
- `harbor user` - Administer users in Harbor, including creating, updating, and managing user accounts
32 changes: 32 additions & 0 deletions doc/cli-docs/harbor-artifact-delete.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
title: harbor artifact delete
weight: 35
---
## harbor artifact delete

### Description

##### delete an artifact

```sh
harbor artifact delete [flags]
```

### Options

```sh
-h, --help help for delete
```

### Options inherited from parent commands

```sh
--config string config file (default is $HOME/.harbor/config.yaml) (default "/home/user/.harbor/config.yaml")
-o, --output-format string Output format. One of: json|yaml
-v, --verbose verbose output
```

### SEE ALSO

* [harbor artifact](harbor-artifact.md) - Manage artifacts

42 changes: 42 additions & 0 deletions doc/cli-docs/harbor-artifact-info.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: harbor artifact info
weight: 25
---
## harbor artifact info

### Description

##### Get info of an artifact

### Synopsis

Get info of an artifact

```sh
harbor artifact info [flags]
```

### Examples

```sh
harbor artifact info <project>/<repository>/<reference>
```

### Options

```sh
-h, --help help for info
```

### Options inherited from parent commands

```sh
--config string config file (default is $HOME/.harbor/config.yaml) (default "/home/user/.harbor/config.yaml")
-o, --output-format string Output format. One of: json|yaml
-v, --verbose verbose output
```

### SEE ALSO

* [harbor artifact](harbor-artifact.md) - Manage artifacts

32 changes: 32 additions & 0 deletions doc/cli-docs/harbor-artifact-list.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
title: harbor artifact list
weight: 30
---
## harbor artifact list

### Description

##### list artifacts within a repository

```sh
harbor artifact list [flags]
```

### Options

```sh
-h, --help help for list
```

### Options inherited from parent commands

```sh
--config string config file (default is $HOME/.harbor/config.yaml) (default "/home/user/.harbor/config.yaml")
-o, --output-format string Output format. One of: json|yaml
-v, --verbose verbose output
```

### SEE ALSO

* [harbor artifact](harbor-artifact.md) - Manage artifacts

42 changes: 42 additions & 0 deletions doc/cli-docs/harbor-artifact-scan-start.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: harbor artifact scan start
weight: 45
---
## harbor artifact scan start

### Description

##### Start a scan of an artifact

### Synopsis

Start a scan of an artifact in Harbor Repository

```sh
harbor artifact scan start [flags]
```

### Examples

```sh
harbor artifact scan start <project>/<repository>/<reference>
```

### Options

```sh
-h, --help help for start
```

### Options inherited from parent commands

```sh
--config string config file (default is $HOME/.harbor/config.yaml) (default "/home/user/.harbor/config.yaml")
-o, --output-format string Output format. One of: json|yaml
-v, --verbose verbose output
```

### SEE ALSO

* [harbor artifact scan](harbor-artifact-scan.md) - Scan an artifact

42 changes: 42 additions & 0 deletions doc/cli-docs/harbor-artifact-scan-stop.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: harbor artifact scan stop
weight: 50
---
## harbor artifact scan stop

### Description

##### Stop a scan of an artifact

### Synopsis

Stop a scan of an artifact in Harbor Repository

```sh
harbor artifact scan stop [flags]
```

### Examples

```sh
harbor artifact scan stop <project>/<repository>/<reference>
```

### Options

```sh
-h, --help help for stop
```

### Options inherited from parent commands

```sh
--config string config file (default is $HOME/.harbor/config.yaml) (default "/home/user/.harbor/config.yaml")
-o, --output-format string Output format. One of: json|yaml
-v, --verbose verbose output
```

### SEE ALSO

* [harbor artifact scan](harbor-artifact-scan.md) - Scan an artifact

40 changes: 40 additions & 0 deletions doc/cli-docs/harbor-artifact-scan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: harbor artifact scan
weight: 40
---
## harbor artifact scan

### Description

##### Scan an artifact

### Synopsis

Scan an artifact in Harbor Repository

### Examples

```sh
harbor artifact scan start <project>/<repository>/<reference>
```

### Options

```sh
-h, --help help for scan
```

### Options inherited from parent commands

```sh
--config string config file (default is $HOME/.harbor/config.yaml) (default "/home/user/.harbor/config.yaml")
-o, --output-format string Output format. One of: json|yaml
-v, --verbose verbose output
```

### SEE ALSO

* [harbor artifact](harbor-artifact.md) - Manage artifacts
* [harbor artifact scan start](harbor-artifact-scan-start.md) - Start a scan of an artifact
* [harbor artifact scan stop](harbor-artifact-scan-stop.md) - Stop a scan of an artifact

38 changes: 38 additions & 0 deletions doc/cli-docs/harbor-artifact-tags-create.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
title: harbor artifact tags create
weight: 60
---
## harbor artifact tags create

### Description

##### Create a tag of an artifact

```sh
harbor artifact tags create [flags]
```

### Examples

```sh
harbor artifact tags create <project>/<repository>/<reference> <tag>
```

### Options

```sh
-h, --help help for create
```

### Options inherited from parent commands

```sh
--config string config file (default is $HOME/.harbor/config.yaml) (default "/home/user/.harbor/config.yaml")
-o, --output-format string Output format. One of: json|yaml
-v, --verbose verbose output
```

### SEE ALSO

* [harbor artifact tags](harbor-artifact-tags.md) - Manage tags of an artifact

38 changes: 38 additions & 0 deletions doc/cli-docs/harbor-artifact-tags-delete.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
title: harbor artifact tags delete
weight: 70
---
## harbor artifact tags delete

### Description

##### Delete a tag of an artifact

```sh
harbor artifact tags delete [flags]
```

### Examples

```sh
harbor artifact tags delete <project>/<repository>/<reference> <tag>
```

### Options

```sh
-h, --help help for delete
```

### Options inherited from parent commands

```sh
--config string config file (default is $HOME/.harbor/config.yaml) (default "/home/user/.harbor/config.yaml")
-o, --output-format string Output format. One of: json|yaml
-v, --verbose verbose output
```

### SEE ALSO

* [harbor artifact tags](harbor-artifact-tags.md) - Manage tags of an artifact

Loading

0 comments on commit 4a08b23

Please sign in to comment.