Even though this is a feature it's released as fix so that we can back port to earlier revisions.
As reported by multiple users startup of ZITADEL after leaded to downtime and worst case rollbacks to the previously deployed version.
The problem starts rising when there are too many events to process after the start of ZITADEL. The root cause are changes on projections (database tables) which must be recomputed. This PR solves this problem by adding a new step to the setup phase which prefills the projections. The step can be enabled by adding the `--init-projections`-flag to `setup`, `start-from-init` and `start-from-setup`. Setting this flag results in potentially longer duration of the setup phase but reduces the risk of the problems mentioned in the paragraph above.
(cherry picked from commit 17953e9040)
* feat: migrate external id
* implement tests and some renaming
* fix projection
* cleanup
* i18n
* fix event type
* handle migration for new services as well
* typo
* feat: use passwap for human user passwords
* fix tests
* passwap config
* add the event mapper
* cleanup query side and api
* solve linting errors
* regression test
* try to fix linter errors again
* pass systemdefaults into externalConfigChange migration
* fix: user password set in auth view
* pin passwap v0.2.0
* v2: validate hashed password hash based on prefix
* resolve remaining comments
* add error tag and translation for unsupported hash encoding
* fix unit test
---------
Co-authored-by: Livio Spring <livio.a@gmail.com>
Request an access_token for service users with OAuth 2.0 Client Credentials Grant. Added functionality to generate and remove a secret on service users.
* docs: update cockroachdb version to 22.2
* feat(adminAPI): ListEventTypes returns the list of event types ZITADEL implements
* feat(adminAPI): ListAggregateTypes returns the list of aggregate types ZITADEL implements
* feat(adminAPI): ListEvents allows `IAM_OWNERS` to search for events
* fix: try using only user session if no user is set (id_token_hint) on prompt none
* fix caos errors As implementation
* implement request mode
* return explicit error on invalid refresh token use
* begin token revocation
* token revocation
* tests
* tests
* cleanup
* set op config
* add revocation endpoint to config
* add revocation endpoint to config
* migration version
* error handling in token revocation
* migration version
* update oidc lib to 1.0.0
* feat: user meta data events
* feat: user meta data set tests
* feat: user meta data tests
* feat: user meta data in protos
* feat: user meta data command api
* feat: user meta data query side
* feat: proto correct order, fix handlers
* feat: proto correct order
* feat: fixes of pr comments
* feat: fixes of pr comments
* feat: value as byte array
* feat: metadata feature
* Update internal/auth/repository/eventsourcing/handler/meta_data.go
Co-authored-by: Silvan <silvan.reusser@gmail.com>
* Update internal/command/user_meta_data.go
Co-authored-by: Silvan <silvan.reusser@gmail.com>
* Update proto/zitadel/metadata.proto
Co-authored-by: Silvan <silvan.reusser@gmail.com>
* Update proto/zitadel/metadata.proto
Co-authored-by: Silvan <silvan.reusser@gmail.com>
* fix: rename metadata files and table
* fix: rename meta data to metadat in protos
* Update internal/domain/metadata.go
Co-authored-by: Silvan <silvan.reusser@gmail.com>
* fix: rename vars
* fix: rebiuld docs
* Update internal/iam/repository/view/metadata_view.go
Co-authored-by: Silvan <silvan.reusser@gmail.com>
Co-authored-by: Silvan <silvan.reusser@gmail.com>
* begin pw less registration
* create pwless one time codes
* send pwless link
* separate send and add passwordless link
* separate send and add passwordless link events
* custom message text for passwordless registration
* begin custom login texts for passwordless
* i18n
* i18n message
* i18n message
* custom message text
* custom login text
* org design and texts
* create link in human import process
* fix import human tests
* begin passwordless init required step
* passwordless init
* passwordless init
* do not return link in mgmt api
* prompt
* passwordless init only (no additional prompt)
* cleanup
* cleanup
* add passwordless prompt to custom login text
* increase init code complexity
* fix grpc
* cleanup
* fix and add some cases for nextStep tests
* fix tests
* Update internal/notification/static/i18n/en.yaml
* Update internal/notification/static/i18n/de.yaml
* Update proto/zitadel/management.proto
* Update internal/ui/login/static/i18n/de.yaml
* Update internal/ui/login/static/i18n/de.yaml
* Update internal/ui/login/static/i18n/de.yaml
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>