Turn ControlPlane.api_credentials into encrypted field

This commit is contained in:
Tobias Kunze 2025-03-21 15:57:54 +01:00
parent 00703807d6
commit 899bffb974
2 changed files with 48 additions and 1 deletions

View file

@ -0,0 +1,46 @@
# Generated by Django 5.2b1 on 2025-03-24 06:33
import encrypted_fields.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("auth", "0012_alter_user_first_name_max_length"),
("core", "0003_billing_entity_nullable"),
]
operations = [
migrations.AddField(
model_name="user",
name="groups",
field=models.ManyToManyField(
blank=True,
help_text="The groups this user belongs to. A user will get all permissions granted to each of their groups.",
related_name="user_set",
related_query_name="user",
to="auth.group",
verbose_name="groups",
),
),
migrations.AddField(
model_name="user",
name="user_permissions",
field=models.ManyToManyField(
blank=True,
help_text="Specific permissions for this user.",
related_name="user_set",
related_query_name="user",
to="auth.permission",
verbose_name="user permissions",
),
),
migrations.AlterField(
model_name="controlplane",
name="api_credentials",
field=encrypted_fields.fields.EncryptedJSONField(
verbose_name="API credentials"
),
),
]

View file

@ -1,5 +1,6 @@
from django.db import models
from django.utils.translation import gettext_lazy as _
from encrypted_fields.fields import EncryptedJSONField
class ServiceCategory(models.Model):
@ -67,7 +68,7 @@ class ControlPlane(models.Model):
description = models.TextField(blank=True, verbose_name=_("Description"))
k8s_api_endpoint = models.URLField(verbose_name=_("Kubernetes API endpoint"))
# TODO: schema
api_credentials = models.JSONField(verbose_name=_("API credentials"))
api_credentials = EncryptedJSONField(verbose_name=_("API credentials"))
cloud_provider = models.ForeignKey(
to="CloudProvider",