diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..4be76abc --- /dev/null +++ b/docs/README.md @@ -0,0 +1,37 @@ +# Image Reflector Controller + +## Flags + +| Name | Type | Description | +|---------------------------------------|---------------|-----------------------------------------------------------------------------------------------------------------------------------------| +| `--concurrent` | int | The number of concurrent kustomize reconciles. (default 4) | +| `--default-service-account` | string | Default service account to use for workload identity when not specified in resources. | +| `--enable-leader-election` | boolean | Enable leader election for controller manager. Enabling this will ensure there is only one active controller manager. | +| `--events-addr` | string | The address of the events receiver. | +| `--gc-interval` | int | The interval in number of minutes at which the garbage collector will run for the tags database. Zero disables GC. (default 10) | +| `--health-addr` | string | The address the health endpoint binds to. (default ":9440") | +| `--leader-election-lease-duration` | duration | Interval at which non-leader candidates will wait to force acquire leadership (duration string). (default 35s) | +| `--leader-election-release-on-cancel` | boolean | Defines if the leader should step down voluntarily on controller manager shutdown. (default true) | +| `--leader-election-renew-deadline` | duration | Duration that the leading controller manager will retry refreshing leadership before giving up (duration string). (default 30s) | +| `--leader-election-retry-period` | duration | Duration the LeaderElector clients should wait between tries of actions (duration string). (default 5s) | +| `--log-encoding` | string | Log encoding format. Can be 'json' or 'console'. (default "json") | +| `--log-level` | string | Log verbosity level. Can be one of 'trace', 'debug', 'info', 'error'. (default "info") | +| `--metrics-addr` | string | The address the metric endpoint binds to. (default ":8080") | +| `--no-cross-namespace-refs` | boolean | When set to true, references between custom resources are allowed only if the reference and the referee are in the same namespace. | +| `--requeue-dependency` | duration | The interval at which failing dependencies are reevaluated. (default 30s) | +| `--storage-compression-threshold` | int | Threshold in KiB for the tags file of a single ImageRepository to make it compressed. Defaults to 64. Requires `FluxStorage` enabled. | +| `--storage-path` | string | Where to store the persistent database of image metadata. (default "/data") | +| `--storage-value-log-file-size` | int | Set the database's memory mapped value log file size in bytes. Effective memory usage is about two times this size. (default 268435456) | +| `--token-cache-max-size` | int | The maximum amount of entries in the LRU cache used for tokens. (default 100, enabled) | +| `--token-cache-max-duration` | duration | The maximum duration for which a token would be considered unexpired. This is capped at 1h. (default 1h) | +| `--watch-all-namespaces` | boolean | Watch for custom resources in all namespaces, if set to false it will only watch the runtime namespace. (default true) | +| `--watch-label-selector` | string | Watch for resources with matching labels e.g. 'sharding.fluxcd.io/key=shard1'. | +| `--feature-gates` | mapStringBool | A comma separated list of key=value pairs defining the state of experimental features. | + +### Feature Gates + +| Name | Default Value | Description | +|-------------------------------|---------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `CacheSecretsAndConfigMaps` | `false` | Configures the caching of Secrets and ConfigMaps by the controller-runtime client. When enabled, it will cache both object types, resulting in increased memory usage and cluster-wide RBAC permissions (list and watch). | +| `FluxStorage` | `false` | Enables the use of Flux's own storage implementation for the image tags database. | +| `ObjectLevelWorkloadIdentity` | `false` | Enables the use of object-level workload identity for the controller. |