/dhall-containerfile/examples/legacy.dhall

Copy path to clipboard

Source

let SoftwareFactory = ../package.dhall

let SFResources = SoftwareFactory.Legacy

let mkSourceRepository = SFResources.Project.mkSourceRepository

let SourceRepository = SFResources.SourceRepository

let SourceRepositoryOptions = SFResources.SourceRepositoryOptions

let TenantOptions = SFResources.TenantOptions

let source-repos =
[ SourceRepository.Type.Name "repo1"
, mkSourceRepository
[ { mapKey = "zuul/config-project"
, mapValue =
SourceRepositoryOptions.Type.SourceRepositoryOptionsValueType.BoolValue
True
}
]
"repo2"
]

let repos =
SFResources.GitRepository.pack
[ SFResources.GitRepository::{ name = "repo1", acl = Some "acl1" }
, SFResources.GitRepository::{ name = "repo2", acl = Some "acl1" }
]

let groups =
SFResources.Group.pack
[ SFResources.Group::{
, name = "group1"
, description = Some "The group 1"
}
]

let tenants =
SFResources.Tenant.pack
[ SFResources.Tenant::{
, name = "local"
, url = "https://softwarefactory-project.io/manage"
, description = Some "The local tenant"
, tenant-options = Some
( SFResources.TenantOptions.pack
[ TenantOptions.Type.zuul/report-build-page True
, TenantOptions.Type.zuul/web-root "https://test.com"
]
)
}
]

let projects =
SFResources.Project.pack
[ SFResources.Project::{
, name = "demo-project"
, connection = "gerrit"
, source-repositories = Some source-repos
}
]

let acls =
SFResources.GitACL.pack
[ SFResources.GitACL::{
, name = "acl1"
, file =
''
this is a
acl''
}
]

let gerrit = SFResources.ConnectionType.gerrit

let connections =
SFResources.Connection.pack
[ SFResources.Connection::{ name = "A connection 1", type = gerrit }
, SFResources.Connection::{ name = "A connection 2", type = gerrit }
]

let resources =
SFResources::{
, repos = Some repos
, groups = Some groups
, acls = Some acls
, projects = Some projects
, tenants = Some tenants
, connections = Some connections
}

in { resources }