diff --git a/src/servala/core/migrations/0011_alter_servicecategory_name_and_more.py b/src/servala/core/migrations/0011_alter_servicecategory_name_and_more.py new file mode 100644 index 0000000..859e261 --- /dev/null +++ b/src/servala/core/migrations/0011_alter_servicecategory_name_and_more.py @@ -0,0 +1,34 @@ +# Generated by Django 5.2b1 on 2025-03-28 11:51 + +import django.core.validators +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("core", "0010_service_instance"), + ] + + operations = [ + migrations.AlterField( + model_name="servicecategory", + name="name", + field=models.CharField(max_length=100, verbose_name="Name"), + ), + migrations.AlterField( + model_name="serviceinstance", + name="name", + field=models.CharField( + max_length=63, + validators=[ + django.core.validators.RegexValidator( + code="invalid_kubernetes_name", + message='Name must consist of lowercase alphanumeric characters or "-", must start and end with an alphanumeric character.', + regex="^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", + ) + ], + verbose_name="Name", + ), + ), + ] diff --git a/src/servala/core/models/service.py b/src/servala/core/models/service.py index 04a6f8f..b667ea7 100644 --- a/src/servala/core/models/service.py +++ b/src/servala/core/models/service.py @@ -17,9 +17,7 @@ class ServiceCategory(ServalaModelMixin, models.Model): Categories for services, e.g. "Databases", "Storage", "Compute". """ - name = models.CharField( - max_length=100, verbose_name=_("Name"), validators=[kubernetes_name_validator] - ) + name = models.CharField(max_length=100, verbose_name=_("Name")) description = models.TextField(blank=True, verbose_name=_("Description")) logo = models.ImageField( upload_to="public/service_categories", @@ -416,7 +414,9 @@ class ServiceInstance(ServalaModelMixin, models.Model): on the fly. """ - name = models.CharField(max_length=100, verbose_name=_("Name")) + name = models.CharField( + max_length=63, verbose_name=_("Name"), validators=[kubernetes_name_validator] + ) organization = models.ForeignKey( to="core.Organization", on_delete=models.PROTECT,