diff --git a/src/servala/core/admin.py b/src/servala/core/admin.py index 7d110d1..dad3d6e 100644 --- a/src/servala/core/admin.py +++ b/src/servala/core/admin.py @@ -131,7 +131,7 @@ class ControlPlaneAdmin(admin.ModelAdmin): fieldsets = ( ( None, - {"fields": ("name", "description", "cloud_provider", "required_label")}, + {"fields": ("name", "description", "cloud_provider")}, ), ( _("API Credentials"), diff --git a/src/servala/core/migrations/0002_alter_controlplanecrd_options_and_more.py b/src/servala/core/migrations/0002_alter_controlplanecrd_options_and_more.py deleted file mode 100644 index 63cab45..0000000 --- a/src/servala/core/migrations/0002_alter_controlplanecrd_options_and_more.py +++ /dev/null @@ -1,31 +0,0 @@ -# Generated by Django 5.2b1 on 2025-04-03 15:24 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("core", "0001_initial"), - ] - - operations = [ - migrations.AlterModelOptions( - name="controlplanecrd", - options={ - "verbose_name": "ControlPlane CRD", - "verbose_name_plural": "ControlPlane CRDs", - }, - ), - migrations.AddField( - model_name="controlplane", - name="required_label", - field=models.CharField( - blank=True, - help_text="Label value for the 'appcat.vshn.io/provider-config' added to every instance on this plane.", - max_length=100, - null=True, - verbose_name="Required Label", - ), - ), - ] diff --git a/src/servala/core/models/service.py b/src/servala/core/models/service.py index f60d57c..9e282a6 100644 --- a/src/servala/core/models/service.py +++ b/src/servala/core/models/service.py @@ -1,13 +1,12 @@ import kubernetes import urlman -from django.conf import settings from django.core.cache import cache from django.core.exceptions import ValidationError from django.db import models from django.utils.functional import cached_property from django.utils.translation import gettext_lazy as _ from encrypted_fields.fields import EncryptedJSONField -from kubernetes import client, config +from kubernetes import config from kubernetes.client.rest import ApiException from servala.core.models.mixins import ServalaModelMixin @@ -107,15 +106,6 @@ class ControlPlane(ServalaModelMixin, models.Model): help_text="Required fields: certificate-authority-data, server (URL), token", validators=[validate_api_credentials], ) - required_label = models.CharField( - max_length=100, - blank=True, - null=True, - verbose_name=_("Required Label"), - help_text=_( - "Label value for the 'appcat.vshn.io/provider-config' added to every instance on this plane." - ), - ) cloud_provider = models.ForeignKey( to="CloudProvider", @@ -147,6 +137,7 @@ class ControlPlane(ServalaModelMixin, models.Model): "clusters": [ { "cluster": { + "insecure-skip-tls-verify": True, "certificate-authority-data": self.api_credentials[ "certificate-authority-data" ], @@ -493,35 +484,6 @@ class ServiceInstance(ServalaModelMixin, models.Model): # Ensure the namespace exists context.control_plane.get_or_create_namespace(organization.namespace) - group = context.service_definition.api_definition["group"] - version = context.service_definition.api_definition["version"] - kind = context.service_definition.api_definition["kind"] - create_data = { - "apiVersion": f"{group}/{version}", - "kind": kind, - "metadata": { - "name": name, - "namespace": organization.namespace, - }, - "spec": spec_data or {}, - } - if label := context.control_plane.required_label: - create_data["metadata"]["labels"] = {settings.DEFAULT_LABEL_KEY: label} - api_instance = client.CustomObjectsApi( - context.control_plane.get_kubernetes_client() - ) - plural = kind.lower() - if not plural.endswith("s"): - plural = f"{plural}s" - - api_instance.create_namespaced_custom_object( - group=group, - version=version, - namespace=organization.namespace, - plural=plural, - body=create_data, - ) - return cls.objects.create( name=name, organization=organization, diff --git a/src/servala/frontend/views/service.py b/src/servala/frontend/views/service.py index c19aff5..1803dd0 100644 --- a/src/servala/frontend/views/service.py +++ b/src/servala/frontend/views/service.py @@ -131,7 +131,7 @@ class ServiceOfferingDetailView(OrganizationViewMixin, HtmxViewMixin, DetailView name=form.cleaned_data["name"], context=self.context_object, created_by=request.user, - spec_data=form.get_nested_data().get("spec"), + spec_data=form.get_nested_data(), ) return redirect(service_instance.urls.base) except Exception as e: diff --git a/src/servala/settings.py b/src/servala/settings.py index 50b0c5e..3e27e35 100644 --- a/src/servala/settings.py +++ b/src/servala/settings.py @@ -210,7 +210,6 @@ LANGUAGE_COOKIE_NAME = "servala_lang" SESSION_COOKIE_NAME = "servala_sess" SESSION_COOKIE_SECURE = not DEBUG -DEFAULT_LABEL_KEY = "appcat.vshn.io/provider-config" DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" # TODO diff --git a/src/tests/conftest.py b/src/tests/conftest.py index a69e50c..d88870e 100644 --- a/src/tests/conftest.py +++ b/src/tests/conftest.py @@ -15,16 +15,12 @@ def origin(): @pytest.fixture def organization(origin): - return Organization.objects.create( - name="Test Org", namespace="test-org", origin=origin - ) + return Organization.objects.create(name="Test Org", origin=origin) @pytest.fixture def other_organization(origin): - return Organization.objects.create( - name="Test Org Alternate", namespace="test-org-alternate", origin=origin - ) + return Organization.objects.create(name="Test Org Alternate", origin=origin) @pytest.fixture