def launch_background_tasks(self):
# Launch some initial tasks
- #self.run_task(self.users.generate_vapid_keys)
#self.run_task(self.builders.autoscale)
# Regularly sync data to the mirrors
"""
The public part of the VAPID key
"""
- return self.settings.get("vapid-public-key")
+ return self.config.get("vapid", "public-key")
@property
def vapid_private_key(self):
"""
The private part of the VAPID key
"""
- return self.settings.get("vapid-private-key")
+ return self.config.get("vapid", "private-key")
- async def generate_vapid_keys(self):
- """
- Generates the VAPID keys
- """
- # Do not generate a new key if one exists
- if self.vapid_public_key and self.vapid_private_key:
- return
-
- with self.db.transaction():
- # Generate the private key
- private_key = await self.backend.command(
- "openssl",
- "ecparam",
- "-name", "prime256v1",
- "-genkey",
- "-noout",
- return_output=True,
- )
-
- # Generate the public key
- public_key = await self.backend.command(
- "openssl",
- "ec",
- "-pubout",
- input=private_key,
- return_output=True,
- )
-
- # Store the keys
- self.settings.set("vapid-public-key", public_key)
- self.settings.set("vapid-private-key", private_key)
-
- log.info("VAPID keys have been successfully generated")
-
- @property
+ @functools.cached_property
def application_server_key(self):
lines = []