Since Version 1.0.0, we are using Semantic Versioning.
Given a version number MAJOR.MINOR.PATCH:
- MAJOR version when you make incompatible API changes. For example:
- Adding a new required parameter to the helm chart or making an optional parameter required.
- Same for the rest endpoints (
release
,releasetrain
andlock
) because these are a public API. - Note that we do not think of the grpc protocol as public, so these may change without a major version.
- Removing functionality (unlikely to happen).
- MINOR version when you add functionality in a backward compatible manner. For example:
- Adding new features.
- Adding new optional parameters to the rest API.
- Changing the UI (without removing features).
- PATCH version when you make backward compatible bug fixes
- This includes most dependency upgrades.
1.15.0 (2023-12-07)
Fixed bugs:
- Fix return from endpoint GetProductSummary() for empty Summary #1199 (gsandok)
- Require kuberpult AND argocd version to mark app as deployed #1197 (hannesg)
- FIxed issue with the example URL for Bitbucket's manifestRepoUrl #1186 (gsandok)
- Add env Dropdown to Product Version Page #1185 (gsandok)
- Update GetProductSummary endpoint to allow envGroups as well as environments #1181 (gsandok)
- Kuberpult Page to Display the version of each service for a git tag #1159 (gsandok)
- Remove redundant wait condition in integration tests #1194 (ahmed-nour-fdc)
- fix(deps): update module github.com/lestrrat-go/jwx/v2 to v2.0.18 #1190 (renovate[bot])
- fix(deps): update module github.com/argoproj/argo-cd/v2 to v2.9.3 #1189 (renovate[bot])
- fix(deps): update module github.com/coreos/go-oidc/v3 to v3.8.0 #1177 (renovate[bot])
- fix(deps): update module google.golang.org/api to v0.152.0 #1176 (renovate[bot])
- fix(deps): update module golang.org/x/oauth2 to v0.15.0 #1175 (renovate[bot])
- fix(deps): update module golang.org/x/crypto to v0.16.0 #1174 (renovate[bot])
- Fixed an NPE in applyArgoEvents #1171 (hannesg)
- Improve local kuberpult run with earthly #1170 (ahmed-nour-fdc)
- Reduce network timeout for local setup #1169 (sven-urbanski-freiheit-com)
- Run integration tests with Earthly #1167 (ahmed-nour-fdc)
- Update README.md Design Principle Deploy often #1165 (sven-urbanski-freiheit-com)
- Enable hot reloading for the UI when starting with earthly #1164 (ahmed-nour-fdc)
- chore(deps): update dependency node to v20.10.0 #1161 (renovate[bot])
- fix(deps): update k8s.io/utils digest to cf03d44 #1160 (renovate[bot])
- fix(deps): update module gopkg.in/datadog/dd-trace-go.v1 to v1.58.0 #1158 (renovate[bot])
- chore(deps): update dependency typescript to v5.3.2 #1157 (renovate[bot])
- fix(deps): update module github.com/argoproj/argo-cd/v2 to v2.9.2 #1156 (renovate[bot])
- fix(deps): update module github.com/lestrrat-go/jwx/v2 to v2.0.17 #1154 (renovate[bot])
- Revert "fix(release): if a release already exists, return http/409 Conflict (SRX-627DCD)" #1152 (bjoern-michaelsen-freiheit)
- ci(linting): prevent it.only or describe.only usages from being merged (SRX-4Z36FR) #1151 (bjoern-michaelsen-freiheit)
- fix(release): if a release already exists, return http/409 Conflict (SRX-627DCD) #1150 (bjoern-michaelsen-freiheit)
- Force browsers to stop caching index.html #1135 (sven-urbanski-freiheit-com)
1.14.0 (2023-11-17)
- Add waiting to frontend #1145 (hannesg)
- Add endpoint that returns the version of all services in an environment at a given commit #1146 (gsandok)
- Implement waiting in the rollout service #1143 (hannesg)
- Display tags in dropdown #1107 (gsandok)
- SRC-K0RM01: improve UX for app and team filters (#1033, #1034) #1133 (bjoern-michaelsen-freiheit)
- fix(deps): update opentelemetry-go monorepo #1148 (renovate[bot])
- fix(deps): update module google.golang.org/api to v0.151.0 #1147 (renovate[bot])
- UI: Lock without deploying #1131 (sven-urbanski-freiheit-com)
- SRX-K0RM01: remove app/teams filter on releases and environments page too #1144 (bjoern-michaelsen-freiheit)
- fix(i-test): remove fetching main #1142 (bjoern-michaelsen-freiheit)
- fix(ci): build all services (SRX-8HW1TP) #1136 (bjoern-michaelsen-freiheit)
- Add missing health tests #1132 (hannesg)
- Update module github.com/argoproj/argo-cd/v2 to v2.9.1 #1134 (renovate[bot])
1.13.0 (2023-11-13)
- Add filtering by team to the frontend-service #1120 (hannesg)
- Add filtering by team for the GetStatus endpoint #1112 (hannesg)
- Add a unified retry mechanism for background tasks #1109 (hannesg)
- Restore original builder image #1128 (ahmed-nour-fdc)
- Fix race condition in rollout-service metrics #1127 (hannesg)
- Added missing dependency for make kuberpult #1126 (sven-urbanski-freiheit-com)
- Update opentelemetry-go monorepo #1125 (renovate[bot])
- Fix readyness reporting for the kuberpult event consumer #1124 (hannesg)
- simplify onbording #1123 (bjoern-michaelsen-freiheit)
- Optimize Earthfiles #1122 (ahmed-nour-fdc)
- SRX-53QJKO: improve longer environment chains #1121 (bjoern-michaelsen-freiheit)
- Always build all services #1117 (sven-urbanski-freiheit-com)
- Build services in CI using Earthly #1115 (ahmed-nour-fdc)
- Update module golang.org/x/oauth2 to v0.14.0 #1114 (renovate[bot])
- Update module golang.org/x/crypto to v0.15.0 #1113 (renovate[bot])
- Fix: empty dora token break rollout service deployment #1105 (hannesg)
1.12.0 (2023-11-08)
- Add Initial Product Version Page #1063 (gsandok)
- Create endpoint that returns list of tags and commit hashes #1051 (gsandok)
- Add dedicated setup for health checking #943 (hannesg)
- Bugfix: Allow selection of envs to delete from an app #1098 (sven-urbanski-freiheit-com)
- SRX-57Q3B7: Remove codereviewr #1102 (bjoern-michaelsen-freiheit)
- SRX-FZ6M63/#1043: fix colors for environments #1101 (bjoern-michaelsen-freiheit)
- UI: Fix typo Unkwown → Unknown #1104 (sven-urbanski-freiheit-com)
- tweak: use compose plugin of docker, should be available ~everywhere now #1103 (bjoern-michaelsen-freiheit)
- Always add /metrics endpoint #1094 (hannesg)
- Fix: set env vars in tests #1093 (sven-urbanski-freiheit-com)
- More and better tests for DeleteDirIfEmpty #1092 (sven-urbanski-freiheit-com)
- Update golang Docker tag to v1.21.4 #1106 (renovate[bot])
- Update module google.golang.org/api to v0.150.0 #1100 (renovate[bot])
- Update module gopkg.in/DataDog/dd-trace-go.v1 to v1.57.0 #1099 (renovate[bot])
- Update module github.com/argoproj/argo-cd/v2 to v2.9.0 #1097 (renovate[bot])
- Update module golang.org/x/sync to v0.5.0 #1095 (renovate[bot])
Closed issues:
- Cannot select multiple environments to be removed #1091
- Inconsistent Coloring Scheme on Environment Groups #1043
1.11.0 (2023-11-02)
- Send dora events to revolution #1077 (hannesg)
- Add DEX helm chart to Kuberpult helm chart #1064 (bernardo-bastos)
- Integration test for frontend main page #1076 (sven-urbanski-freiheit-com)
- Fix frontend service docker image #1074 (sven-urbanski-freiheit-com)
- Update module google.golang.org/api to v0.149.0 #1073 (renovate[bot])
- Update module github.com/lestrrat-go/jwx/v2 to v2.0.16 #1072 (renovate[bot])
- Update module github.com/argoproj/argo-cd/v2 to v2.8.6 #1065 (renovate[bot])
1.10.2 (2023-10-30)
- Implement include feature of repo server #1070 (hannesg)
- Update dependency node to v20 #1050 (renovate[bot])
- Update dependency @testing-library/jest-dom to v6 #888 (renovate[bot])
1.10.1 (2023-10-27)
- Fix teams dropdown overflow #1069 (sven-urbanski-freiheit-com)
- Deleting empty directories in the manifest repository #1062 (sven-urbanski-freiheit-com)
- Fix server_test in frontend-service #1052 (sven-urbanski-freiheit-com)
- Fix helm chart: always provide dex variables #1048 (sven-urbanski-freiheit-com)
- Build Go in docker: frontend #1042 (sven-urbanski-freiheit-com)
- Actually run
go build
in docker (cd&rollout) #1022 (sven-urbanski-freiheit-com) - Update module gopkg.in/DataDog/dd-trace-go.v1 to v1.56.1 #1060 (renovate[bot])
- Update module sigs.k8s.io/yaml to v1.4.0 #1056 (renovate[bot])
1.10.0 (2023-10-23)
1.9.0 (2023-10-20)
- Change Dex and PgpKeyRing variable name #1020 (bernardo-bastos)
- Update module github.com/coreos/go-oidc/v3 to v3.7.0 #1040 (renovate[bot])
- Update module google.golang.org/api to v0.148.0 #1037 (renovate[bot])
- Update module github.com/lestrrat-go/jwx/v2 to v2.0.15 #1036 (renovate[bot])
- Update module gopkg.in/DataDog/dd-trace-go.v1 to v1.56.0 #1024 (renovate[bot])
- Update module google.golang.org/grpc to v1.59.0 #1023 (renovate[bot])
- Update module github.com/lestrrat-go/jwx/v2 to v2.0.14 #1021 (renovate[bot])
- Update dependency prettier to v3 #1016 (renovate[bot])
- Update module google.golang.org/grpc to v1.58.3 #1015 (renovate[bot])
- Update module google.golang.org/api to v0.147.0 #1014 (renovate[bot])
- Update module github.com/google/go-cmp to v0.6.0 #1013 (renovate[bot])
- Update module github.com/go-git/go-billy/v5 to v5.5.0 #1012 (renovate[bot])
- Update module github.com/lestrrat-go/jwx to v2 #1011 (renovate[bot])
1.8.1 (2023-10-16)
- Close dialogs on click outside the dialog #995 (sven-urbanski-freiheit-com)
- Implement Dropdown without mui #996 (sven-urbanski-freiheit-com)
- Update dependency node to v18.18.2 #1010 (renovate[bot])
- Update opentelemetry-go monorepo #1008 (renovate[bot])
- Update module gopkg.in/DataDog/dd-trace-go.v1 to v1.55.0 #1007 (renovate[bot])
- Update module github.com/prometheus/client_golang to v1.17.0 #1006 (renovate[bot])
- Update module golang.org/x/sync to v0.4.0 #1005 (renovate[bot])
- Update module golang.org/x/oauth2 to v0.13.0 #1004 (renovate[bot])
- Update module go.uber.org/zap to v1.26.0 #1002 (renovate[bot])
- Update github.com/ProtonMail/go-crypto digest to afb1ddc #1001 (sven-urbanski-freiheit-com)
- Update dependency eslint-config-prettier to v9 #999 (renovate[bot])
- Update dependency typescript to v5.2.2 #998 (renovate[bot])
- Update golang Docker tag to v1.21.3 #997 (renovate[bot])
- Update module github.com/argoproj/argo-cd/v2 to v2.8.4 #862 (renovate[bot])
1.8.0 (2023-10-10)
1.7.2 (2023-10-06)
- Fix: ReleaseDialog renders many environments #988 (sven-urbanski-freiheit-com)
- Added Docs for Release Train Recommendations #986 (sven-urbanski-freiheit-com)
Closed issues:
- Release Dialog not displayed full with many environments #987
1.7.1 (2023-10-02)
- Fix: Allow locks for groups with azure enabled #983 (sven-urbanski-freiheit-com)
- Documentation: Add design principles #978 (sven-urbanski-freiheit-com)
Closed issues:
1.7.0 (2023-10-02)
- Distinguish more rollout states #981 (hannesg)
- Add ingress class name as optional parameter #974 (Murtaza-Solangi)
- Fix: Show "deployed by" also for other versions in ReleaseDialog #979 (sven-urbanski-freiheit-com)
- Fix: segfault in rollout service #975 (hannesg)
- Refactor ReleaseDialog to not use mui #971 (sven-urbanski-freiheit-com)
Closed issues:
- "Deployed by" only shows up for the current release #977
1.6.0 (2023-09-28)
- Add pod annotations to the rollout pod #972 (hannesg)
- Refactor EnvSelection to not use mui #970 (sven-urbanski-freiheit-com)
- Add metrics to the rollout service #961 (hannesg)
- Track DeployTime of applications in the rollout service #960 (hannesg)
- Add environment group name to kuberpult events #963 (hannesg)
- Also emit deploy time in version events #962 (hannesg)
1.5.0 (2023-09-22)
There are no breaking changes.
However, we now recommend to submit the whole git hash to the /release
endpoint. Kuberpult's UI now takes care to shorten the hash when displaying it.
We also recommend to set the helm chart parameter git.sourceRepoUrl
to add a link to the source. Optionally you can also set git.manifestRepoUrl
to add a link to the manifest repo.
See values file for how to set them.
- UI: Show warning before deploying over a lock #955 (sven-urbanski-freiheit-com)
- Shorten commit hashes and use common styling for release versions #947 (hannesg)
- Render Link to manifest and source repo #935 (sven-urbanski-freiheit-com)
- Update dependency node to v18.18.0 #954 (renovate[bot])
- Update golang Docker tag to v1.21.1 #953 (renovate[bot])
- Fix display of delete-them-all button in planned actions #952 (sven-urbanski-freiheit-com)
- Fix lock symbol size on history page #949 (sven-urbanski-freiheit-com)
Closed issues:
1.4.2 (2023-09-14)
- Added default network timeouts for batch service in the frontend service #942 (hannesg)
- Add networking timeouts to git pushes #941 (hannesg)
- chart: Make the delay to cd service's probes configurable from the values file #940 (jaypontes)
1.4.1 (2023-09-11)
Fixed bugs:
- Shopping Cart should show lock that is removed #239
- Warn in the UI when there are too many items in the cart #878
- Conditionally show team name in error message #937 (gsandok)
- Add Release Version to the frontend SideBar #936 (gsandok)
- User get notified of permission errors on the frontend #926 (gsandok)
- Add Release Version to the frontend #918 (gsandok)
- Fix: Show "undeploy version" only in correct circumstances #934 (sven-urbanski-freiheit-com)
- Show error about too many items before submit #930 (sven-urbanski-freiheit-com)
Closed issues:
- Unlocking an environment with
upstream: latest
configuration should update all services in the environment to their most recent releases #576 - Improvement: Release trains from arbitrary sources #401
- helm chart ingress issue #269
- Removing applications from single stages #50
1.4.0 (2023-09-08)
- Fix NPE in broadcast.go #931 (hannesg)
- Change wording for release note generator #928 (sven-urbanski-freiheit-com)
- Explain Helm Parameters in Readme #925 (sven-urbanski-freiheit-com)
- Rollout service: dedup version notifications and notify for app deletions #923 (hannesg)
- Update README.md for users #922 (sven-urbanski-freiheit-com)
- Added tests for release train to env groups #921 (sven-urbanski-freiheit-com)
- Added details to the Spinner showed on startup #920 (sven-urbanski-freiheit-com)
- Added spinner for submitting planned actions #917 (sven-urbanski-freiheit-com)
Closed issues:
- release trains for groups need more tests #869
- Need to show spinner (while loading overview, etc) #853
1.3.0 (2023-09-05)
- Fix layout in Lock tooltip #913 (sven-urbanski-freiheit-com)
- Notify argocd about updates #910 (hannesg)
- Add Display Version to create release request #906 (gsandok)
1.2.0 (2023-09-04)
Closed issues:
- Author not preserved in azure #893
- Fix tooltip css format #911 (sven-urbanski-freiheit-com)
- Write Username instead of email #909 (sven-urbanski-freiheit-com)
- Don't show the rollout status if it's disabled #905 (hannesg)
Merged pull requests:
- Allow locking and unlocking env groups over rest #902 (sven-urbanski-freiheit-com)
1.1.0 (2023-09-01)
- Upgrade buf to 1.26.1 #901 (sven-urbanski-freiheit-com)
- Add rollout service in grpc api #802 (hannesg)
- Add more error conditions to the rollout service #900 (hannesg)
- Fix author header handling (again) #899 (sven-urbanski-freiheit-com)
- Add a feature flag to disable sending webhooks #903 (hannesg)
Closed issues:
1.0.3 (2023-08-28)
- Fix encoding issue with http header. #896 (sven-urbanski-freiheit-com)
- Fix argocd server processing and set plaintext option correctly #895 (hannesg)
- Use right context for spans "PostPush" and "Webhook-Retries" #894 (sven-urbanski-freiheit-com)
1.0.2 (2023-08-23)
- Submit user data via grpc message instead of header #889 (sven-urbanski-freiheit-com)
- Add webUrl as separate option for argo webhooks #887 (sven-urbanski-freiheit-com)
- Maintenance: handle ts-proto warning #886 (sven-urbanski-freiheit-com)
- Refactor return type of ApplyTransformer #885 (sven-urbanski-freiheit-com)
- Update module go.uber.org/zap to v1.25.0 #855 (renovate[bot])
released 2023-08-22
none
none
- Fix commit Ids for webhooks to ArgoCd
- Increase nginx timeout to 300s
- Update golang Docker tag to v1.21.0
- Update module gopkg.in/DataDog/dd-trace-go.v1 to v1.54.0
released 2023-08-21
none
released 2023-08-10
none
- Update CHANGELOG.md: fix version number 81->82
- Update module golang.org/x/oauth2 to v0.11.0
- Update module gopkg.in/DataDog/dd-trace-go.v1 to v1.53.0
- Update k8s.io/utils digest to 3b25d92
released 2023-08-07
none
- DeleteEnvironmentApplicationLock Role Based Access Control
- DeployApplicationVersion Role based Access Control
- DeleteEnvironmentApplication Role Based Access Control
- CreateApplicationVersion Role Based Access Control
- ReleaseTrain Role Based Access Control
- CreateUndeployApplicationVersion Role Based Access Control
- Update module google.golang.org/api to v0.134.0
- CreateEnvironment add Role Based Access Control
- UndeployApplication Role Based Access Control
- Update dependency node to v18.17.0
- Add files related to run-kind.sh to gitignore
released 2023-08-03
none
- Improve azure error handling
- Add Wildcard Check for Env/EnvGroup/Application
- Add App/Environment wildcard permission check
- Update golang Docker tag to v1.20.7
- Update module github.com/argoproj/argo-cd/v2 to v2.7.10
- Update module google.golang.org/grpc to v1.57.0
- Update module github.com/coreos/go-oidc/v3 to v3.6.0
released 2023-08-02
none
- Added Changelog information about IAP for /release endpoint
- Block Users without Permission from Creating Environment Locks
- Refactoring: rename httperrors.go to grpc/errors.go
- Refactor checkUserPermissions in auth/rbac.go
- CheckPermissions function moved to transformer
- DeleteEnvironmentLock Role Based access Checked if Dex is Enabled
- CreateEnvironmentApplicationLock Role Based access
- Refactoring: Use own tooltip component
- Refactor permission policy RBAC
released 2023-07-26
If you are directly calling the /release endpoint in the cd-service, then this is a breaking change for you.
If you use the helm variable ingress.exposeReleaseEndpoint
, you need to remove it, before using the helm chart.
This variable was necessary to open a connection directly to the cd-service - bypassing the frontend-service.
The frontend-service itself does not require this. The helm chart now returns an error, if the variable is set at all.
Additionally, if you are using google IAP (ingress.iap.enabled=true in the helm chart),
you need to now provide an IAP token when invoking the /release
endpoint.
To get a token, you can find an example script in Google's documentation.
The /release
endpoint was moved from the cd-service to the frontend-service.
Some very specific http error codes for /release
also changed.
We now return the http code 500 less often, and replaced it with 400, for example when the signature does not match.
Apart from the status codes in very specific situations, the endpoint works as before.
For more details see the Pull Request Replaced /release http endpoint in cd-service with grpc.
none
- Read Dex ClientID, ClientSecret and BaseURL from config map
- Refactor checkbox to reduce material-ui usage
- Fix log level
released 2023-07-21
none
none
- Move functionality from DeploymentService and EnvironmentService to BatchService
- Update README.md with notes about /release endpoint
- Add RBAC policy parser methods
- Add Dex RBAC Config Map
- Add a dummy user to the rollout service
- Add missing argocd token secret
- Fix buf build
released 2023-07-07
none
- Hide Buttons behind a "..." menu in service lane
- Bugfix: Display locks only for the correct application
- UI: Delete environments from an app
- Update module k8s.io/component-helpers to v0.27.3
- Remove outdated LockService
- Add github pipeline badges to readme
- Removed renovate autorebase
- Add forwarder for rollout status to frontend service
- Use correct service names in all services
released 2023-07-04
no actual breaking changes, but we do now recommend setting the git author in the helm chart (values "git.author.name" and "git.author.email") and whenever you call the "/release" endpoint in the cd-service (most of our users have a script called publish.sh which does just that). See this script for an example. See this PR for details.
If you do not care what string appears as git author in the manifest repo when kuberpult creates commits, you don't have to change anything.
- Display person who triggered deployment
- Make git author configurable in helm chart & refactor context usage
- Store person who triggered deployment
- Adds DEX methods to Auth Package
- Update module google.golang.org/protobuf to v1.31.0
- Update alpine Docker tag to v3.18
- Update k8s.io/utils digest to 9f67429
- Update dependency typescript to v5.1.6
released 2023-07-04
none
- Replaced x/go-crypto with ProtonMail/go-crypto This should fix a few pgp related issues.
released 2023-07-03
none
none
- Explain replicas=1 of cd-service
- Added correct datadog annotations to frontend service
- Added error messages and error logs to the release endpoint
- Remove outdated Readme section about queues
- testdata: use correct port to call frontend service
- build all services if go.mod changed
- Refactoring: Move interceptors to frontend
released 2023-06-27
none
- Unify commit messages for unlocking
- Add team label to argo app
- Do not ignore git push errors
- Append email and username and pass it along to the batchservice
- Adding username/email as datadog tags to span
- Add rollout service base
- Add license to scss files
- Print container logs if integration tests fail
- Update module google.golang.org/grpc to v1.56.0
- Update module golang.org/x/crypto to v0.10.0
- Update module google.golang.org/api to v0.128.0
- Prepare for upgrade to node 18
- Update Node.js to v18
- Update dependency typescript to v5.1.3
- Adapt jest.useFakeTimers for jest upgrade
- Update module github.com/MicahParks/keyfunc to v2 and jwt to v5
- Update dependency @types/jest to v29
- Add dashboard to renovate
- Add broadcast implementation and tests
- Allow kuberpult to run on different machines and architectures
- Update module github.com/argoproj/argo-cd/v2 to v2.7.6
- Update module github.com/argoproj/gitops-engine to v0.7.3
- Revert "Update module github.com/argoproj/gitops-engine to v0.7.3"
- Update module google.golang.org/grpc to v1.56.1
- Update module gopkg.in/DataDog/dd-trace-go.v1 to v1.52.0
- fix port in create-release for local setup
released 2023-06-19
none
- Encode username and mail with base64
- Render warnings for unusual deployment situations
- Also lock when deploying manually
- Add documentation for how to obtain the gke config
- Run kind in CI with kuberpult & git server & environments as test data
- Use team name for codeowners
- Remove unused endpoints Get/StreamDeployedOverview
- Enable tracing for release endpoint
- Removed unused Field "environments"
- Run ArgoCd in Kind for integration tests
- Allow Origin * by default
- Update golang Docker tag to v1.20.5
- Allow easier app removal
- Delete Environment from App in backend
- fix release train script
- Build services when go files in /pkg were changed
- Update module google.golang.org/api to v0.127.0
- Update module gopkg.in/DataDog/dd-trace-go.v1 to v1.51.0
released 2023-05-31
released 2023-05-26
released 2023-05-25
released 2023-05-24
- Add annotations to ArgoCD application
- Add X-Frame-Options, Referrer-Policy and Permission-Policy header
- Add more secure header settings
released 2023-05-19
- Added git commit parameter and field to the overview service
- Refactoring Test: Do not connect to remote service during test
- Use same lock ID for locks in one batch
- Add button to delete all similar locks
- Validate environment groups and environments distance to upstream
- Make all UI paths available with hard reload
- Show more detailed Relative time, + refactoring
- small bugfixes / improvements
- Reduce Whitespace in ReleaseDialog
- Render kuberpult version in the html title
- Render commit message nicer
- Bugfix for deleting similar locks
- fix hidden releases tooltip showing version undefined
- Make Lock action summary consistent
- Fix environment colors on Environments Page
- Fix Navigation to History page clears search filters
- dependency updates
- Update dependency rxjs to v7
- Update dependency @testing-library/react to v14
- Update dependency typescript to v5
- Update docker Docker tag to v23.0.6
- Update golang Docker tag to v1.20.4
- Update alpine Docker tag to v3.18
- Update dependency madge to v6
- Update dependency protobufjs to v7
- Update module google.golang.org/grpc to v1.55.0
- Update module google.golang.org/api to v0.121.0
- Update module golang.org/x/crypto to v0.9.0
- Update module gopkg.in/DataDog/dd-trace-go.v1 to v1.50.1
released 2023-04-28
- Fix UI scaling - HomePage
- Update docker Docker tag to v23.0.4
- Nicer commit message for release trains
- Add button to lock an entire environment group at once
- Update module github.com/cenkalti/backoff/v4 to v4.2.1
- Update module google.golang.org/api to v0.120.0
released 2023-04-18
Note: this release contains a change that switches the underlying storage from git package files to sqlite. The change is completely transparent and should have no downsides. In case of problems, the helm chart has a new option enableSqlite
that can be set to false to disable the new behaviour.
- Switch default storage backend to sqlite
- Fix: Allow emptying manifest of individual environments
- Allow url paths starting with home to be served
- Always Show the latest release on homepage
- Update module google.golang.org/api to v0.118.0
- Update module k8s.io/apimachinery to v0.27.1
- fix(deps): update module gopkg.in/datadog/dd-trace-go.v1 to v1.49.1
- fix(deps): update module golang.org/x/crypto to v0.8.0
- Lots of small refactorings in order to enable type assertions checks (633)
released 2023-04-13
released 2023-04-11
- Workaround git repack issue by restarting the pod
- Display app locks in Overview
- Bugfix: Allow hard reload on UI
- fix pnpm to version 7.30.5 in Docker images
- Update alpine image and add sqlite of the build image
- Update alpine image + libgit
- fix(deps): update module google.golang.org/api to v0.114.0
- fix(deps): update module github.com/cenkalti/backoff/v4 to v4.2.0 (
- fix(deps): update module github.com/grpc-ecosystem/go-grpc-middleware
- fix(deps): update module k8s.io/apimachinery to v0.26.3
- fix(deps): update module google.golang.org/grpc to v1.54.0
- fix(deps): update module github.com/improbable-eng/grpc-web to v0.15.0
- fix(deps): update module google.golang.org/api to v0.117.0
- chore(deps): update golang docker tag to v1.20.3
released 2023-03-31
- Old UI was removed
- Implemented various features that were missing from the old UI
- various library upgrades and bugfixes
- New UI is now available under /
- Fix bug in app deletion when there are app locks
- Show Application and Team on Release Dialog
- Fix issue with deleting locks
- disable apply button, fix button ripples bug
- Allow deleting env locks from release dialog
- new UI: add prepareToUndeploy and Undeploy functions
- Retry connection on errors with exponential backoff
- update module gopkg.in/datadog/dd-trace-go.v1 to v1.48.0
- update module github.com/go-git/go-billy/v5 to v5.4.1
- update module github.com/golang-jwt/jwt/v4 to v4.5.0
- update module github.com/micahparks/keyfunc to v1.9.0
- update module go.uber.org/zap to v1.24.0
- refactoring: remove version -1 from everywhere
- Return undeploy summary in cd-service
- Update Github SSH key in certificates test
- Comments for queuing of transformers/requests
- update golang docker tag to v1.20.2
- update dependency @improbable-eng/grpc-web to ^0.15.0
- Integ tests Workflow: Add case for abbreviated version
- Update softprops-action-gh-release to use node16
- chore(deps): update node.js to v14.21.3
- update module github.com/google/go-cmp to v0.5.9
- update module github.com/libgit2/git2go/v33 to v33.0.9
- update module google.golang.org/protobuf to v1.30.0
- update module github.com/datadog/datadog-go/v5 to v5.3.0
- update module golang.org/x/crypto to v0.7.0
- Add api.go to pkg/api
released 2023-03-20
This release contains 2 major bugfixes:
- Fix for creating older versions in release endpoint #556
- Fix undeploy for apps that are not in all environments #555
Other changes:
- (new UI) Fix rendering of group labels on ReleaseCards #544
- Warn on startup if an upstream does not exist #550
- (new UI) Fix 0 deployment #554
released 2023-03-09
- Add snackbar notifications #517
- Rephrase release dialog text #532
- Remove whitespace in ReleaseDialog of new UI #531
- Configure regular updates with Renovate #515
released 2023-03-02
released 2023-03-01
- Update release train documentation #507
- Added Automatically open cart when actions #505
- Whitelist create environment endpoint in Azure Auth #510
released 2023-02-27
- Added warning if there are no envs configured during startup #502
- Update homepage design, add Tooltip, fix bug with date #496
- Added environment group release train #504
- Update release card design, show more releases on home #503
released 2023-02-20
- Improved error handling for release trains #482
- Display queued version in v2 release dialog #491
- Bugfix: Add a check if the application version is available or not #493
- Add createEnvironment http endpoint #489
- Upgrade go to v1.19.4 #472
- Fix Sorting of EnvironmentGroups #474
- Add documentation for config.json files #475
- This release is only useful if you want to take a look at the new kuberpult UI - which is still beta and not shown by default. It's reachable under the url path
/v2/home
- Render environment groups in UI #465
- Bugfix: Do not require authentication in frontend-service health check #467
- Publish the docker images additionally to the ghcr.io registry #459
released 2023-01-17
- Bugfix: Write undeploy versions correctly into manifest repo #412
- route /v2/home to index.html in build directory #454
- Add EnvironmentGroup to getOverview endpoint #449
- Backend: Add environmentGroup to envConfig #447
- Removed misleading tooltip about queues in old UI #443
- Bugfix: Show lock message text & label properly #427
- Add teams filter to releasetrain endpoint over rest #417
- Make Ingress optional #400 This allows you to use the kuberpult helm chart without the ingress.
released 2022-11-18
- cd-service changed from StatefulSet to Deployment #397 This means that the bug regarding "no space left on device" is fixed: The kuberpult cd-service will now automatically restart with a new disk when this happens. In order to really benefit from this, you need to have some form of retry for the failed curl/grpc request though.
- Add action item and list, component design, logic, and tests #394
- After the upgrade, the PersistantVolumeClaim with name:
repository
should be removed manually, because it's not needed anymore. - Stop deploying from the queue after deleting the lock directly and remove the
Delete Queue
button from the UI #396
When kuberpult gets a request to deploy a microservice, and at the same time there is a lock, that puts us in a tricky situation. On one hand the user wants to deploy this, on the other the service is locked, indicating they don't want to deploy.
In the past (version <= 0.4.46) kuberpult queued deployments. This means that it saved the version that was requested to deployed, but didn't actually deploy it yet. Once the last lock on that microservice (incl environment locks) was removed, the queued version was deployed and the queue was removed. This was reasonable, but never easy to explain. Especially because deployment requests that encounter an environment lock behaved different: These did not create a queue at all.
If this is still not clear, that's exactly the point ;) It's difficult to understand this behavior. That's why we changed it!
From now on (version >= 0.4.47) there is never a magical deployment that happens just because someone deletes a lock. Queues still exist in the database (git repository) and the UI, however they don't deploy anything anywhere ever. They only document the fact that "hey, someone tried to deploy this, but kuberpult couldn't do that because there was a lock".
Release trains that run into an environment lock will still cancel completely, as there is nothing to deploy. This behavior is unchanged.
Note that for both versions, manual deployments (via the UI) were and are always allowed, no matter the lock situation. All power to the engineers!
released 2022-11-03
- Add a response body to releaseTrains endpoint #389
- Add latest as upstream option in releaseTrains response body #391
released 2022-10-25
- Implement Environments Page #381
- Add Dropdown to select team in new UI #380
- SRX-WQYHIS Always sort apps by team name #383
- Add Azure Auth to V2 #379
- Implement Release train from latest #386
released 2022-10-11
- More frequent Datadog metrics #375
- Implementation for application name filtering #374
- Refresh overview after getting id token (logging in) #377
released 2022-10-07
- Fixed an issue where the legacy ui did not reload the data on connection errors #371
released 2022-09-27
released 2022-09-26
- Upgrade to React 18, Add react-use-sub #345
- Refactoring in new ui components #340
- Use logged-in userdata from Azure #343
- Add service lanes and show the new kuberpult homepage #347
- Force using gpg when on Azure authentication #355
- Verify releasetrain requests with pgp #357
released 2022-09-07
- Update kuberpult to use multi-stage execution plan #324
- Add sidebar in kuberpult ui #325
- Add chip component #328
- Add Release card component #329
- Add release api in frontend #334
released 2022-08-30
released 2022-08-29
- don't show delete queue button for undeployed version #310
- Add navigation indicator #311
- Return deployed releases #315
- run the migration script during downtime in deployment to avoid errors Readme
- Remove History package and persistent cache. #282
- Add scripts for metadata migration. #307
released 2022-08-18
- Remove authentication requirement from path "/static/js" and "/static/css" in frontend #305
released 2022-08-18
- Remove authentication requirement from path "/" in frontend #302
released 2022-08-18
released 2022-08-15
released 2022-08-11
- Temporarily going back to use a persistant volume #290
released 2022-07-27
For helm installation:
Due to a change in the statefulset, it is required to first tear down the helm_release
kuberpult resource and then re-create it.
Reason: Kubernetes forbids certain changes on stateful sets on the fly.
- Fixed issue with disk running full #266
released 2022-07-26
- fix argocd get full url function #262
released 2022-07-26
released 2022-07-25
- When the upstream version of an application is different, and the application is deployed manually, a lock for the application is added automatically to prevent release train override #258
released 2022-07-22
- Added fields
appProjectNamespace
andapplicationNamespace
to ArgoCD application config to allow for better control over generated manifests #250
released 2022-07-21
- Removed the argocd sync endpoint #234
- Added support for bootstrap mode in the helm chart #240
- Display the owner of an application and add an url parameter to filter them #222
- Better error messages for certain transformers #244
- Improved the build system by generating the version in a dedicated step #242 #246 #248
released 2022-07-14
- Added HTST security header to frontend service #241
released 2022-07-06
- Added support to ignore argo fields managedFieldsManagers and jqPathExpressions #230
released 2022-07-06
- Fix ArgoCd SyncWindow configuration #227
released 2022-07-05
- Push multiple actions together as one #202
released 2022-07-04
released 2022-07-04
- Allow configuration of "environment" datadog metrics and traces get reported to #197
- Enhanced support for tracing Kuberpult internals #198
- Get builder images from make get-builder-image #199
- Update release instructions by @mnishamk-freiheit in freiheit-com#193
- Make datadog environment configurable by @fdcds in freiheit-com#197
- Support tracing of gRPC requests by @fdcds in freiheit-com#198
- Clearer job names for matrix jobs by @mnishamk-freiheit in freiheit-com#202
- Fix lint and test helm charts by @mnishamk-freiheit in freiheit-com#196
- Add documentation for Podman, fix typos and small errors by @tameremad in freiheit-com#138
- add Etymology of kuberpult by @sven-urbanski-freiheit-com in freiheit-com#208
- Move lock message inputs from inline to actions cart by @tameremad in freiheit-com#128
- Fix: Show sync window warning by @fdcds in freiheit-com#203
- SRX-4SBVE2 Add tracing envs to frontend by @hannesg in freiheit-com#215
released 2022-06-17
- Customize annotations on the kuberpult ingress #191
- Support per-application ArgoCD sync windows #180
releases 2022-06-16
- Warning when manually deployed to production #186
releases 2022-06-14
- Increase Kuberpult's memory limit & request #182
releases 2022-06-13
- Increase Kuberpult's Cpu limit & request #173
releases 2022-05-31
- It's now possible to specify sync options for argocd apps #163
- The rest endpoints of the frontend service work again #164
released 2022-05-27
- Add option to configure timeouts in loadbalancer #156
- removed cd.pvc.storage from values #155
released 2022-04-21
released 2022-04-01
- Use
networking.k8s.io/v1
API Version for ingress. #121
released 2022-03-30
- Optimize history calculation to reuse previously computed results #115
released 2022-03-18
- Added support in helm chart to customize the size of cd servcie PVC disk. #116
released 2022-02-01
released 2021-11-02
- Increase timeout for sync endpoint. #15
released 2021-09-07
- Sync endpoint for syncing all argocd apps in an environment 75