What's Changed
Native flux build
The primary change in this release is to move to use `flux build` internally. This means that the `flux` CLI is now required to be present in the environment, similar to how `kustomize` is already required. See documentation for the [Github Action](https://github.com/allenporter/flux-local?tab=readme-ov-file#github-action) for details on how to setup the CLI environment. https://github.com/allenporter/flux-local/pull/392
To simplify internals, multiple clusters in the same path are no longer supported. You can still use a multi-cluster repo if you specify `--path` to one of the clusters. This should be a no-op for most users of the github action since likely you already were setting a path argument.
Diagnostics
You can now discover malormed or unexpected yaml files with `flux-local diagnostics` https://github.com/allenporter/flux-local/pull/401:
flux-local diagnostics
[DIAGNOSTICS OK]
Performance
With the move to `flux build`, we've been able to reduce some unnecessary `kustomize` calls, improving internal caching, and parallelize some of the cluster commands. Speed has been improved by 2x even for smaller clusters with only a handful of kustomizations. https://github.com/allenporter/flux-local/pull/435
Change Log
* Add flux dependency in development environment by allenporter in https://github.com/allenporter/flux-local/pull/391
* Migrate tests to syrup by allenporter in https://github.com/allenporter/flux-local/pull/393
* Add tests that trace the full command stack of building the manifest by allenporter in https://github.com/allenporter/flux-local/pull/394
* Increase coverage for cluster3 by allenporter in https://github.com/allenporter/flux-local/pull/395
* Improve test coverage for cluster3 cases by allenporter in https://github.com/allenporter/flux-local/pull/396
* Improve test coverage for internals of git repo manifest builders by allenporter in https://github.com/allenporter/flux-local/pull/397
* Remove support for multiple clusters in a single path by allenporter in https://github.com/allenporter/flux-local/pull/398
* Skip unnecessary kustomize cfg step when scanning the cluster by allenporter in https://github.com/allenporter/flux-local/pull/399
* Add a `diagnostics` command to find yaml files that kustomize does no… by allenporter in https://github.com/allenporter/flux-local/pull/401
* Renovate Dockerfile and versions by allenporter in https://github.com/allenporter/flux-local/pull/422
* Use `flux build ks` when building Kustomizations by allenporter in https://github.com/allenporter/flux-local/pull/392
* Update documentation examples to include flux cli by allenporter in https://github.com/allenporter/flux-local/pull/424
* Improve error messages for shell commands by allenporter in https://github.com/allenporter/flux-local/pull/425
* Fix support for Kustomizations with absolute paths by allenporter in https://github.com/allenporter/flux-local/pull/426
* Improve logging/tracing and track performance counters by allenporter in https://github.com/allenporter/flux-local/pull/427
* Improve kustomization traversal performance by allenporter in https://github.com/allenporter/flux-local/pull/435
Developer dependency updates
* Update dependency pydantic to v2.5.2 by renovate in https://github.com/allenporter/flux-local/pull/400
* Update dependency mypy to v1.7.1 by renovate in https://github.com/allenporter/flux-local/pull/402
* Update dependency wheel to v0.42.0 by renovate in https://github.com/allenporter/flux-local/pull/404
* Update pypa/gh-action-pypi-publish action to v1.8.11 by renovate in https://github.com/allenporter/flux-local/pull/405
* Update ubuntu Docker tag to jammy-20231128 by renovate in https://github.com/allenporter/flux-local/pull/406
* Update dependency pytest-asyncio to v0.23.2 by renovate in https://github.com/allenporter/flux-local/pull/410
* Update dependency ruff to v0.1.7 by renovate in https://github.com/allenporter/flux-local/pull/412
* Update pre-commit hook charliermarsh/ruff-pre-commit to v0.1.7 by renovate in https://github.com/allenporter/flux-local/pull/413
* Update actions/setup-python action to v5 by renovate in https://github.com/allenporter/flux-local/pull/411
* Update actions/deploy-pages action to v3 by renovate in https://github.com/allenporter/flux-local/pull/409
* Update actions/configure-pages action to v4 by renovate in https://github.com/allenporter/flux-local/pull/408
* Update dependency pre-commit to v3.6.0 by renovate in https://github.com/allenporter/flux-local/pull/414
* Update dependency typing-extensions to v4.9.0 by renovate in https://github.com/allenporter/flux-local/pull/415
* Update dependency black to v23.12.0 by renovate in https://github.com/allenporter/flux-local/pull/416
* Update pre-commit hook psf/black to v23.12.0 by renovate in https://github.com/allenporter/flux-local/pull/417
* Update dependency ruff to v0.1.8 by renovate in https://github.com/allenporter/flux-local/pull/418
* Update pre-commit hook charliermarsh/ruff-pre-commit to v0.1.8 by renovate in https://github.com/allenporter/flux-local/pull/419
* Update dependency coverage to v7.3.3 by renovate in https://github.com/allenporter/flux-local/pull/420
* Update dependency pdoc to v14.2.0 by renovate in https://github.com/allenporter/flux-local/pull/421
* Update dependency pip to v23.3.2 by renovate in https://github.com/allenporter/flux-local/pull/428
* Update dependency fluxcd/flux2 to v2.2.1 by renovate in https://github.com/allenporter/flux-local/pull/429
* Update dependency helm/helm to v3.13.3 by renovate in https://github.com/allenporter/flux-local/pull/432
* Update dependency kyverno/kyverno to v1.11.1 by renovate in https://github.com/allenporter/flux-local/pull/433
* Update actions/deploy-pages action to v4 by renovate in https://github.com/allenporter/flux-local/pull/430
* Update actions/upload-pages-artifact action to v3 by renovate in https://github.com/allenporter/flux-local/pull/431
*
**Full Changelog**: https://github.com/allenporter/flux-local/compare/3.2.0...4.0.0