October feature list #226

Merged
tobru merged 36 commits from october into main 2025-10-22 13:43:34 +00:00
8 changed files with 80 additions and 172 deletions
Showing only changes of commit 090827bbbf - Show all commits

View file

@ -1,4 +1,4 @@
# Generated by Django 5.2.7 on 2025-10-17 00:58 # Generated by Django 5.2.7 on 2025-10-22 09:38
import django.db.models.deletion import django.db.models.deletion
import rules.contrib.models import rules.contrib.models
@ -9,10 +9,88 @@ from django.db import migrations, models
class Migration(migrations.Migration): class Migration(migrations.Migration):
dependencies = [ dependencies = [
("core", "0010_organizationorigin_billing_entity"), ("core", "0008_organization_osb_guid_service_osb_service_id_and_more"),
] ]
operations = [ operations = [
migrations.AddField(
model_name="controlplane",
name="wildcard_dns",
field=models.CharField(
blank=True,
help_text="Wildcard DNS domain for auto-generating FQDNs (e.g., apps.exoscale-ch-gva-2-prod2.services.servala.com)",
max_length=255,
null=True,
verbose_name="Wildcard DNS",
),
),
migrations.AddField(
model_name="organization",
name="limit_osb_services",
field=models.ManyToManyField(
blank=True,
related_name="+",
to="core.service",
verbose_name="Services activated from OSB",
),
),
migrations.AddField(
model_name="organizationorigin",
name="billing_entity",
field=models.ForeignKey(
help_text="If set, this billing entity will be used on new organizations with this origin.",
null=True,
on_delete=django.db.models.deletion.PROTECT,
related_name="origins",
to="core.billingentity",
verbose_name="Billing entity",
),
),
migrations.AddField(
model_name="organizationorigin",
name="default_odoo_sale_order_id",
field=models.IntegerField(
blank=True,
help_text="If set, this sale order will be used for new organizations with this origin.",
null=True,
verbose_name="Default Odoo Sale Order ID",
),
),
migrations.AddField(
model_name="organizationorigin",
name="limit_cloudproviders",
field=models.ManyToManyField(
blank=True,
help_text="If set, all organizations with this origin will be limited to these cloud providers.",
related_name="+",
to="core.cloudprovider",
verbose_name="Limit to these Cloud providers",
),
),
migrations.AddField(
model_name="servicedefinition",
name="advanced_fields",
field=models.JSONField(
blank=True,
default=list,
help_text=(
"Array of field names that should be hidden behind an 'Advanced' toggle."
"Use dot notation (e.g., ['spec.parameters.monitoring.enabled', 'spec.parameters.backup.schedule'])"
),
null=True,
verbose_name="Advanced fields",
),
),
migrations.AddField(
model_name="serviceoffering",
name="external_links",
field=models.JSONField(
blank=True,
help_text='JSON array of link objects: {"url": "", "title": ""}. ',
null=True,
verbose_name="External links",
),
),
migrations.CreateModel( migrations.CreateModel(
name="OrganizationInvitation", name="OrganizationInvitation",
fields=[ fields=[

View file

@ -1,23 +0,0 @@
# Generated by Django 5.2.7 on 2025-10-16 22:52
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("core", "0008_organization_osb_guid_service_osb_service_id_and_more"),
]
operations = [
migrations.AddField(
model_name="organization",
name="limit_osb_services",
field=models.ManyToManyField(
blank=True,
related_name="+",
to="core.service",
verbose_name="Services activated from OSB",
),
),
]

View file

@ -1,26 +0,0 @@
# Generated by Django 5.2.7 on 2025-10-17 00:22
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("core", "0009_organization_limit_cloudproviders_and_more"),
]
operations = [
migrations.AddField(
model_name="organizationorigin",
name="billing_entity",
field=models.ForeignKey(
help_text="If set, this billing entity will be used on new organizations with this origin.",
null=True,
on_delete=django.db.models.deletion.PROTECT,
related_name="origins",
to="core.billingentity",
verbose_name="Billing entity",
),
),
]

View file

@ -1,23 +0,0 @@
# Generated by Django 5.2.7 on 2025-10-17 02:23
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("core", "0011_organizationinvitation"),
]
operations = [
migrations.AddField(
model_name="serviceoffering",
name="external_links",
field=models.JSONField(
blank=True,
help_text='JSON array of link objects: {"url": "", "title": ""}. ',
null=True,
verbose_name="External links",
),
),
]

View file

@ -1,24 +0,0 @@
# Generated by Django 5.2.7 on 2025-10-17 02:51
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("core", "0012_serviceoffering_external_links"),
]
operations = [
migrations.AddField(
model_name="controlplane",
name="wildcard_dns",
field=models.CharField(
blank=True,
help_text="Wildcard DNS domain for auto-generating FQDNs (e.g., apps.exoscale-ch-gva-2-prod2.services.servala.com)",
max_length=255,
null=True,
verbose_name="Wildcard DNS",
),
),
]

View file

@ -1,27 +0,0 @@
# Generated by Django 5.2.7 on 2025-10-17 03:23
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("core", "0013_controlplane_wildcard_dns"),
]
operations = [
migrations.AddField(
model_name="servicedefinition",
name="advanced_fields",
field=models.JSONField(
blank=True,
default=list,
help_text=(
"Array of field names that should be hidden behind an 'Advanced' toggle. "
"Use dot notation (e.g., ['spec.parameters.monitoring.enabled', 'spec.parameters.backup.schedule'])"
),
null=True,
verbose_name="Advanced fields",
),
),
]

View file

@ -1,24 +0,0 @@
# Generated by Django 5.2.7 on 2025-10-21 16:04
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("core", "0014_servicedefinition_advanced_fields"),
]
operations = [
migrations.AddField(
model_name="organizationorigin",
name="limit_cloudproviders",
field=models.ManyToManyField(
blank=True,
help_text="If set, all organizations with this origin will be limited to these cloud providers.",
related_name="+",
to="core.cloudprovider",
verbose_name="Limit to these Cloud providers",
),
),
]

View file

@ -1,23 +0,0 @@
# Generated by Django 5.2.7 on 2025-10-22 09:32
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("core", "0015_organizationorigin_limit_cloudproviders"),
]
operations = [
migrations.AddField(
model_name="organizationorigin",
name="default_odoo_sale_order_id",
field=models.IntegerField(
blank=True,
help_text="If set, this sale order will be used for new organizations with this origin.",
null=True,
verbose_name="Default Odoo Sale Order ID",
),
),
]