authentik.brands.migrations.0001_squashed_0005_tenant_web_certificate

  1# Generated by Django 4.0 on 2021-12-22 09:42
  2
  3import uuid
  4
  5import django.db.models.deletion
  6from django.db import migrations, models
  7
  8import authentik.lib.utils.time
  9
 10
 11class Migration(migrations.Migration):
 12    replaces = [
 13        ("authentik_brands", "0001_initial"),
 14        ("authentik_brands", "0002_default"),
 15        ("authentik_brands", "0003_tenant_branding_favicon"),
 16        ("authentik_brands", "0004_tenant_event_retention"),
 17        ("authentik_brands", "0005_tenant_web_certificate"),
 18    ]
 19
 20    initial = True
 21
 22    dependencies = [
 23        ("authentik_crypto", "0003_certificatekeypair_managed"),
 24    ]
 25
 26    operations = [
 27        migrations.CreateModel(
 28            name="Brand",
 29            fields=[
 30                (
 31                    "tenant_uuid",
 32                    models.UUIDField(
 33                        default=uuid.uuid4, editable=False, primary_key=True, serialize=False
 34                    ),
 35                ),
 36                (
 37                    "domain",
 38                    models.TextField(
 39                        help_text=(
 40                            "Domain that activates this brand. Can be a superset, i.e. `a.b` for"
 41                            " `aa.b` and `ba.b`"
 42                        )
 43                    ),
 44                ),
 45                ("default", models.BooleanField(default=False)),
 46                ("branding_title", models.TextField(default="authentik")),
 47                (
 48                    "branding_logo",
 49                    models.TextField(default="/static/dist/assets/icons/icon_left_brand.svg"),
 50                ),
 51                (
 52                    "flow_authentication",
 53                    models.ForeignKey(
 54                        null=True,
 55                        on_delete=django.db.models.deletion.SET_NULL,
 56                        related_name="brand_authentication",
 57                        to="authentik_flows.flow",
 58                    ),
 59                ),
 60                (
 61                    "flow_invalidation",
 62                    models.ForeignKey(
 63                        null=True,
 64                        on_delete=django.db.models.deletion.SET_NULL,
 65                        related_name="brand_invalidation",
 66                        to="authentik_flows.flow",
 67                    ),
 68                ),
 69                (
 70                    "flow_recovery",
 71                    models.ForeignKey(
 72                        null=True,
 73                        on_delete=django.db.models.deletion.SET_NULL,
 74                        related_name="brand_recovery",
 75                        to="authentik_flows.flow",
 76                    ),
 77                ),
 78                (
 79                    "flow_unenrollment",
 80                    models.ForeignKey(
 81                        null=True,
 82                        on_delete=django.db.models.deletion.SET_NULL,
 83                        related_name="brand_unenrollment",
 84                        to="authentik_flows.flow",
 85                    ),
 86                ),
 87            ],
 88            options={
 89                "verbose_name": "Brand",
 90                "verbose_name_plural": "Brands",
 91            },
 92        ),
 93        migrations.AddField(
 94            model_name="brand",
 95            name="branding_favicon",
 96            field=models.TextField(default="/static/dist/assets/icons/icon.png"),
 97        ),
 98        migrations.AddField(
 99            model_name="brand",
100            name="event_retention",
101            field=models.TextField(
102                default="days=365",
103                help_text=(
104                    "Events will be deleted after this duration.(Format:"
105                    " weeks=3;days=2;hours=3,seconds=2)."
106                ),
107                validators=[authentik.lib.utils.time.timedelta_string_validator],
108            ),
109        ),
110        migrations.AddField(
111            model_name="brand",
112            name="web_certificate",
113            field=models.ForeignKey(
114                default=None,
115                help_text="Web Certificate used by the authentik Core webserver.",
116                null=True,
117                on_delete=django.db.models.deletion.SET_DEFAULT,
118                to="authentik_crypto.certificatekeypair",
119            ),
120        ),
121    ]
class Migration(django.db.migrations.migration.Migration):
 12class Migration(migrations.Migration):
 13    replaces = [
 14        ("authentik_brands", "0001_initial"),
 15        ("authentik_brands", "0002_default"),
 16        ("authentik_brands", "0003_tenant_branding_favicon"),
 17        ("authentik_brands", "0004_tenant_event_retention"),
 18        ("authentik_brands", "0005_tenant_web_certificate"),
 19    ]
 20
 21    initial = True
 22
 23    dependencies = [
 24        ("authentik_crypto", "0003_certificatekeypair_managed"),
 25    ]
 26
 27    operations = [
 28        migrations.CreateModel(
 29            name="Brand",
 30            fields=[
 31                (
 32                    "tenant_uuid",
 33                    models.UUIDField(
 34                        default=uuid.uuid4, editable=False, primary_key=True, serialize=False
 35                    ),
 36                ),
 37                (
 38                    "domain",
 39                    models.TextField(
 40                        help_text=(
 41                            "Domain that activates this brand. Can be a superset, i.e. `a.b` for"
 42                            " `aa.b` and `ba.b`"
 43                        )
 44                    ),
 45                ),
 46                ("default", models.BooleanField(default=False)),
 47                ("branding_title", models.TextField(default="authentik")),
 48                (
 49                    "branding_logo",
 50                    models.TextField(default="/static/dist/assets/icons/icon_left_brand.svg"),
 51                ),
 52                (
 53                    "flow_authentication",
 54                    models.ForeignKey(
 55                        null=True,
 56                        on_delete=django.db.models.deletion.SET_NULL,
 57                        related_name="brand_authentication",
 58                        to="authentik_flows.flow",
 59                    ),
 60                ),
 61                (
 62                    "flow_invalidation",
 63                    models.ForeignKey(
 64                        null=True,
 65                        on_delete=django.db.models.deletion.SET_NULL,
 66                        related_name="brand_invalidation",
 67                        to="authentik_flows.flow",
 68                    ),
 69                ),
 70                (
 71                    "flow_recovery",
 72                    models.ForeignKey(
 73                        null=True,
 74                        on_delete=django.db.models.deletion.SET_NULL,
 75                        related_name="brand_recovery",
 76                        to="authentik_flows.flow",
 77                    ),
 78                ),
 79                (
 80                    "flow_unenrollment",
 81                    models.ForeignKey(
 82                        null=True,
 83                        on_delete=django.db.models.deletion.SET_NULL,
 84                        related_name="brand_unenrollment",
 85                        to="authentik_flows.flow",
 86                    ),
 87                ),
 88            ],
 89            options={
 90                "verbose_name": "Brand",
 91                "verbose_name_plural": "Brands",
 92            },
 93        ),
 94        migrations.AddField(
 95            model_name="brand",
 96            name="branding_favicon",
 97            field=models.TextField(default="/static/dist/assets/icons/icon.png"),
 98        ),
 99        migrations.AddField(
100            model_name="brand",
101            name="event_retention",
102            field=models.TextField(
103                default="days=365",
104                help_text=(
105                    "Events will be deleted after this duration.(Format:"
106                    " weeks=3;days=2;hours=3,seconds=2)."
107                ),
108                validators=[authentik.lib.utils.time.timedelta_string_validator],
109            ),
110        ),
111        migrations.AddField(
112            model_name="brand",
113            name="web_certificate",
114            field=models.ForeignKey(
115                default=None,
116                help_text="Web Certificate used by the authentik Core webserver.",
117                null=True,
118                on_delete=django.db.models.deletion.SET_DEFAULT,
119                to="authentik_crypto.certificatekeypair",
120            ),
121        ),
122    ]

The base class for all migrations.

Migration files will import this from django.db.migrations.Migration and subclass it as a class called Migration. It will have one or more of the following attributes:

  • operations: A list of Operation instances, probably from django.db.migrations.operations
  • dependencies: A list of tuples of (app_path, migration_name)
  • run_before: A list of tuples of (app_path, migration_name)
  • replaces: A list of migration_names

Note that all migrations come out of migrations and into the Loader or Graph as instances, having been initialized with their app label and name.

replaces = [('authentik_brands', '0001_initial'), ('authentik_brands', '0002_default'), ('authentik_brands', '0003_tenant_branding_favicon'), ('authentik_brands', '0004_tenant_event_retention'), ('authentik_brands', '0005_tenant_web_certificate')]
initial = True
dependencies = [('authentik_crypto', '0003_certificatekeypair_managed')]
operations = [<CreateModel name='Brand', fields=[('tenant_uuid', <django.db.models.fields.UUIDField>), ('domain', <django.db.models.fields.TextField>), ('default', <django.db.models.fields.BooleanField>), ('branding_title', <django.db.models.fields.TextField>), ('branding_logo', <django.db.models.fields.TextField>), ('flow_authentication', <django.db.models.fields.related.ForeignKey>), ('flow_invalidation', <django.db.models.fields.related.ForeignKey>), ('flow_recovery', <django.db.models.fields.related.ForeignKey>), ('flow_unenrollment', <django.db.models.fields.related.ForeignKey>)], options={'verbose_name': 'Brand', 'verbose_name_plural': 'Brands'}>, <AddField model_name='brand', name='branding_favicon', field=<django.db.models.fields.TextField>>, <AddField model_name='brand', name='event_retention', field=<django.db.models.fields.TextField>>, <AddField model_name='brand', name='web_certificate', field=<django.db.models.fields.related.ForeignKey>>]