Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions docs/guides-references/hauler-manifests.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@ spec:
- name: docker.io/longhornio/longhorn-manager:v1.6.0
key: cosign-public-key.pub
platform: linux/amd64
# fetch image with full image reference, specific version, specific platform, signature verification, and rewrite
- name: docker.io/longhornio/longhorn-manager:v1.6.0
key: cosign-public-key.pub
platform: linux/amd64
rewrite: rancher.io/longhornio/longhorn-manager:v1.6.0
```

## Example Manifest for Charts
Expand All @@ -66,6 +71,12 @@ spec:
- name: rancher-cluster-templates
repoURL: oci://ghcr.io/rancherfederal/charts
version: 0.6.1
# fetch helm chart with specific version and dependent helm charts and images
- name: rancher-cluster-templates
repoURL: oci://ghcr.io/rancherfederal/charts
version: 0.6.1
add-images: true
add-dependencies: true
```

## Example Manifest for Files
Expand Down
1 change: 0 additions & 1 deletion docs/hauler-usage/completion.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ Global Flags:
Use "hauler completion [command] --help" for more information about a command.
```


#### `hauler completion bash`:

* Generate the autocompletion script for the bash shell.
Expand Down
2 changes: 2 additions & 0 deletions docs/hauler-usage/help.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,13 @@ Usage:
Examples:
View the Docs: https://docs.hauler.dev
Environment Variables: HAULER_DIR | HAULER_TEMP_DIR | HAULER_STORE_DIR | HAULER_IGNORE_ERRORS
Warnings: Hauler commands and flags marked with (EXPERIMENTAL) are not yet stable and may have bugs or change in the future.

Available Commands:
completion Generate auto-completion scripts for various shells
help Help about any command
login Log in to a registry
logout Log out of a registry
store Interact with the content store
version Print the current version

Expand Down
1 change: 1 addition & 0 deletions docs/hauler-usage/login.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,5 @@ Global Flags:
-d, --haulerdir string Set the location of the hauler directory (default $HOME/.hauler)
--ignore-errors Ignore/Bypass errors (i.e. warn on error) (defaults false)
-l, --log-level string Set the logging level (i.e. info, debug, warn) (default "info")
zackbradys@Zacks-MacBook-Pro hauler %
```
34 changes: 34 additions & 0 deletions docs/hauler-usage/logout.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
title: Hauler Logout
description: Hauler Logout Usage Documentation
sidebar_label: Hauler Logout
---

### Overview

`hauler logout` logs out of an OCI Compliant registry that is stored at `~/.docker/config.json`.

**An example with available flags...**

```bash
hauler logout <registry-url>
```

### Command Overview

```yaml
Usage:
hauler logout [SERVER] [flags]

Examples:
# Log out of reg.example.com
hauler logout reg.example.com

Flags:
-h, --help help for logout

Global Flags:
-d, --haulerdir string Set the location of the hauler directory (default $HOME/.hauler)
--ignore-errors Ignore/Bypass errors (i.e. warn on error) (defaults false)
-l, --log-level string Set the logging level (i.e. info, debug, warn) (default "info")
```
90 changes: 81 additions & 9 deletions docs/hauler-usage/store/add/chart.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,29 +39,35 @@ hauler store add chart rancher --repo https://releases.rancher.com/server-charts
# fetch remote helm chart with specific version
hauler store add chart rancher --repo https://releases.rancher.com/server-charts/latest --version 2.10.1

# fetch remote helm chart and rewrite path
hauler store add chart hauler-helm --repo oci://ghcr.io/hauler-dev --rewrite custom-path/hauler-chart:latest

Flags:
--help, -h help for chart
--add-dependencies (EXPERIMENTAL & Optional) Fetch dependent helm charts
--add-images (EXPERIMENTAL & Optional) Fetch images referenced in helm charts
--ca-file string (Optional) Location of CA Bundle to enable certification verification
--cert-file string (Optional) Location of the TLS Certificate to use for client authenication
--cert-file string (Optional) Location of the TLS Certificate to use for client authentication
-h, --help help for chart
--insecure-skip-tls-verify (Optional) Skip TLS certificate verification
--key-file string (Optional) Location of the TLS Key to use for client authenication
--key-file string (Optional) Location of the TLS Key to use for client authentication
--kube-version string (EXPERIMENTAL & Optional) Override the kubernetes version for helm template rendering (default "v1.34.1")
--password string (Optional) Password to use for authentication
-p, --platform string (Optional) Specify the platform of the image, e.g. linux/amd64
-g, --registry string (Optional) Specify the registry of the image for images that do not alredy define one
--repo string Location of the chart (https:// | http:// | oci://)
--rewrite string (EXPERIMENTAL & Optional) Rewrite artifact path to specified string
--username string (Optional) Username to use for authentication
--values string (EXPERIMENTAL & Optional) Specify helm chart values when fetching images
--verify (Optional) Verify the chart before fetching it
--version string (Optional) Specifiy the version of the chart (v1.0.0 | 2.0.0 | ^2.0.0)

Flags for Keyless Verification:
--certificate-identity-regexp string (Optional) OIDC identity tied to certificate
--certificate-oidc-issuer string (Optional) OIDC issuer
--certificate-github-workflow-repository string (Optional) Repository claim from GH identity token for GitHub workflows
--version string (Optional) Specify the version of the chart (v1.0.0 | 2.0.0 | ^2.0.0)

Global Flags:
-d, --haulerdir string Set the location of the hauler directory (default $HOME/.hauler)
--ignore-errors Ignore/Bypass errors (i.e. warn on error) (defaults false)
-l, --log-level string Set the logging level (i.e. info, debug, warn) (default "info")
-r, --retries int Set the number of retries for operations (default 3)
-s, --store string Set the directory to use for the content store
-t, --tempdir string (Optional) Override the default temporary directory determined by the OS
```

### Example Commands for Charts
Expand All @@ -84,6 +90,15 @@ hauler store add chart rancher --repo https://releases.rancher.com/server-charts

# fetch remote helm chart with specific version
hauler store add chart rancher --repo https://releases.rancher.com/server-charts/latest --version 2.10.1

# fetch remote helm chart and rewrite path
hauler store add chart hauler-helm --repo oci://ghcr.io/hauler-dev --rewrite custom-path/hauler-chart:latest

# fetch remote helm chart and associated images
hauler store add chart gitea --repo https://dl.gitea.com/charts --add-images

# fetch remote helm chart and dependent chart(s)
hauler store add chart gitea --repo https://dl.gitea.com/charts --add-dependencies
```

### Hauler Manifest for Charts
Expand Down Expand Up @@ -120,3 +135,60 @@ spec:
repoURL: oci://ghcr.io/rancherfederal/charts
version: 0.6.1
```

### Example Manifest with Rewrite

```yaml title="hauler-chart-manifest.yaml"
apiVersion: content.hauler.cattle.io/v1
kind: Charts
metadata:
name: hauler-content-charts-example
spec:
charts:
# fetch helm chart
- name: <chart-name>
# https:// or http:// or oci://
repoURL: <chart-repository>
# semver complaint
version: <chart-version>
# rewrite in store
rewrite: <desired-chart-reference>
```

### Example Manifest with Add Images

```yaml title="hauler-chart-manifest.yaml"
apiVersion: content.hauler.cattle.io/v1
kind: Charts
metadata:
name: hauler-content-charts-example
spec:
charts:
# fetch helm chart
- name: <chart-name>
# https:// or http:// or oci://
repoURL: <chart-repository>
# semver complaint
version: <chart-version>
# add associated images
add-images: true
```

### Example Manifest with Dependent Charts

```yaml title="hauler-chart-manifest.yaml"
apiVersion: content.hauler.cattle.io/v1
kind: Charts
metadata:
name: hauler-content-charts-example
spec:
charts:
# fetch helm chart
- name: <chart-name>
# https:// or http:// or oci://
repoURL: <chart-repository>
# semver complaint
version: <chart-version>
# add dependent charts
add-dependencies: true
```
6 changes: 1 addition & 5 deletions docs/hauler-usage/store/add/file.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,17 +34,13 @@ Flags:
-h, --help help for file
-n, --name string (Optional) Rewrite the name of the file

Flags for Keyless Verification:
--certificate-identity-regexp string (Optional) OIDC identity tied to certificate
--certificate-oidc-issuer string (Optional) OIDC issuer
--certificate-github-workflow-repository string (Optional) Repository claim from GH identity token for GitHub workflows

Global Flags:
-d, --haulerdir string Set the location of the hauler directory (default $HOME/.hauler)
--ignore-errors Ignore/Bypass errors (i.e. warn on error) (defaults false)
-l, --log-level string Set the logging level (i.e. info, debug, warn) (default "info")
-r, --retries int Set the number of retries for operations (default 3)
-s, --store string Set the directory to use for the content store
-t, --tempdir string (Optional) Override the default temporary directory determined by the OS
```

### Example Commands for Files
Expand Down
50 changes: 41 additions & 9 deletions docs/hauler-usage/store/add/image.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,23 +37,28 @@ hauler store add image gcr.io/distroless/base@sha256:7fa7445dfbebae4f4b7ab0e6ef9
curl -sfOL https://raw.githubusercontent.com/rancherfederal/carbide-releases/main/carbide-key.pub
hauler store add image rgcrprod.azurecr.us/rancher/rke2-runtime:v1.31.5-rke2r1 --platform linux/amd64 --key carbide-key.pub

Flags:
-h, --help help for image
-k, --key string (Optional) Location of public key to use for signature verification
-p, --platform string (Optional) Specifiy the platform of the image... i.e. linux/amd64 (defaults to all)
--use-tlog-verify bool (Optional) Set transparency log verification (defaults false)
# fetch image and rewrite path
hauler store add image busybox --rewrite custom-path/busybox:latest

Flags for Keyless Verification:
--certificate-identity-regexp string (Optional) OIDC identity tied to certificate
--certificate-oidc-issuer string (Optional) OIDC issuer
--certificate-github-workflow-repository string (Optional) Repository claim from GH identity token for GitHub workflows
Flags:
--certificate-github-workflow-repository string (Optional) Cosign certificate-github-workflow-repository option
--certificate-identity string (Optional) Cosign certificate-identity (either --certificate-identity or --certificate-identity-regexp required for keyless verification)
--certificate-identity-regexp string (Optional) Cosign certificate-identity-regexp (either --certificate-identity or --certificate-identity-regexp required for keyless verification)
--certificate-oidc-issuer string (Optional) Cosign option to validate oidc issuer
--certificate-oidc-issuer-regexp string (Optional) Cosign option to validate oidc issuer with regex
-h, --help help for image
-k, --key string (Optional) Location of public key to use for signature verification
-p, --platform string (Optional) Specify the platform of the image... i.e. linux/amd64 (defaults to all)
--rewrite string (EXPERIMENTAL & Optional) Rewrite artifact path to specified string
--use-tlog-verify (Optional) Allow transparency log verification (defaults to false)

Global Flags:
-d, --haulerdir string Set the location of the hauler directory (default $HOME/.hauler)
--ignore-errors Ignore/Bypass errors (i.e. warn on error) (defaults false)
-l, --log-level string Set the logging level (i.e. info, debug, warn) (default "info")
-r, --retries int Set the number of retries for operations (default 3)
-s, --store string Set the directory to use for the content store
-t, --tempdir string (Optional) Override the default temporary directory determined by the OS
```

### Hauler Command Line for Images
Expand All @@ -79,6 +84,9 @@ hauler store add image gcr.io/distroless/base@sha256:7fa7445dfbebae4f4b7ab0e6ef9

# fetch image with full image reference, specific platform, and signature verification
hauler store add image rgcrprod.azurecr.us/hauler/rke2-manifest.yaml:v1.28.12-rke2r1 --platform linux/amd64 --key carbide-key.pub

# fetch image and rewrite path
hauler store add image busybox --rewrite custom-path/busybox:latest
```

### Hauler Manifest for Images
Expand Down Expand Up @@ -136,3 +144,27 @@ spec:
key: cosign-public-key.pub
platform: linux/amd64
```

### Example Manifest with Rewrite

```yaml title="hauler-image-manifest.yaml"
apiVersion: content.hauler.cattle.io/v1
kind: Images
metadata:
name: hauler-content-images-example
annotations:
# global flags for all images in the manifest
# image flags override global flags
# example: key set globally, but not observed if set per image
# example: platform set globally, but not observed if set per image
# example: registry set globally, but not observed if set per image
hauler.dev/key: <cosign-public-key>
hauler.dev/platform: <platform>
hauler.dev/registry: <registry>
spec:
images:
- name: <image-reference>
rewrite: <desired-image-reference>
key: <cosign-public-key>
platform: <platform>
```
11 changes: 5 additions & 6 deletions docs/hauler-usage/store/copy.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,16 @@ Usage:
hauler store copy [flags]

Flags:
-h, --help help for copy
--insecure (Optional) Allow insecure connections
-p, --password string (Optional) Password to use for authentication
--plain-http (Optional) Allow plain HTTP connections
-u, --username string (Optional) Username to use for authentication
-o, --only string (Optional) Copy only signature (sig) or attestation (att) for image
-h, --help help for copy
--insecure (Optional) Allow insecure connections
-o, --only string (Optional) Custom string array to only copy specific 'image' items
--plain-http (Optional) Allow plain HTTP connections

Global Flags:
-d, --haulerdir string Set the location of the hauler directory (default $HOME/.hauler)
--ignore-errors Ignore/Bypass errors (i.e. warn on error) (defaults false)
-l, --log-level string Set the logging level (i.e. info, debug, warn) (default "info")
-r, --retries int Set the number of retries for operations (default 3)
-s, --store string Set the directory to use for the content store
-t, --tempdir string (Optional) Override the default temporary directory determined by the OS
```
1 change: 1 addition & 0 deletions docs/hauler-usage/store/extract.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,5 @@ Global Flags:
-l, --log-level string Set the logging level (i.e. info, debug, warn) (default "info")
-r, --retries int Set the number of retries for operations (default 3)
-s, --store string Set the directory to use for the content store
-t, --tempdir string (Optional) Override the default temporary directory determined by the OS
```
4 changes: 2 additions & 2 deletions docs/hauler-usage/store/load.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ sidebar_label: Load

`hauler store load` loads a content store from a store archive.

As of v1.3, Hauler now supports loading content from a Docker-saved tarball.
As of v1.3, Hauler now supports loading content from a Docker-saved tarball.

> Note: Podman-saved tarballs are not currently supported.

Expand All @@ -27,12 +27,12 @@ Usage:
Flags:
-f, --filename strings (Optional) Specify the name of inputted haul(s) (default [haul.tar.zst])
-h, --help help for load
-t, --tempdir string (Optional) Override the default temporary directiory determined by the OS

Global Flags:
-d, --haulerdir string Set the location of the hauler directory (default $HOME/.hauler)
--ignore-errors Ignore/Bypass errors (i.e. warn on error) (defaults false)
-l, --log-level string Set the logging level (i.e. info, debug, warn) (default "info")
-r, --retries int Set the number of retries for operations (default 3)
-s, --store string Set the directory to use for the content store
-t, --tempdir string (Optional) Override the default temporary directory determined by the OS
```
Loading