deployment {

    cloud otc-faas 'OTC prototype FaaS' {
        description 'OTC environments for Prototype FaaS.'
        technology 'OTC'

        environment dev 'tenant Dev' {
            description '*.t09.de'
            technology 'OTC'

            kubernetes cce 'Central Forgejo' {
                description '*.t09.de'
                icon tech:kubernetes
                technology 'Kubernetes'

                cluster edp  'Forgejo Dev for platform team' {
                    description 't09.de'

                    instanceOf edp.forgejo {
                        -> cloudServices
                    }
                }
            }

            paas cloudServices 'EDP Cloud Services' {
                description 'EDP Cloud Services (Postgres, Redis, etc.)'
                technology 'Cloud Services'
            }

            kubernetes observability 'Observability' {
                description '*.t09.de'
                icon tech:kubernetes
                technology 'Kubernetes'
            }
        }

        environment prod 'Tenant Prod' {
            description '*.buildth.ing'
            technology 'OTC'

            kubernetes cce 'Central Forgejo' {
                description '*.buildth.ing'
                icon tech:kubernetes
                technology 'Kubernetes'

                cluster edp 'Forgejo for all EDP-tenants' {

                    instanceOf edp.forgejo 'Forgejo for all EDP-tenants' {
                        description 'buildth.ing'
                        -> cloudServices
                    }
                }
            }


            paas cloudServices 'EDP Cloud Services' {
                description 'EDP Cloud Services (Postgres, Redis, etc.)'
                technology 'Cloud Services'
            }

            kubernetes observability 'Observability' {
                description '*.buildth.ing'
                icon tech:kubernetes
                technology 'Kubernetes'
            }
        }


    }
    cloud edge 'Edge Cloud' {
        description 'Edge environments for distributed workloads.'
        technology 'Edge'

        environment edge-dev 'Edge Dev' {
            description 'Edge development environment'
            technology 'Edge'
        }

        environment edge-prod 'Edge Prod' {
            description 'Edge production environment'
            technology 'Edge'
        }
    }
}