Silvan 42e24e3508
fix(migrations): event sequence as hash shared index (#528)
* one concurrent task

* disable spooler

* fix: improve concurrency in spooler

* fix: dont block lock

* fix: break if lock failed

* fix: check if handler is working

* fix: worker id

* fix: test

* fix: use limit for spoolers configured in startup.yaml

* fix test

* fix: factory

* fix(key): only reduce if not expired

* fix(searchQueryFactory): check for string-slice in aggregateID

* fix(migrations): combine migrations

* fix: allow saving multiple objects in one request

* fix(eventstore): logging

* fix(eventstore): rethink insert i locks table

* fix: ignore failed tests for the moment

* fix: tuubel

* fix: for tests in io

* fix: ignore tests for io

* fix: rename concurrent tasks to workers

* fix: incomment tests and remove some tests

* fix: refert changes for io

* refactor(eventstore): combine types of sql in one file

* refactor(eventstore): logs, TODO's, tests

* fix(eventstore): sql package

* test(eventstore): add tests for search query factory

* chore: logs

* fix(spooler): optimize lock query
chore(migrations): rename locks.object_type to view_name
chore(migrations): refactor migrations

* test: incomment tests

* fix: rename PrepareSaves to PrepareBulkSave

* chore: go dependencies

* fix(migrations): add id in events table

* refactor(lock): less magic numbers

* fix(migrations): event_sequence as hash shared index

Co-authored-by: Livio Amstutz <livio.a@gmail.com>
2020-07-29 09:54:37 +02:00
2020-07-08 13:56:37 +02:00
2020-07-08 13:56:37 +02:00
2020-07-28 12:29:01 +02:00
2020-07-28 12:29:01 +02:00
2020-07-09 16:34:56 +02:00
2020-07-28 12:29:01 +02:00
2020-05-14 07:38:58 +02:00
2020-07-28 09:42:21 +02:00
2020-07-28 09:42:21 +02:00
2020-03-16 14:51:32 +01:00
2020-07-28 10:49:17 +02:00

ZITADEL

ZITADEL

semantic-release Release license release Go Report Card codecov

This project is in a alpha state. The application will continue breaking until version 1.0.0 is released

What Is It

ZITADEL is a Cloud Native Identity and Access Management solution. All server side components are written in Go and the management interface, called Console, is written in Angular.

We optimized ZITADEL for the usage as service provider IAM. By service provider we think of companies who build services for e.g SaaS cases. Often these companies would like to use an IAM where they can register their application and grant other people or companies the right to self manage a set of roles within that application.

How Does It Work

We built ZITADEL around the idea that the IAM should be easy to deploy and scale. That's why we tried to reduce external systems as much as possible. For example, ZITADEL is eventsourced but it does not rely on a pub/sub system to function. Instead we built all the functionality right into one binary. ZITADEL only needs Kubernetes for orchestration and CockroachDB as storage.

Why Another IAM

In the past we already built a closed sourced IAM and tested multiple others. With most of them we had some issues, either technology, feature, pricing or transparency related in nature. For example we find the idea that security related features like MFA should not be hidden behind a paywall or a feature price. One feature that we often missed, was a solid audit trail of all IAM resources. Most systems we saw so far either rely on simple log files or use a short retention for this.

How To Use It

Use our free tier

Stay tuned, we will publish how you can register an organisation in our cloud offering zitadel.ch soon. Yes we have a free tier!

Run your own IAM

Stay tuned, we will soon publish a guide how you can deploy a hyperconverged system with our automation tooling called ORBOS. With ORBOS you will be able to run ZITADEL on GCE or StaticProvider within 20 minutes. To achieve this, ORBOS will bootstrap and maintain a Kubernetes cluster, essential platform components (logging, metrics, ingress, ...), a secure CockroachDB cluster and ZITADEL itself.

The combination of the tools ORBOS and ZITADEL is what makes the operation easy and scalable.

See our progress here

Give me some docs

This is work in progess but will change soon.

How To Contribute

TBA

Security

See the policy here

License

See the exact licensing terms here

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Languages
Go 82.4%
TypeScript 10.4%
HTML 4.3%
SCSS 2%
CSS 0.6%
Other 0.1%