v0.4.0
Release notes
This release revamps the short-term storage we had previously with redis, to a long-term storage solution that can be used to store the logs and results of the terraform actions.
This introduces a new component to burrito which is the datastore. This component acts as a gateway for other components to access logs/plans and in a near future git bundles of your repository.
With this new component we were able to introduce a new feature to Burrito -> Logs Retrieval. You can now access the logs of the last runs performed by Burrito directly in the UI.
Performance improvements
- Ability to include terraform and terragrunt binaries inside the burrito image (reducing network use)
- Hermitcrab support for provider caching
- API and frontend improvements with a new paginated display
Changelog
Features
- d63a1fc: feat(controllers): add logging with k8s events (#262) (@LucasMrqes)
- b5712fa: feat(datastore): support tls (@Alan-pad)
- b97853d: feat(helm): support tls on datastore (@Alan-pad)
- e5a549c: feat(layer): align status with kept terraformruns (@Alan-pad)
- d31e6e9: feat(logs): implement logging retrieval (#264) (@Alan-pad)
- 399ff3e: feat(run): upload attempt logs (#266) (@Alan-pad)
- 9c55d90: feat(runner): allow user to include terraform & terragrunt binaries in runner image (#254) (@LucasMrqes)
- d3bbdae: feat(runner): expose imagepullpolicy as a config option (@Alan-pad)
- ae880ba: feat(runner): implement apply without plan artifact option (#265) (@LucasMrqes)
- 1bddd74: feat(runner): provider caching using hermitcrab (#258) (@LucasMrqes)
- c894d97: feat(ui): add frontend pagination (#267) (@LucasMrqes)
- d31eb00: feat(ui): add layers logs page and components (#220) (@marcantoinegodde)
- 17f8c95: feat(ui): add loaders on layers page (#234) (@marcantoinegodde)
Bug fixes
- ab720ac: fix(all): use of tls for datastore (@Alan-pad)
- e813e45: fix(api): correctly manage Remediation Strategy precedence between repo & layer (#263) (@LucasMrqes)
- dd6f833: fix(authz): build authz object without using constructor (@Alan-pad)
- aa81769: fix(authz): middleware didn't initialize an in-cluster client (@Alan-pad)
- bf49119: fix(chart): RBAC for pods log (@Alan-pad)
- 45528ab: fix(chart): datastore healthcheck (@Alan-pad)
- d63eadf: fix(chart): issue with volumeMounts referencing non-existing volumes (@Alan-pad)
- 6cef16c: fix(cmd): datastore command again (@Alan-pad)
- e9d955e: fix(controllers): didn't support datastore tls setup (@Alan-pad)
- eb152d2: fix(controllers): logic was changed with the removal of plan checksum (@Alan-pad)
- b3abca5: fix(datastore): change api expected request and response (@Alan-pad)
- 80ecb8e: fix(datastore): client wasn't correctly setting header (@Alan-pad)
- eb42693: fix(datastore): cmd was runner due to duplication (@Alan-pad)
- 9fe58a1: fix(datastore): content-type: octet-stream (@Alan-pad)
- 4066413: fix(datastore): could not read body (@Alan-pad)
- 622cb9c: fix(datastore): default service and issue with annotation not being set on sa (@Alan-pad)
- 212ca76: fix(datastore): healthcheck (@Alan-pad)
- 6dcb6cd: fix(datastore): issue getting attempts (@Alan-pad)
- a80b2e0: fix(datastore): list operations (@Alan-pad)
- cb65e5d: fix(datastore): oldest run update panic (@Alan-pad)
- f82b959: fix(datastore): startup (@Alan-pad)
- 3a144ee: fix(datastore): storagebackend panic (@Alan-pad)
- def4927: fix(datastore): tokens were not mounted (@Alan-pad)
- 286e6e9: fix(datastore): write apis (@Alan-pad)
- 912740c: fix(deps): update all patch dependencies (#243) (@renovate[bot])
- 523d7d9: fix(helm): datastore tls volume name (@Alan-pad)
- b7104e3: fix(helm): missing initialized map (@Alan-pad)
- 9ae0ac0: fix(helm): scheme wasn't changed back to HTTP when certManager.use is false (@Alan-pad)
- 874fa04: fix(layer): history policy default set to 5 (@Alan-pad)
- cee69d8: fix(layer): issues with parallel deletes (@Alan-pad)
- 137d774: fix(rbac): can't get pod logs (@Alan-pad)
- f19e2e8: fix(run): read pod logs (@Alan-pad)
- ce70baf: fix(runner): config is not present at runner instanciation (@Alan-pad)
- 4372310: fix(runner): install terraform in binaries directory instead of tmp (#256) (@LucasMrqes)
- 53da2ce: fix(runner): run wasn't initialized leading to panic (@Alan-pad)
- 3d945c2: fix(s3): was using old sdk (@Alan-pad)
- 4881451: fix(server): config is not present at server instanciation (@Alan-pad)
- 7e21b77: fix(ui): latestRuns is not sorted, use lastRun (@Alan-pad)
- 94ad18a: fix(ui): logs terminal was still referencing layer.id which doesn't exist anymore (@Alan-pad)
- 87d3c2d: fix(ui): navigation was broken due to a change in path (@Alan-pad)
- d3411ce: fix(ui): unused param in logs (@Alan-pad)
- 9486f19: fix(ui): update incorrect text on repositories dropdown (#236) (@marcantoinegodde)
- 74badc7: fix: add renovate.json with padok default config (#240) (@padok-enabler-github-app[bot])
- 4e11e3d: fix: datastore client api path (@Alan-pad)
- 015e735: fix: duplicated line (@Alan-pad)
Others
- 4833922: Added additional data to the /layers route (#239) (@fabiopadok)
- d93221c: chore(deps): update dependency @types/react to v18.2.59 (#249) (@renovate[bot])
- c7f0e7b: chore(deps): update dependency vite to v5.0.12 [security] (#223) (@renovate[bot])
- a88f1e7: chore(deps): update dependency vite to v5.1.7 [security] (#260) (@renovate[bot])
- 101a629: chore(release): bump version to v0.3.1 (@Alan-pad)
- 0d3ddd3: chore: add a bit more logging to issues with datastore (@Alan-pad)
- 541d049: chore: add logs to datastore client (@Alan-pad)
- 0b2a55f: chore: remove logger on /healthz (@Alan-pad)
- fab417a: chore: update crds (@Alan-pad)