Docs + default origin setting
This commit is contained in:
parent
85db7af0e1
commit
e8c624d408
4 changed files with 27 additions and 1 deletions
|
@ -33,3 +33,6 @@ SERVALA_EMAIL_PASSWORD=''
|
|||
# At most one of the following settings may be set to True
|
||||
SERVALA_EMAIL_TLS='False'
|
||||
SERVALA_EMAIL_SSL='False'
|
||||
|
||||
# If the default OrganizationOrigin is **not** the one with the database ID 1, set it here.
|
||||
SERVALA_DEFAULT_ORIGIN='1'
|
||||
|
|
|
@ -49,7 +49,8 @@ class BillingEntity(models.Model):
|
|||
class OrganizationOrigin(models.Model):
|
||||
"""
|
||||
Every organization has an origin, though origins may be
|
||||
shared across different organizations.
|
||||
shared across different organizations. The default origin
|
||||
(by PK) is configured in the settings as SERVALA_DEFAULT_ORIGIN.
|
||||
"""
|
||||
|
||||
name = models.CharField(max_length=100, verbose_name=_("Name"))
|
||||
|
|
|
@ -3,6 +3,10 @@ from django.utils.translation import gettext_lazy as _
|
|||
|
||||
|
||||
class ServiceCategory(models.Model):
|
||||
"""
|
||||
Categories for services, e.g. "Databases", "Storage", "Compute".
|
||||
"""
|
||||
|
||||
name = models.CharField(max_length=100, verbose_name=_("Name"))
|
||||
description = models.TextField(blank=True, verbose_name=_("Description"))
|
||||
logo = models.ImageField(
|
||||
|
@ -26,6 +30,10 @@ class ServiceCategory(models.Model):
|
|||
|
||||
|
||||
class Service(models.Model):
|
||||
"""
|
||||
A service that can be offered, e.g. "PostgreSQL", "MinIO", "Kubernetes".
|
||||
"""
|
||||
|
||||
name = models.CharField(max_length=100, verbose_name=_("Name"))
|
||||
description = models.TextField(blank=True, verbose_name=_("Description"))
|
||||
logo = models.ImageField(
|
||||
|
@ -64,6 +72,10 @@ class ControlPlane(models.Model):
|
|||
|
||||
|
||||
class CloudProvider(models.Model):
|
||||
"""
|
||||
A cloud provider, e.g. "Exoscale".
|
||||
"""
|
||||
|
||||
name = models.CharField(max_length=100, verbose_name=_("Name"))
|
||||
description = models.TextField(blank=True, verbose_name=_("Description"))
|
||||
logo = models.ImageField(
|
||||
|
@ -79,6 +91,10 @@ class CloudProvider(models.Model):
|
|||
|
||||
|
||||
class Plan(models.Model):
|
||||
"""
|
||||
Each service offering can have multiple plans, e.g. for different tiers.
|
||||
"""
|
||||
|
||||
name = models.CharField(max_length=100, verbose_name=_("Name"))
|
||||
description = models.TextField(blank=True, verbose_name=_("Description"))
|
||||
# TODO schema
|
||||
|
@ -98,6 +114,10 @@ class Plan(models.Model):
|
|||
|
||||
|
||||
class ServiceOffering(models.Model):
|
||||
"""
|
||||
A service offering, e.g. "PostgreSQL on AWS", "MinIO on GCP".
|
||||
"""
|
||||
|
||||
description = models.TextField(blank=True, verbose_name=_("Description"))
|
||||
service = models.ForeignKey(
|
||||
to="Service",
|
||||
|
|
|
@ -62,6 +62,8 @@ EMAIL_HOST_PASSWORD = os.environ.get("SERVALA_EMAIL_PASSWORD", "")
|
|||
EMAIL_USE_TLS = os.environ.get("SERVALA_EMAIL_TLS", "False") == "True"
|
||||
EMAIL_USE_SSL = os.environ.get("SERVALA_EMAIL_SSL", "False") == "True"
|
||||
|
||||
SERVALA_DEFAULT_ORIGIN = int(os.environ.get("SERVALA_DEFAULT_ORIGIN", "1"))
|
||||
|
||||
#######################################
|
||||
# Non-configurable settings below #
|
||||
#######################################
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue