|
3 | 3 | [](https://github.com/fluxcd/plugins/blob/main/LICENSE) |
4 | 4 |
|
5 | 5 | This repository contains the catalog of Flux CLI plugins as specified |
6 | | -in the [Flux CLI Plugin System RFC](https://github.com/fluxcd/flux2/pull/5795). |
| 6 | +in the [Flux CLI Plugin System RFC](https://github.com/fluxcd/flux2/blob/main/rfcs/0013-cli-plugin-system/README.md). |
7 | 7 |
|
8 | | -> [!NOTE] |
9 | | -> This repository is in early development and the plugin system is not yet available in a stable release of Flux. |
10 | | -> The instructions for installing and using the plugins will be added here once the system is ready for testing. |
11 | | -> In the meantime, you can follow the progress of the plugin system in the Flux CLI Plugin System RFC linked above. |
| 8 | +## Available plugins |
| 9 | + |
| 10 | +### mirror |
| 11 | + |
| 12 | +[Flux Mirror CLI](https://github.com/fluxcd/flux-mirror) — a command-line tool for mirroring Helm charts, OCI artifacts |
| 13 | +and container images between registries using a declarative configuration. It populates internal mirror registries so |
| 14 | +that clusters don't depend on external registries during reconciliation. Features include byte-for-byte mirroring with |
| 15 | +multi-architecture support, conversion of HTTP/S Helm charts to OCI, optional signature verification, regex and semver |
| 16 | +filtering, and a wide range of registry authentication options including cloud workload identity and OIDC. |
| 17 | + |
| 18 | +### operator |
| 19 | + |
| 20 | +[Flux Operator CLI](https://github.com/controlplaneio-fluxcd/flux-operator) — a command-line tool for managing |
| 21 | +Flux Operator resources in Kubernetes clusters. It can build and validate Flux Operator resources, retrieve cluster |
| 22 | +information, and reconcile, suspend or delete Flux components. It also provides commands for exporting resources, |
| 23 | +creating secrets, tracing objects through the GitOps pipeline, and install AI agent skills. |
| 24 | + |
| 25 | +### schema |
| 26 | + |
| 27 | +[Flux Schema CLI](https://github.com/fluxcd/flux-schema) — a Kubernetes YAML validation tool that checks manifests |
| 28 | +against JSON schemas and CEL rules using the same evaluation logic as the Kubernetes API server. It ships with built-in |
| 29 | +schemas for Kubernetes, OpenShift, Gateway API and the Flux ecosystem CRDs, and supports custom catalogs extracted from |
| 30 | +CRDs and OpenAPI specs. It integrates into CI/CD pipelines via GitHub Actions or Docker, and can discover and catalog |
| 31 | +GitOps repositories into structured inventories for downstream automation. |
| 32 | + |
| 33 | +## Managing plugins |
| 34 | + |
| 35 | +Plugins are managed with the `flux plugin` sub-commands, which download binaries from this catalog |
| 36 | +into `~/fluxcd/plugins` and register them as Flux CLI sub-commands. |
| 37 | + |
| 38 | +### Search the catalog |
| 39 | + |
| 40 | +List the plugins available in the catalog, optionally filtered by a query: |
| 41 | + |
| 42 | +```shell |
| 43 | +flux plugin search |
| 44 | +flux plugin search schema |
| 45 | +``` |
| 46 | + |
| 47 | +### Install a plugin |
| 48 | + |
| 49 | +Download and install a plugin from the catalog. You can install the latest version, pin to a |
| 50 | +specific version, or pin to a specific digest: |
| 51 | + |
| 52 | +```shell |
| 53 | +# Install the latest version |
| 54 | +flux plugin install schema |
| 55 | + |
| 56 | +# Install a specific version |
| 57 | +flux plugin install schema@0.5.0 |
| 58 | + |
| 59 | +# Install pinned to a specific digest |
| 60 | +flux plugin install schema@sha256:06e0a38db4fa6bc9f705a577c7e58dc020bfe2618e45488599e5ef7bb62e3a8a |
| 61 | +``` |
| 62 | + |
| 63 | +Once installed, a plugin is invoked as a Flux sub-command, e.g. `flux schema --help`. |
| 64 | + |
| 65 | +### List installed plugins |
| 66 | + |
| 67 | +Show all installed plugins with their versions and paths (alias: `ls`): |
| 68 | + |
| 69 | +```shell |
| 70 | +flux plugin list |
| 71 | +``` |
| 72 | + |
| 73 | +### Update plugins |
| 74 | + |
| 75 | +Update installed plugins to their latest versions (alias: `upgrade`): |
| 76 | + |
| 77 | +```shell |
| 78 | +# Update a single plugin |
| 79 | +flux plugin update schema |
| 80 | + |
| 81 | +# Update all installed plugins |
| 82 | +flux plugin update |
| 83 | +``` |
| 84 | + |
| 85 | +### Uninstall a plugin |
| 86 | + |
| 87 | +Remove a plugin binary and its receipt from the plugin directory (alias: `delete`): |
| 88 | + |
| 89 | +```shell |
| 90 | +flux plugin uninstall schema |
| 91 | +``` |
0 commit comments