diff --git a/src/servala/core/models/organization.py b/src/servala/core/models/organization.py index a3c9a15..e3c2bf1 100644 --- a/src/servala/core/models/organization.py +++ b/src/servala/core/models/organization.py @@ -49,6 +49,7 @@ class Organization(ServalaModelMixin, models.Model): base = "/org/{self.slug}/" details = "{base}details/" services = "{base}services/" + services = "{base}instances/" @cached_property def slug(self): diff --git a/src/servala/core/models/service.py b/src/servala/core/models/service.py index b667ea7..301f82c 100644 --- a/src/servala/core/models/service.py +++ b/src/servala/core/models/service.py @@ -1,4 +1,5 @@ import kubernetes +import urlman from django.core.cache import cache from django.core.exceptions import ValidationError from django.db import models @@ -452,3 +453,7 @@ class ServiceInstance(ServalaModelMixin, models.Model): # Names are unique per de-facto namespace, which is defined by the # Organization + ServiceDefinition (group, version) + the ControlPlane. unique_together = [("name", "organization", "context")] + + class urls(urlman.Urls): + base = "{self.organization.urls.instances}{self.name}/" +