hs.hsadmin.ng/doc/hs-hosting-asset-type-structure.md
Michael Hoennig 46fce275ae add-mariadb-instance-database-and-user-validations (#75)
Co-authored-by: Michael Hoennig <michael@hoennig.de>
Reviewed-on: #75
Reviewed-by: Timotheus Pokorra <timotheus.pokorra@hostsharing.net>
2024-07-12 10:54:47 +02:00

5.0 KiB

HostingAsset Type Structure

Domain

@startuml
left to right direction

package Booking #feb28c {
    entity BI_PRIVATE_CLOUD
    entity BI_CLOUD_SERVER
    entity BI_MANAGED_SERVER
    entity BI_MANAGED_WEBSPACE
}

package Hosting #feb28c{
    package Domain #99bcdb {
        entity HA_DOMAIN_SETUP
        entity HA_DOMAIN_DNS_SETUP
        entity HA_DOMAIN_HTTP_SETUP
        entity HA_DOMAIN_SMTP_SETUP
        entity HA_DOMAIN_MBOX_SETUP
        entity HA_EMAIL_ADDRESS
    }

    package Server #99bcdb {
        entity HA_CLOUD_SERVER
        entity HA_MANAGED_SERVER
        entity HA_IP_NUMBER
    }

    package Webspace #99bcdb {
        entity HA_MANAGED_WEBSPACE
        entity HA_UNIX_USER
        entity HA_EMAIL_ALIAS
    }

}

BI_CLOUD_SERVER *--> BI_PRIVATE_CLOUD
BI_MANAGED_SERVER *--> BI_PRIVATE_CLOUD
BI_MANAGED_WEBSPACE *--> BI_MANAGED_SERVER

HA_CLOUD_SERVER *==> BI_CLOUD_SERVER
HA_MANAGED_SERVER *==> BI_MANAGED_SERVER
HA_MANAGED_WEBSPACE *==> BI_MANAGED_WEBSPACE
HA_MANAGED_WEBSPACE o..> HA_MANAGED_SERVER
HA_UNIX_USER *==> HA_MANAGED_WEBSPACE
HA_EMAIL_ALIAS *==> HA_MANAGED_WEBSPACE
HA_DOMAIN_SETUP o..> HA_DOMAIN_SETUP
HA_DOMAIN_DNS_SETUP *==> HA_DOMAIN_SETUP
HA_DOMAIN_DNS_SETUP o..> HA_MANAGED_WEBSPACE
HA_DOMAIN_HTTP_SETUP *==> HA_DOMAIN_SETUP
HA_DOMAIN_HTTP_SETUP o..> HA_UNIX_USER
HA_DOMAIN_SMTP_SETUP *==> HA_DOMAIN_SETUP
HA_DOMAIN_SMTP_SETUP o..> HA_MANAGED_WEBSPACE
HA_DOMAIN_MBOX_SETUP *==> HA_DOMAIN_SETUP
HA_DOMAIN_MBOX_SETUP o..> HA_MANAGED_WEBSPACE
HA_EMAIL_ADDRESS *==> HA_DOMAIN_MBOX_SETUP
HA_IP_NUMBER o..> HA_CLOUD_SERVER
HA_IP_NUMBER o..> HA_MANAGED_SERVER
HA_IP_NUMBER o..> HA_MANAGED_WEBSPACE

package Legend #white {
    SUB_ENTITY1 *--> REQUIRED_PARENT_ENTITY
    SUB_ENTITY2 *..> OPTIONAL_PARENT_ENTITY
    ASSIGNED_ENTITY1 o--> REQUIRED_ASSIGNED_TO_ENTITY1
    ASSIGNED_ENTITY2 o..> OPTIONAL_ASSIGNED_TO_ENTITY2
}
Booking -down[hidden]->Legend

MariaDB

@startuml
left to right direction

package Booking #feb28c {
    entity BI_PRIVATE_CLOUD
    entity BI_CLOUD_SERVER
    entity BI_MANAGED_SERVER
    entity BI_MANAGED_WEBSPACE
}

package Hosting #feb28c{
    package MariaDB #99bcdb {
        entity HA_MARIADB_INSTANCE
        entity HA_MARIADB_USER
        entity HA_MARIADB_DATABASE
    }

    package Server #99bcdb {
        entity HA_CLOUD_SERVER
        entity HA_MANAGED_SERVER
        entity HA_IP_NUMBER
    }

    package Webspace #99bcdb {
        entity HA_MANAGED_WEBSPACE
        entity HA_UNIX_USER
        entity HA_EMAIL_ALIAS
    }

}

BI_CLOUD_SERVER *--> BI_PRIVATE_CLOUD
BI_MANAGED_SERVER *--> BI_PRIVATE_CLOUD
BI_MANAGED_WEBSPACE *--> BI_MANAGED_SERVER

HA_CLOUD_SERVER *==> BI_CLOUD_SERVER
HA_MANAGED_SERVER *==> BI_MANAGED_SERVER
HA_MANAGED_WEBSPACE *==> BI_MANAGED_WEBSPACE
HA_MANAGED_WEBSPACE o..> HA_MANAGED_SERVER
HA_UNIX_USER *==> HA_MANAGED_WEBSPACE
HA_EMAIL_ALIAS *==> HA_MANAGED_WEBSPACE
HA_MARIADB_INSTANCE *==> HA_MANAGED_SERVER
HA_MARIADB_USER *==> HA_MANAGED_WEBSPACE
HA_MARIADB_USER o..> HA_MARIADB_INSTANCE
HA_MARIADB_DATABASE *==> HA_MARIADB_USER
HA_MARIADB_DATABASE o..> HA_MARIADB_INSTANCE
HA_IP_NUMBER o..> HA_CLOUD_SERVER
HA_IP_NUMBER o..> HA_MANAGED_SERVER
HA_IP_NUMBER o..> HA_MANAGED_WEBSPACE

package Legend #white {
    SUB_ENTITY1 *--> REQUIRED_PARENT_ENTITY
    SUB_ENTITY2 *..> OPTIONAL_PARENT_ENTITY
    ASSIGNED_ENTITY1 o--> REQUIRED_ASSIGNED_TO_ENTITY1
    ASSIGNED_ENTITY2 o..> OPTIONAL_ASSIGNED_TO_ENTITY2
}
Booking -down[hidden]->Legend

PostgreSQL

@startuml
left to right direction

package Booking #feb28c {
    entity BI_PRIVATE_CLOUD
    entity BI_CLOUD_SERVER
    entity BI_MANAGED_SERVER
    entity BI_MANAGED_WEBSPACE
}

package Hosting #feb28c{
    package PostgreSQL #99bcdb {
        entity HA_PGSQL_INSTANCE
        entity HA_PGSQL_USER
        entity HA_PGSQL_DATABASE
    }

    package Server #99bcdb {
        entity HA_CLOUD_SERVER
        entity HA_MANAGED_SERVER
        entity HA_IP_NUMBER
    }

    package Webspace #99bcdb {
        entity HA_MANAGED_WEBSPACE
        entity HA_UNIX_USER
        entity HA_EMAIL_ALIAS
    }

}

BI_CLOUD_SERVER *--> BI_PRIVATE_CLOUD
BI_MANAGED_SERVER *--> BI_PRIVATE_CLOUD
BI_MANAGED_WEBSPACE *--> BI_MANAGED_SERVER

HA_CLOUD_SERVER *==> BI_CLOUD_SERVER
HA_MANAGED_SERVER *==> BI_MANAGED_SERVER
HA_MANAGED_WEBSPACE *==> BI_MANAGED_WEBSPACE
HA_MANAGED_WEBSPACE o..> HA_MANAGED_SERVER
HA_UNIX_USER *==> HA_MANAGED_WEBSPACE
HA_EMAIL_ALIAS *==> HA_MANAGED_WEBSPACE
HA_PGSQL_INSTANCE *==> HA_MANAGED_SERVER
HA_PGSQL_USER *==> HA_PGSQL_INSTANCE
HA_PGSQL_USER o..> HA_MANAGED_WEBSPACE
HA_PGSQL_DATABASE *==> HA_MANAGED_WEBSPACE
HA_PGSQL_DATABASE o..> HA_PGSQL_INSTANCE
HA_IP_NUMBER o..> HA_CLOUD_SERVER
HA_IP_NUMBER o..> HA_MANAGED_SERVER
HA_IP_NUMBER o..> HA_MANAGED_WEBSPACE

package Legend #white {
    SUB_ENTITY1 *--> REQUIRED_PARENT_ENTITY
    SUB_ENTITY2 *..> OPTIONAL_PARENT_ENTITY
    ASSIGNED_ENTITY1 o--> REQUIRED_ASSIGNED_TO_ENTITY1
    ASSIGNED_ENTITY2 o..> OPTIONAL_ASSIGNED_TO_ENTITY2
}
Booking -down[hidden]->Legend

This code generated was by HsHostingAssetType.main, do not amend manually.