Turn ControlPlane.api_credentials into encrypted field
This commit is contained in:
parent
00703807d6
commit
899bffb974
2 changed files with 48 additions and 1 deletions
46
src/servala/core/migrations/0004_encrypt_api_credentials.py
Normal file
46
src/servala/core/migrations/0004_encrypt_api_credentials.py
Normal 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"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
|
@ -1,5 +1,6 @@
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
from encrypted_fields.fields import EncryptedJSONField
|
||||||
|
|
||||||
|
|
||||||
class ServiceCategory(models.Model):
|
class ServiceCategory(models.Model):
|
||||||
|
@ -67,7 +68,7 @@ class ControlPlane(models.Model):
|
||||||
description = models.TextField(blank=True, verbose_name=_("Description"))
|
description = models.TextField(blank=True, verbose_name=_("Description"))
|
||||||
k8s_api_endpoint = models.URLField(verbose_name=_("Kubernetes API endpoint"))
|
k8s_api_endpoint = models.URLField(verbose_name=_("Kubernetes API endpoint"))
|
||||||
# TODO: schema
|
# TODO: schema
|
||||||
api_credentials = models.JSONField(verbose_name=_("API credentials"))
|
api_credentials = EncryptedJSONField(verbose_name=_("API credentials"))
|
||||||
|
|
||||||
cloud_provider = models.ForeignKey(
|
cloud_provider = models.ForeignKey(
|
||||||
to="CloudProvider",
|
to="CloudProvider",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue