Skip to content

Releases: padok-team/burrito

v0.6.2

06 Mar 10:44
6c78042
Compare
Choose a tag to compare

What's Changed

  • chore(deps): update dependency vite to v6.0.9 [security] by @renovate in #517
  • chore(deps): update ui dependencies (minor) by @renovate in #493
  • chore(deps): update dependency eslint-config-prettier to v10 by @renovate in #494
  • fix(deps): update all patch dependencies (patch) by @renovate in #497
  • docs: update domain name to docs.burrito.tf by @corrieriluca in #524
  • feat(crd): support affinity in overriderunnerspec by @smeelock in #532
  • chore(deps): update codecov/codecov-action digest to 0565863 by @renovate in #519
  • chore(deps): update golangci/golangci-lint-action digest to 2226d7c by @renovate in #508
  • chore(deps): update actions/setup-go digest to f111f33 by @renovate in #518
  • chore(deps): update actions/cache digest to d4323d4 by @renovate in #533
  • chore(deps): update actions/setup-node digest to 1d0ff46 by @renovate in #526
  • docs: add affinity in available overrides by @corrieriluca in #538
  • fix(pullrequests): inherit all properties from original layer in pr layer by @LucasMrqes in #539

New Contributors

Full Changelog: v0.6.1...v0.6.2

v0.6.1

20 Jan 16:15
5eba278
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.6.0...v0.6.1

v0.6.0

16 Jan 16:35
3b38dc9
Compare
Choose a tag to compare

Important changes

Changes in Git provider authentication for PR/MR workflow

Prior to version v0.6.0, Burrito supported only one Git provider (either GitHub or GitLab) for enabling the PR/MR workflow. It means that if user were using multiple Git providers / organizations for the same Burrito installation, PR/MR workflow could apply to only one of them.

With version v0.6.0, the authentication for the PR/MR workflow relies on the secret associated to a TerraformRepository.

Deprecation warning: Old behavior with Git authentication configured in Burrito global config will remain functional until version 0.7.0.

To migrate to v0.6.0, add in each TerraformRepository secret the authentication mechanism (GitHub App / Token, GitLab Token) Burrito needs to use to track opened / closed Pull Requests.

Opt-in feature: sync repository with datastore

#467 introduces repository content syncing in the TerraformRepository controller (that was unused until now). For now this feature is disabled by default (this is done by disabling the TerraformRepository controller by default in Burrito's config) because Burrito runner does not get repository content from the datastore but still relies on Git clones.

In a future release Burrito runner pods will not clone Git repositories anymore and will instead fetch the last bundle from the datastore.

This will open the door to many enhancements in the few next releases such as layer auto-discovery in repos to name a few.

Changelog

Features

Bug fixes

Others

Read more

v0.5.1

15 Nov 16:59
7a895f7
Compare
Choose a tag to compare

Changelog

Features

Bug fixes

Others

v0.5.0

18 Oct 15:40
ad015b4
Compare
Choose a tag to compare

⚠️ Breaking changes ⚠️

This version introduces the support for OpenTofu in addition to Terraform. TerraformLayer and TerraformRepositories CRDs were updated to reflect the new changes.

Make sure to update your manifests accordingly when upgrading to this version..
To upgrade from v0.4.0 to v0.5.0, please delete all your TerraformLayer and TerraformRepositories resources, update Burrito, then apply updated manifests for the new spec.

Before:

apiVersion: config.terraform.padok.cloud/v1alpha1
kind: TerraformLayer | TerraformRepository
metadata:
  name: my-layer
  namespace: burrito-project
spec:
  terraform:
    version: xxx
    terragrunt:
      enabled: true | false
      version: xxx
  ...

After:

apiVersion: config.terraform.padok.cloud/v1alpha1
kind: TerraformLayer | TerraformRepository
metadata:
  name: my-layer
  namespace: burrito-project
spec:
  terraform:
    enabled: true | false
    version: xxx
  openTofu:
    enabled: true | false
    version: xxx
  terragrunt:
    enabled: true | false
    version: xxx
  ...

⚠️ Important configuration

This version introduces the use of tenv to manage Terraform, Terragrunt and OpenTofu versions. Since tenv uses GitHub's public API to download binaries, Burrito might get rate limited. (the rate limit is 50 requests / hour for unauthenticated users)
To bypass this, you need to pass a GitHub token (no permissions needed) to Burrito's runners. You can do this by passing the TENV_GITHUB_TOKEN environment variable to the runners by using the spec.overrideRunnerSpec of TerraformLayer and TerraformRepositories resources.

What's Changed

  • feat(hermitcrab): add scheduling options to chart by @LucasMrqes in #298
  • feat(ui): some ui improvements by @LucasMrqes in #300
  • fix(deps): update module github.com/azure/azure-sdk-for-go/sdk/azidentity to v1.6.0 [security] by @renovate in #299
  • fix(deps): update module github.com/gruntwork-io/go-commons to v0.17.1 - autoclosed by @renovate in #295
  • fix(deps): update module github.com/hashicorp/go-version to v1.7.0 by @renovate in #287
  • fix(deps): update module github.com/bradleyfalzon/ghinstallation/v2 to v2.11.0 by @renovate in #286
  • chore(deps): update node.js to v20.14.0 by @renovate in #281
  • fix(deps): update all patch dependencies (patch) by @renovate in #302
  • chore(deps): update docker.io/library/golang:1.22.4 docker digest to c2010b9 by @renovate in #301
  • feat(ui): add frontend pagination for layers table view by @LucasMrqes in #308
  • feat(chart): update values & doc to get started easier by @LucasMrqes in #312
  • docs: reorganize by @LucasMrqes in #309
  • allow add extra volumes and mounts in Helm chart by @seboudry in #315
  • fix(deps): update dependency axios to v1.7.4 [security] by @renovate in #316
  • fix(datastore): mount cert in runner + improve logs + set hostname by @corrieriluca in #320
  • feat(runner): refactor runner + use tenv to install binaries by @corrieriluca in #319
  • fix(controllers): add missing DATASTORE_HOSTNAME env var on run pods by @LucasMrqes in #325
  • feat(datastore): datastore S3 use path style configuration by @seboudry in #322
  • chore(deps): update dependency vite to v5.3.6 [security] by @renovate in #331
  • feat: add manual layer sync by @LucasMrqes in #321
  • feat: add support for opentofu by @LucasMrqes in #328
  • fix(deps): update aws-sdk-go-v2 monorepo (minor) by @renovate in #307
  • fix(deps): update module github.com/aws/aws-sdk-go to v1.55.5 by @renovate in #306
  • chore(deps): update docker.io/library/golang:1.22.4 docker digest to c8736b8 by @renovate in #335
  • fix(deps): update dependency @tanstack/react-query to v5.59.15 by @renovate in #198
  • chore(deps): update dependency @vitejs/plugin-react-swc to ^3.6.0 by @renovate in #279
  • fix(deps): update dependency react-tooltip to v5.28.0 by @renovate in #304
  • fix(deps): update module cloud.google.com/go/storage to v1.45.0 by @renovate in #305
  • feat(ci): bump checkout action to v4 by @DjinnS in #339
  • fix(ui): handle dark mode on sync sliding pane by @LucasMrqes in #334
  • fix(deps): update all patch dependencies (patch) by @renovate in #337
  • chore(deps): update node.js to 02cd220 by @renovate in #336

New Contributors

Full Changelog: v0.4.1...v0.5.0

v0.4.1

05 Jun 05:43
0b21cad
Compare
Choose a tag to compare

Changelog

Features

Bug fixes

  • 97b600d: fix(datastore): prefix was missing to separate layer and repositories in datastore (#283) (@Alan-pad)
  • f599747: fix(deps): update all patch dependencies (#277) (@renovate[bot])
  • 3ee4b5a: fix(deps): update module cloud.google.com/go/storage to v1.41.0 (#282) (@renovate[bot])
  • e375094: fix(deps): update module github.com/aws/aws-sdk-go to v1.53.10 (#285) (@renovate[bot])
  • 02cecf3: fix(deps): update module github.com/bombsimon/logrusr/v4 to v4.1.0 (#252) (@renovate[bot])
  • 0b21cad: fix(deps): update module github.com/onsi/gomega to v1.33.1 (#294) (@renovate[bot])
  • a73f071: fix(deps): update module github.com/spf13/viper to v1.18.2 (#182) (@renovate[bot])
  • 30bf767: fix(layer): infinite retry introduced in 0-4-0 (#292) (@Alan-pad)

Others

v0.4.0

21 May 15:58
Compare
Choose a tag to compare

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

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)

v0.3.1

30 Jan 15:03
19c53c5
Compare
Choose a tag to compare

Changelog

Features

Bug fixes

  • 3671dbc: fix(deps): update module github.com/go-git/go-git/v5 to v5.11.0 [security] (#212) (@renovate[bot])
  • faa2152: fix(server): remove unused api call to repository on layer state get (#228) (@LucasMrqes)

Others

v0.3.0

13 Dec 16:18
da56078
Compare
Choose a tag to compare

Changelog

Features

Bug fixes

  • 7ab069f: Revert "fix: repository folder was mounted and didn't have proper ownership sets (#207)" (@Alan-pad)
  • 983ad07: fix(api): didn't send the layer state (@Alan-pad)
  • da56078: fix(api): show success when plan is empty (#211) (@Alan-pad)
  • ca8683c: fix(burrito): handle cases where webhook wasn't received (#206) (@Alan-pad)
  • cb13ef8: fix(chart): RBAC on server was missing (@Alan-pad)
  • b8f373f: fix(controllers): reconcile on annotation update (#188) (@corrieriluca)
  • 4e1089c: fix(deps): update dependency axios to v1.6.0 [security] (#193) (@renovate[bot])
  • 8d15a76: fix(deps): update module github.com/go-git/go-git/v5 to v5.9.0 (#151) (@renovate[bot])
  • d31a6b3: fix(deps): update module github.com/hashicorp/hc-install to v0.6.1 (#180) (@renovate[bot])
  • 03637d9: fix(deps): update module github.com/hashicorp/terraform-exec to v0.19.0 (#62) (@renovate[bot])
  • 6ca1e46: fix(deps): update module github.com/onsi/ginkgo/v2 to v2.13.1 (#181) (@renovate[bot])
  • 511b84a: fix(github): handle reopened PR (#184) (@corrieriluca)
  • 721fc23: fix(gitlab): correctly handle GitLab MR events (#178) (@corrieriluca)
  • c0abbca: fix(lints): fix code smell from CI (#158) (@corrieriluca)
  • 2e79f83: fix(pr): multiple bugs in the PR controller (#187) (@corrieriluca)
  • 577adf5: fix(rbac): update roles in plain manifests (#185) (@corrieriluca)
  • 9e8c060: fix(runner): issues with terragrunt install (#210) (@Alan-pad)
  • 5f0eb8d: fix(server): api wasn't initialized (@Alan-pad)
  • feb79f0: fix(server): checking non-existent ownerReferences creates a panic (@Alan-pad)
  • 0d0cd65: fix(terraformpullrequest): fix pagination for github pull request files (#174) (@dixneuf19)
  • 5dfe71c: fix(url): normalizeURL wasn't working on https with .git suffix (#176) (@Alan-pad)
  • 4d43683: fix: helm chart key in values-example.yaml (@Alan-pad)
  • f195c97: fix: helm chart rbac (@Alan-pad)
  • 006165a: fix: readd the setLogger to fix issue with controller-runtime (#169) (@Alan-pad)
  • 1a88ae8: fix: repository folder was mounted and didn't have proper ownership sets (#207) (@Alan-pad)
  • 2240d2b: fix: runner workdir in a subfolder + remove mounted volume (#209) (@Alan-pad)
  • 9697028: fix: update to v0.15.2 controller-runtime (@Alan-pad)
  • 5c1e906: fix: upgrade to v0.11.4 (@Alan-pad)

Others

v0.2.0

03 Aug 14:03
393fe79
Compare
Choose a tag to compare

Changelog

Features

Bug fixes

  • 96c0c2a: fix(cache): reintroduce multi-namespace cache with the new cache.Opts object (#143) (@Alan-pad)
  • 0f6125c: fix(cache): remove multicachenamespace (#142) (@Alan-pad)
  • b0bc5ae: fix(deps): update module github.com/go-git/go-git/v5 to v5.6.1 (#54) (@renovate[bot])
  • 2fb9298: fix(deps): update module github.com/go-git/go-git/v5 to v5.7.0 (#139) (@renovate[bot])
  • 0082c5a: fix(deps): update module github.com/hashicorp/hc-install to v0.5.2 (#61) (@renovate[bot])
  • 1d62c90: fix(deps): update module github.com/hashicorp/terraform-json to v0.17.1 (#117) (@renovate[bot])
  • 816900f: fix(deps): update module github.com/onsi/ginkgo/v2 to v2.9.4 (#63) (@renovate[bot])
  • 2507ca2: fix(deps): update module github.com/onsi/gomega to v1.27.10 (#134) (@renovate[bot])
  • 7bb224f: fix(deps): update module github.com/sirupsen/logrus to v1.9.0 (#65) (@renovate[bot])
  • a613394: fix(deps): update module github.com/sirupsen/logrus to v1.9.3 (#135) (@renovate[bot])
  • 431d15c: fix(deps): update module github.com/spf13/cobra to v1.7.0 (#118) (@renovate[bot])
  • 493b01b: fix(deps): update module github.com/spf13/viper to v1.15.0 (#66) (@renovate[bot])
  • 8ee1362: fix(deps): update module github.com/spf13/viper to v1.16.0 (#141) (@renovate[bot])
  • 6d26a5a: fix(deps): update module github.com/stretchr/testify to v1.8.4 (#116) (@renovate[bot])
  • 4148cbd: fix(deps): update module github.com/xanzy/go-gitlab to v0.86.0 (#119) (@renovate[bot])
  • 57b1c27: fix(deps): update module sigs.k8s.io/controller-runtime to v0.14.6 (#59) (@renovate[bot])
  • 833c77e: fix(layer): handle terraform errors in runner (#149) (@corrieriluca)
  • 6f45c0b: fix(test): remove layer and repo test files in root (#147) (@corrieriluca)
  • 9ddc645: fix: make name and sa name override work (#106) (@spoukke)

Others