acmeproxy icon indicating copy to clipboard operation
acmeproxy copied to clipboard

Changes to move account functionality from settings.py to the database

Open sam-banks opened this issue 3 years ago • 0 comments

Introduction

Currently acmeproxy has its user configuration defined in a Python dictionary in the settings.py file. To run multiple instances of acmeproxy, you now have two components to synchronise; settings.py and the database. A better option is to move all global configuration to the database and use a multi-active technology, such as CockroachDB.

Details

The v2.0 branch has been created which implements the changes mentioned above.

For people that are using the existing code base, the v0.1 branch has been created from the most recent master commit. This branch is considered deprecated and will almost certainly not receive any updates.

v2.0 is considered the active development branch and will receive all future commits. The timeline of when this branch will receive updates and when it will be stable is unknown, but is best effort at this stage.

Changes to be aware of

There are a small number of changes which have implications to be aware of when using v2.0:

  • Existing v0.1 installations cannot be automatically upgraded to v2.0 due to the account field in the Authorisation table changing type, and limitations in the django-cockroachdb module
  • The functionality to use acmeproxy without authorisation has been removed
  • Referential integrity has been added to the Account table. While this isn't a limitation, it's something to be aware of. If you remove an Account, all related Authorisations will be removed
  • The development features, tests, docker support, and CI related items have not been updated in v2.0 and have been removed, but are still available in v0.1

sam-banks avatar Nov 06 '22 22:11 sam-banks