Skip to content

kluctl-v2.21.0

Compare
Choose a tag to compare
@github-actions github-actions released this 06 Sep 09:32
· 548 commits to main since this release

Kluctl v2.21.0 comes with improvements, fixes and breaking changes.

Experimental Webui

This releases introduces the new and experimental Kluctl Webui. It allows you to monitor, analyse and control your GitOps deployments.

A short list of the most important features:

  • See all ´KluctlDeployments` that are found on the cluster.
  • Manually trigger reconciliations, deployments, prunes, ...
  • See drift between desired and actual state of the resources deployed by a KluctlDeployment.
  • Approve and trigger manual deployments.
  • See past deployment results, including their diffs, warnings, errors, ...
  • Suspend/Resume KluctlDeployments in case you need to intervene in some form.
  • Also see and analyse deployments performed from the CLI
  • Can be run locally or installed to a cluster
  • Supports static users (admin and viewer) and OIDC integration.

targets

To try it out, follow the installation or simply run it locally by simply invoking kluctl webui run from your command line.

The Webui is still in early development state and contributions in regard to features and look+feel are very much appreciated.

Command Results

The previous release already introduced experimental writing of command results into the kluctl-results namespace. This release enables these command results by default.

Command results are binary encoded secrets that contain all important information from a previous command (deploy, prune, ...) run. This information is then used by the Webui to display the important and interesting information (e.g. diffs, warnings, errors) to you.

The internal format of these secrets is considered internal for now and not meant to be used by anything else than the Webui. This might change in the future when the internal API gets finalised.

Breaking changes

  • The spec.source.secretRef field in the KluctlDeployment got deprecated and will be removed in the next API version bump of the gitops.kluctl.io group. Please use the spec.source.credentials list instead.
  • The kluctl docker image uses the Chainguards wolfi base image as base from now on. This means that the image is not Debian based anymore!
  • Passing --local-git-override/--local-git-override-group in the example.com:path form is deprecated and will not be supported in future versions of Kluctl. Please use the example.com/path form.
  • Interval and timeout fields in the KluctlDeployment do not allow never as value anymore. This was a leftover from the legacy flux-kluctl-controller and was not supported in the new controller.
  • Git includes and git variables are now specified in the same format as in spec.source.ref from the KluctlDeployment, meaning that they are not simple strings anymore but instead must spefify a sub-key of either tag, branch or commit from now on. The legacy string representation is still possible, but considered deprecated and will be removed in a future Kluctl version.

Features and improvements

  • You can now pass --concurrency=X to kluctl controller run to increase/decrease concurrent reconciliation of KluctlDeployments. It defaults to 4.
  • All commands now accept --gops-agent to enable the gops support.
  • Vars sources to indicate that the Webui should not reveal the values to non-admin users. Some variable source types (e.g. SOPS encrypted files) are automatically considered sensitive when not specified otherwise.
  • The Kluctl Deployments found below the install folder in the Kluctl Git repository now support multiple arguments to override resources and other values from the controller/webui deployments. If you use a git include as described in the installation instruction, you have to pass the args via deployment item variables.
  • The kluctl deploy command now supports a --prune flag that causes Kluctl to prune the deployment immediately after the deploy command finishes.
  • The controller now supports the kluctl.io/request-validate and the kluctl.io/request-prune annotations on KluctlDeployments. They work the same ways as the previously existing kluctl.io/request-reconcile annotation. The main purpose of these annotations is to allow the Webui to trigger commands manually.
  • spec.manual can now be used to enable "manual deployments", which are deployments that must be manually approved/triggered. This feature works best when used together with the Webui, as it allows you to approve a deployment after looking at the drift and by pressing the approval button.
  • You can now use regex based image names in fixed images.
  • Kluctl now has rudimentary support for Git protocol-v2, meaning that Azure DevOps based Git repositories should work as well now.
  • kluctl render can now be run without even having a kubeconfig present, but only when the deployment doe not require accessing the target cluster (e.g. via clusterSecret vars sources)
  • Annotated Git tags are now supported when using Git includes or Git vars sources

Changelog

  • 791de20 Added a route for history cards view.
  • 64758af Added animations.
  • 1c5419f Added card selection when card stack is expanded.
  • 4fb00ad Added new history cards view.
  • e6f975f Change mouse cursor when hovering over expandable cards. (#648)
  • ecdf0c4 Fix tooltips for icons of Command result nodes.
  • 02a0977 Fix visual bug on the Targets page in Firefox browser. (#593)
  • 776729c Main Page: Added lines from projects to targets.
  • 4eed4f3 Main Page: added side panel for command result nodes.
  • f17ee24 Main Page: added side panel for target nodes.
  • 333507e Main Page: replaced all icons.
  • 653cea0 Result Tree page: Added right drawer.
  • 7719034 Result tree page: added filters.
  • 876f49e Result tree styling.
  • 019cee9 Styled Login page.
  • 378b76b Updated left drawer styles.
  • 5b463de WIP Main Page.
  • 6dd8552 WIP Main Page.
  • 97975b3 WIP Result tree page.
  • 5ce0efa WIP expanding/collapsing nodes.
  • 79fc499 WIP history cards.
  • bbcbd96 chore(controller): support nodeSelector, tolerations and priorityClassName for install
  • 67b5bec chore(deps): Bump actions/checkout from 2 to 3 (#631)
  • ce760a0 chore(deps): Bump actions/checkout from 3 to 4 (#760)
  • b627f4d chore(deps): Bump github.com/Azure/azure-sdk-for-go/sdk/azcore (#555)
  • 4b6e2c8 chore(deps): Bump github.com/Azure/azure-sdk-for-go/sdk/azcore (#664)
  • 36e954f chore(deps): Bump github.com/Azure/azure-sdk-for-go/sdk/azcore (#729)
  • bc36064 chore(deps): Bump github.com/Azure/azure-sdk-for-go/sdk/azidentity (#735)
  • 50e3081 chore(deps): Bump github.com/aws/aws-sdk-go-v2 from 1.18.1 to 1.19.0 (#666)
  • e09d999 chore(deps): Bump github.com/aws/aws-sdk-go-v2 from 1.20.0 to 1.20.1 (#712)
  • d5bc92b chore(deps): Bump github.com/aws/aws-sdk-go-v2 from 1.20.2 to 1.21.0 (#740)
  • a779e4a chore(deps): Bump github.com/aws/aws-sdk-go-v2/config (#567)
  • cf1fb30 chore(deps): Bump github.com/aws/aws-sdk-go-v2/config (#609)
  • 4f1782b chore(deps): Bump github.com/aws/aws-sdk-go-v2/config (#663)
  • a22fc1b chore(deps): Bump github.com/aws/aws-sdk-go-v2/config (#690)
  • 8dfc3ac chore(deps): Bump github.com/aws/aws-sdk-go-v2/config (#710)
  • 4ec8af5 chore(deps): Bump github.com/aws/aws-sdk-go-v2/config (#758)
  • 82a4e5c chore(deps): Bump github.com/aws/aws-sdk-go-v2/config (#770)
  • 29cdbfe chore(deps): Bump github.com/aws/aws-sdk-go-v2/credentials (#667)
  • 1c7223a chore(deps): Bump github.com/aws/aws-sdk-go-v2/credentials (#711)
  • ad8a41c chore(deps): Bump github.com/aws/aws-sdk-go-v2/credentials (#736)
  • 8d499be chore(deps): Bump github.com/aws/aws-sdk-go-v2/service/secretsmanager (#590)
  • 4468817 chore(deps): Bump github.com/aws/aws-sdk-go-v2/service/secretsmanager (#683)
  • 05d83a6 chore(deps): Bump github.com/aws/aws-sdk-go-v2/service/secretsmanager (#687)
  • 5e789ce chore(deps): Bump github.com/aws/aws-sdk-go-v2/service/secretsmanager (#716)
  • c95b76a chore(deps): Bump github.com/aws/aws-sdk-go-v2/service/secretsmanager (#725)
  • 8f9dab1 chore(deps): Bump github.com/aws/aws-sdk-go-v2/service/sts (#686)
  • 866ec4e chore(deps): Bump github.com/bitnami-labs/sealed-secrets (#619)
  • 8327b81 chore(deps): Bump github.com/bitnami-labs/sealed-secrets (#674)
  • 01ad4e0 chore(deps): Bump github.com/gin-gonic/gin from 1.9.0 to 1.9.1 (#562)
  • 9540a25 chore(deps): Bump github.com/go-git/go-git/v5 from 5.7.0 to 5.8.1 (#696)
  • 5329041 chore(deps): Bump github.com/go-playground/validator/v10 (#551)
  • f0aaab3 chore(deps): Bump github.com/go-playground/validator/v10 (#754)
  • fb2a57b chore(deps): Bump github.com/go-playground/validator/v10 from 10.14.1 to 10.15.0 (#715)
  • 6c82706 chore(deps): Bump github.com/google/gops from 0.3.27 to 0.3.28 (#724)
  • 118fc52 chore(deps): Bump github.com/hashicorp/go-retryablehttp (#554)
  • 8928608 chore(deps): Bump github.com/hashicorp/vault/api from 1.9.2 to 1.10.0 (#766)
  • bb0fa17 chore(deps): Bump github.com/mattn/go-runewidth from 0.0.14 to 0.0.15 (#689)
  • 556a3e9 chore(deps): Bump github.com/ohler55/ojg from 1.18.6 to 1.18.7 (#544)
  • 7c63626 chore(deps): Bump github.com/ohler55/ojg from 1.18.7 to 1.19.1 (#652)
  • 4fb3895 chore(deps): Bump github.com/ohler55/ojg from 1.19.1 to 1.19.2 (#721)
  • cdd5076 chore(deps): Bump github.com/onsi/gomega from 1.27.7 to 1.27.8 (#557)
  • 0b24444 chore(deps): Bump github.com/onsi/gomega from 1.27.8 to 1.27.10 (#695)
  • 5643e35 chore(deps): Bump github.com/otiai10/copy from 1.11.0 to 1.12.0 (#608)
  • 816fb30 chore(deps): Bump github.com/prometheus/client_golang (#618)
  • 42a8fed chore(deps): Bump github.com/rogpeppe/go-internal from 1.10.0 to 1.11.0 (#646)
  • fca4d93 chore(deps): Bump github.com/sirupsen/logrus from 1.9.2 to 1.9.3 (#552)
  • 8938e5f chore(deps): Bump golang.org/x/crypto from 0.11.0 to 0.12.0 (#702)
  • 42dde5c chore(deps): Bump golang.org/x/crypto from 0.9.0 to 0.10.0 (#576)
  • 9458c36 chore(deps): Bump golang.org/x/net from 0.10.0 to 0.11.0 (#575)
  • 9a9e517 chore(deps): Bump golang.org/x/net from 0.11.0 to 0.12.0 (#654)
  • e949041 chore(deps): Bump golang.org/x/net from 0.12.0 to 0.13.0 (#697)
  • e01f196 chore(deps): Bump golang.org/x/net from 0.13.0 to 0.14.0 (#717)
  • d72d6e6 chore(deps): Bump golang.org/x/oauth2 from 0.10.0 to 0.11.0 (#714)
  • 74887f8 chore(deps): Bump golang.org/x/oauth2 from 0.11.0 to 0.12.0 (#768)
  • 3c3fe5f chore(deps): Bump golang.org/x/sync from 0.2.0 to 0.3.0 (#574)
  • af3d6ab chore(deps): Bump golang.org/x/sys from 0.11.0 to 0.12.0 (#761)
  • 4214363 chore(deps): Bump golang.org/x/sys from 0.8.0 to 0.9.0 (#563)
  • b714c0b chore(deps): Bump golang.org/x/term from 0.10.0 to 0.11.0 (#701)
  • b96e275 chore(deps): Bump golang.org/x/term from 0.8.0 to 0.9.0 (#565)
  • a737319 chore(deps): Bump golang.org/x/text from 0.10.0 to 0.11.0 (#650)
  • 9c01ed0 chore(deps): Bump golang.org/x/text from 0.11.0 to 0.12.0 (#703)
  • dbcca40 chore(deps): Bump golang.org/x/text from 0.9.0 to 0.10.0 (#564)
  • b66b84f chore(deps): Bump helm.sh/helm/v3 from 3.12.0 to 3.12.1 (#577)
  • 6506024 chore(deps): Bump helm.sh/helm/v3 from 3.12.1 to 3.12.2 (#665)
  • 79ab416 chore(deps): Bump helm.sh/helm/v3 from 3.12.2 to 3.12.3 (#723)
  • 85c5d39 chore(deps): Bump k8s.io/api from 0.27.3 to 0.27.4 (#679)
  • 3eee45e chore(deps): Bump k8s.io/client-go from 0.27.2 to 0.27.3 (#612)
  • c6ed6ea chore(deps): Bump k8s.io/client-go from 0.27.3 to 0.27.4 (#688)
  • d69e8ca chore(deps): Bump sigs.k8s.io/cli-utils from 0.34.0 to 0.35.0 (#698)
  • 3b14719 chore(deps): Bump sigs.k8s.io/controller-runtime from 0.15.0 to 0.15.1 (#713)
  • 36bf6c5 chore(deps): Bump sigs.k8s.io/controller-runtime from 0.15.1 to 0.16.1 (#757)
  • a25c46e chore(deps): Bump sigs.k8s.io/structured-merge-diff/v4 (#672)
  • cab4cee chore(webui): add empty env to install deployment (#719)
  • a2db853 chore(webui): support nodeSelector, tolerations and priorityClassName for install
  • df75d2c chore(webui): use kustomize patches for install
  • a671d1c feat: Add --concurrency flag to controller run (#639)
  • 04b9ea1 feat: Add KluctlDeployment name/namespace to result labels
  • 5a29e8e feat: Add OIDC support for the webui
  • 304a45a feat: Add approve button to targets list
  • 526ca77 feat: Add gops agent support
  • bac3605 feat: Add healthz/readyz endpoints for webui
  • abb0322 feat: Add initial implementation of webui
  • cda7823 feat: Add more info to command result summary and target card
  • 93845ef feat: Add reconcile state icon
  • 0e4f50e feat: Add simple logs viewer for targets/results
  • a9ba551 feat: Add support for reconcile/deploy now
  • 78c0b10 feat: Add viewer RBAC role for webui
  • ae78653 feat: Add webui deployment
  • 2d6a994 feat: Added scrolling text animation for long headings.
  • 8df9753 feat: Allow switch between target views via filter bar
  • e6f1dfb feat: Allow to mark vars as sensitive
  • 80a044d feat: Allow to override controller/webui resources
  • d1814a9 feat: Allow to overwrite all kluctl-.* related managers
  • a0652f6 feat: Allow to pass Kluctl image to deployments
  • a42c684 feat: Allow to retry manual deployments via the rocket button
  • 528afaa feat: Allow to select target/commandResult via search params
  • 53d56ed feat: Allow to specify controller args and env vars
  • 96eab7e feat: Also listen as IPFS /http protocol
  • bb051aa feat: Also take reconcile state into account when filtering for errors
  • e2db6af feat: Auto-generate static credentials and auth secret if non-existent
  • 6842d57 feat: Close expanded card when clicking outside the card.
  • 29196a8 feat: Determine static build by looking for existence of projects.js
  • 0e60ad8 feat: Display validation results
  • 492b361 feat: Don't store empty command results
  • 1b14e82 feat: Enable writing of command results by default (#580)
  • 96d1013 feat: Forbid access to remote/applied objects and all secrets when not an admin
  • a47ef65 feat: Force storing of empty command results when a deployment was requested
  • 65e061f feat: Have one target card per KluctlDeployment
  • 56c10f4 feat: Implement --host argument for webui command
  • 0fe1a48 feat: Implement --only-api flag for webui command
  • fde5c6e feat: Implement --prune flag for deploy command
  • ac5358e feat: Implement Oauth2/OIDC token refresh
  • 4fcb658 feat: Implement cleanup of orphan command and validate results
  • 75bb5a8 feat: Implement drift detection in controller
  • e629087 feat: Implement filtering of targets
  • 72567a2 feat: Implement impersonation support in the webui
  • 7b721fd feat: Implement kluctl.io/request-validate annotation
  • 9fab2e1 feat: Implement manually approved deployments
  • 05bd144 feat: Implement proper OIDC logout handling
  • 0806902 feat: Implement prune requests
  • 4cf8efb feat: Implement regex based image matching
  • ae88db5 feat: Implement support for static viewer user
  • c38c876 feat: Implement suspend via webui
  • bfc865a feat: Implement switching to full results in list view
  • 2f512ce feat: Implement webui auth based on a simple admin account
  • f80bde3 feat: Improve displaying of error messages. (#635)
  • 694df3b feat: Improve url/path handling and expand animations
  • 25035f6 feat: Introduce "webui run" sub-command
  • 5bebf9a feat: Introduce Since component to auto-update durartion strings
  • e35b615 feat: Introduce credentials field for KluctlDeployment
  • 5faeb11 feat: Introduce fix-assets
  • 14ef8e5 feat: Introduce reconcileId in results
  • 35ba734 feat: Introduce simple list based view
  • db85f66 feat: Introduce webui build command
  • eb74a37 feat: Limit number of command results in static build
  • 5195bbf feat: Make target cards expandable like history cards.
  • 9f45892 feat: Open browser when running "kluctl webui run" from a terminal
  • 9fc64d4 feat: Properly track reconciliation progress via conditions
  • 5258a8f feat: Put full command result view into expandable command result card
  • 3f0f0a3 feat: Redact sensitive vars in webui api
  • 52dcf1c feat: Remove GitUrl/GitRef from KluctlDeploymentInfo
  • b91e9e2 feat: Remove drift detection
  • 711717e feat: Remove validator.go
  • 206ac6a feat: Send KluctlDeployment objects to webui and take them into account
  • 8d5b7bf feat: Show "sleeping" icon on emtpy results
  • b836b2a feat: Show KluctlDeployment name on target card
  • db1a1fd feat: Show KluctlDeployment tab in expanded target card
  • 3d8387d feat: Show dedicated icon for CLI initiated deploys
  • 2330cc5 feat: Show drift in target card and implement approval in card view
  • da7dfde feat: Show drift in targets list
  • ea0db6c feat: Show requested reconciliation
  • 4c10574 feat: Show source info for target
  • 15f0e3f feat: Show time passed since validation
  • 5d192e4 feat: Show tooltips on Since components
  • be28775 feat: Speedup drift detection by keeping track of resource versions
  • dda372b feat: Store validation results in the cluster, like command results
  • ebff349 feat: Support commit refs in git includes and git var sources
  • 539aed9 feat: Switch back to websockets for events
  • ffb80e9 feat: Switch to long-polling instead of websockets
  • 1950b54 feat: Track last prepare error in status
  • 735dd71 feat: Use 5 as default for --keep-command-results-count
  • b3af8ae feat: Use GitRef everywhere and add compatibility code for the string based version
  • 52c2208 feat: Use base64 encoded json for target path
  • 29e2b9b feat: Use chainguards wolfi-base image as base (#536)
  • 89be6d6 feat: Use new prune feature of deploy command in controller
  • 1414fc6 feat: Use react-window for LogsViewer
  • f14d512 feat: Use shorter "targetKey" hash instead of serialized json
  • e92c3e4 feat: Use websockets to get updates for summaries and validation results
  • 9ad61fe fix: Actually delete temporary files
  • c2628ea fix: Actually print final error
  • 3b87898 fix: Actually use latest validation result
  • 505991b fix: Actually write errors and not only error count into status
  • ae10ae4 fix: Add missing KluctlDeployment info to validation result summary
  • b0e8cdb fix: Add missing KluctlDeployments to staticdata
  • b31683b fix: Add missing service to webui deployment
  • f7a4c68 fix: Add missing webui permissions for KluctlDeployments
  • e2151d5 fix: Add non-generated version of GitRef to react code that supports loading a string (#629)
  • b5c4d76 fix: Add some tracing when the worktree or index is unclean (#601)
  • f56b603 fix: Add tzdata to docker image
  • d8030f8 fix: Add workaround to support Azure DevOps and other protocol-v2 git repos (#637)
  • 3c51f34 fix: Allow to run render without a KUBECONFIG being present (#623)
  • 1b8c455 fix: Also check for new "absolute path of xx could not be resolved" error
  • 6f35190 fix: Also consider deleted namespaces when filtering orphans (#685)
  • 97b0923 fix: Also take clusterId into account in GetKluctlDeployment
  • eda6ac8 fix: Also treat *.map as eol=lf (#588)
  • 912e05f fix: Also use rootPath for login request
  • 97bf1b8 fix: Avoid writing null to resources field in kustomization.yaml
  • 225cc33 fix: Check for proper suffix when deciding on imagePullPolicy: Always
  • bfbe09c fix: Collect result objects after fixing namespaces
  • 780af10 fix: Defautl --host to localhost and only open browser if host is set
  • 0eb876c fix: Determine root path at runtime
  • a88cfdd fix: Don't clear errors/warnings from prepare stage
  • 5306a81 fix: Don't override kluctl binary path in goreleaser
  • cbfc786 fix: Don't redirect stderr for "controller run"
  • f2e29ba fix: Don't show approve button in static build
  • 8f1be95 fix: Don't show logout button when auth is disabled
  • e7543fe fix: Don't show logs tab for command-line triggered deployments
  • 5a0b008 fix: Don't show logs tab in static builds
  • 5ebc751 fix: Don't strip .git if the basename actually equals .git
  • 87110b1 fix: Don't treat deleted objects still as orphan (#582)
  • 20ab3bf fix: Don't try refresh/logout when doing the initial creds check
  • ce2e1b9 fix: Don't use development mode for zap config
  • d8c2c69 fix: Don't use load as dep in useLoadingHelper
  • fdbc611 fix: Enforce LF line-ending for .svg files (#586)
  • e3d53a4 fix: Enlarge TargetDetailsDrawer
  • 89e64ae fix: Enter progressing state after legacy migration
  • 0ea3fa4 fix: Explicitely decide if status message is formatted or not (#657)
  • 9927269 fix: Expose metrics port to use with PodMonitoring (#659)
  • 9d8299b fix: Fail webui command if webui was not embedded
  • 67e301c fix: Fill KluctlDeploymentInfo in CommandResult
  • ca98ceb fix: Fix CheckSubInDir inside ListSealedSecrets (#692)
  • 755680b fix: Fix DEPLOYED printer column (#570)
  • 739c223 fix: Fix Since component to not break lines
  • 4691151 fix: Fix all build warnings
  • d1b2abe fix: Fix args to controller and webui deployments
  • e21886e fix: Fix check for request-deploy annotation
  • bdf318a fix: Fix crash in buildDeploymentProjectChildren
  • c311bbf fix: Fix crash in getAdminUser when auth is disabled
  • 9329c13 fix: Fix crash when kluctl is called without sub-command
  • 16ae6cb fix: Fix crash when starting webui from command line without args (#738)
  • 2087c13 fix: Fix cropping of sliding history card animations (#584)
  • aad33a4 fix: Fix filtering of GVKs
  • 6aff1eb fix: Fix filters to respect drift
  • ed32359 fix: Fix loading of generated scripts
  • 7aefe18 fix: Fix npm build
  • 88de7a7 fix: Fix parsing of SCP urls with escaped characters (e.g. spaces)
  • f624a43 fix: Fix race condition in getMissingObjects
  • a18a506 fix: Fix react app title
  • acc6d97 fix: Fix snapshot detection and version replacement via prepare-release.sh (#583)
  • 4b6bfb2 fix: Fix summaries/validateResults update handling
  • f548f91 fix: Fix tests
  • cb7a74f fix: Fix tests and controller client creation
  • dab0174 fix: Grow all tab panels in height
  • 949f8c3 fix: Honor kluctl.io/diff-name again
  • 2d61e71 fix: Ignore objects marked for deletion when validating
  • 1216601 fix: Instead of using .gitattributes to fix CRLF issues, implement it via fix-assets (#589)
  • b3c22bc fix: Introduce CRD cache for GetSchemaForGVK
  • 9502204 fix: Introduce workaround for incorrect CRLF handling in git status (#622)
  • 9888cfb fix: Keep old ready status until some real work is done
  • f81e4f4 fix: Lock mutex before returning strings from buffers
  • 553893a fix: Make goreleaser, Dockerfile and Makefile all use the same binary name
  • 5abe6ca fix: Make sure it's clear that search is not implemneted yet
  • cdd437f fix: Migrate to new way of loading
  • ffb3ffd fix: More reliable WaitForResults
  • a9e87e4 fix: No need to return initial list when watching
  • d02f45b fix: Omit kubeConfig and args when empty
  • 5ce0068 fix: Omit lines when no command results are available
  • 3e06e64 fix: Omit name if it is empty
  • 9dd41f7 fix: Perform full drift detection in case rendered objects hash changes
  • 688adbf fix: Pin docker dependency to v23.0.6+incompatible
  • e659e9c fix: Properly collect git checkout info (#636)
  • 8b09e0f fix: Properly convert viber bool/int to string args (#548)
  • 3e43e0c fix: Properly display configuration alert
  • af13ba2 fix: Properly handle all combinations dryRun and manual
  • c5cb05b fix: Properly support annotated git tags
  • 4edb897 fix: Properly track clusterIds in KluctlDeployment status
  • 683832c fix: Remove 'never' from allowed values for SafeDuration (#640)
  • ce6a0de fix: Remove non-reachable code
  • ebba122 fix: Remove references to create-react-app
  • 9c952c6 fix: Rename changed to drifted in filter bar
  • 3d8a94c fix: Rename controller_version to kluctl_version and fix snapshot detection (#585)
  • 9fd6b03 fix: Rename react app to kluctl-webui
  • b1f574d fix: Reschedule reconciliation after adding finalizer
  • cfdabe3 fix: Reset resource versions when performing dry-run deploy
  • 017a199 fix: Return old nextSeq in case no new events were found
  • 087434d fix: Revert default --host handling (#744)
  • a1fdd32 fix: Run gin in release mode and print local webui url
  • 5970e0c fix: Server ui from /
  • d8783bd fix: Set args to [] for webui deployment (#720)
  • 9b004cf fix: Set controller-runtime logger
  • 90ff6b8 fix: Set kind/apiVersion on watched KluctlDeployments
  • 466d87e fix: Set projectKey/targetKey in status even if loading of the target fails
  • 0add467 fix: Set seccompProfile for controller deployment (#571)
  • 5d2817d fix: Set z-index of expanded cards to be below tooltips
  • fc33f58 fix: Smaller initialDelaySeconds in webui deployment
  • 944e68c fix: Store full token in session and re-validate it (#671)
  • 70ca447 fix: Store oidcToken info in session storage instead of full ID token
  • fea0b36 fix: Strip bin parent folder from release tarballs (#630)
  • 71a5aa6 fix: Switch to using plain watches + channels instead of informers
  • b3595b0 fix: Take deployed CRDs into account when fixing namespaces (#660)
  • c065d59 fix: Treat StatefulSets with replicas=0 as ready
  • bd90c33 fix: Try to parse legacy form of --local-git-override (#662)
  • a253a12 fix: Update models.ts
  • aeb41d6 fix: Update projectKey/targetKey early
  • 32af8ba fix: Upgrade go-jinja2 to fix symlinks handling in RenderDirectory (#625)
  • 72ca59c fix: Upgrade to latest go-jinja2 to fix a crash (#752)
  • 195270d fix: Upgrade to latest version of go-jinja2 to fix rendering of relative templates
  • c6fd95d fix: Use ./ as homepage
  • 5e74b95 fix: Use ParseGitRepoKey in parseRepoOverride
  • 5648bb9 fix: Use absolute version of --project-dir (#537)
  • 6532f34 fix: Use admin user when auth is disabled
  • 5759f64 fix: Use container-runtime cache instead of plain watches
  • fe87a73 fix: Use custom poor-mans pubsub implementation and fix circuit relaying
  • 9d50729 fix: Use default context when using --in-cluster
  • c0ceee3 fix: Use digests for wolfi-base images (#641)
  • 9064f42 fix: Use new http clients to fix impersonation
  • fb65726 fix: Use prefix for event ids
  • da2c7bc fix: Use proper keys
  • eb79fb6 fix: Use proper keys
  • 27370d0 fix: Use proper startTime for validate commands
  • d697875 fix: Use reconcileID for commandResultId
  • a70ccca fix: Use repository instead of tap in goreleaser config
  • bdb1b4a fix: Use runtime.RawExtension for deploy/prune/validate results
  • ac4d71d fix: Use wss protocol when needed
  • 383a90c fix: redirect to /targets when going to /
  • 3ebb6c0 fix: update models.ts
  • d20c86e perf: Paralellise context initialization