dda-devops-build/doc/architecture/Domain.md
2023-05-12 14:32:05 +02:00

1.5 KiB

Domain

classDiagram
    class Devops {
        <<AggregateRoot>>
        name
        module
        stage
        build_dir_name
        project_root_path
    }

    class Image {
        image_dockerhub_user
        image_dockerhub_password
        image_publish_tag
        image_build_dir_name
        image_use_package_common_files
        image_build_commons_path
        image_build_commons_dir_name
    }

    class C4k {
        c4k_executabel_name
        c4k_mixin_config
        c4k_mixin_auth
    }

    class DnsRecord {
        fqdn
        ipv4
        ipv6
    }

    class Release {
        release_type
        release_main_branch
        release_current_branch
        version
    }

    class BuildFile {
        <<AggregateRoot>>
        file_path [id]
        content
        build_file_type()
        getVersion()
        setVersion(version)
    }
    
    class Version {
        to_string()
        create_major()
        create_minor()
        create_patch()
        create_bump(snapshot_suffix)
    }

    Devops *-- "0..1" Image: spcialized_builds
    Devops *-- "0..1" C4k: spcialized_builds
    Devops *-- "0..1" Release: mixins
    Release o-- "0..1" BuildFile: primary_build_file
    Release o-- "0..n" BuildFile: secondary_build_files
    BuildFile *-- "1" Version
    C4k *-- DnsRecord
    

Infrastructure

classDiagram
    class ProjectRepository {
        get_devops(project): Devops
        set_devops(project, build)
    }