amahi / platform

Core of the Amahi Platform, a web app in RoR
Other
139 stars 102 forks source link

Plugin requirements for lets's encrypt (LE) #244

Open sukhbir-singh opened 5 years ago

sukhbir-singh commented 5 years ago

Aim of the plugin

Platform would get the cert from the API (from the user) as well as install it properly for the virtualhost that needs it. Plugin should show the status and time when the last certificate is generated and will show an alert before 15 days of the expiry of generated certificate. It will also give user option to regenerate it.

Plugin requirements:-

  1. The platform must not be aware of the nickname (at the moment it is, but that should be ignored and the API should be used). The current nickname in the platform can fall out of sync with amahi.org
  2. Do not make assumptions about the domain (at the moment it's yourhda.com but it could be different long term and we want to design it for that, so that we can change it later, so best to get it from the API)
  3. Initially the plugin will check to see a) if the cert is installed or not b) if it's valid or not and display that
  4. If it is installed, or expired, or valid but open for renewal (less than 15 days prior to expiration) then the user can renew it by hand.
  5. If it is not installed, the initial one should be created and installed.
  6. It should allow for deleting the cert as well.
  7. By installed, it means: interrogate the API about status, then request it and give it time to generate it. (this could take a few seconds or maybe up to two minutes), then obtain it (or deal with the error) and then if available install it in the system in the right place.
  8. Handle all the corner cases carefully.