google / monologue

A monitor that checks that Certificate Transparency Logs are complying with RFC 6962 and the Chromium Certificate Transparency Log Policy.
Apache License 2.0
40 stars 15 forks source link

MySQL storage implementation #41

Open RJPercival opened 5 years ago

RJPercival commented 5 years ago

We should create a MySQL-compatible storage implementation. The rootsanalyzer (PR #40) currently cannot get root certificates from the rootsgetter because we have no persistent storage implementation.

RJPercival commented 4 years ago

We could use GORM, the ORM, which would also support Postgres and SQLite, amongst other databases. However, it would add a layer of abstraction which might make the code harder to understand than a straightforward MySQL implementation using the database/sql package.

Mercurrent commented 4 years ago

It's discussable whether GORM makes it always harder to understand the code. Sometimes it makes it surprisingly easier. Worth discussing on code-examples when they come to life.

rmhrisk commented 4 years ago

In general, I do not like ORMs because they tend to make supportability harder and they come with performance and scalability penalties. With that said it seems that the use case here may be simple enough to make its use acceptable?