name: string # REQUIRED
protocol: protocol
defaults: defaults
sources: { string: source } # key is a reusable alias
clowder: [ project | string ] | { string: group } # REQUIREDproject:
name: string # REQUIRED
path: string
groups: [ string ]
remote: string
source: string | source
git: git
upstream: string | upstream
branch: string # Only one of 'branch', 'tag', or 'commit' is allowed
tag: string # Only one of 'branch', 'tag', or 'commit' is allowed
commit: string # Only one of 'branch', 'tag', or 'commit' is allowedgroup: [ project | string ]group:
path: string
groups: [ string ]
defaults: defaults
projects: [ project | string ] # REQUIREDupstream:
name: string # REQUIRED
source: string | source
remote: stringdefaults:
source: string
remote: string
git: git
branch: string # Only one of 'branch', 'tag', or 'commit' is allowed
tag: string # Only one of 'branch', 'tag', or 'commit' is allowed
commit: string # Only one of 'branch', 'tag', or 'commit' is allowed
upstream: upstream_defaultsupstream_defaults:
source: string
remote: stringurl: string # REQUIRED
protocol: protocolDefault sources available:
github:
url: github.com
gitlab:
url: gitlab.com
bitbucket:
url: bitbucket.orgprotocol: enum # "ssh" | "https"git:
lfs: bool
submodules: bool | string # "recursive"
depth: integer # Must be >= 0, where 0 indicates full clone
config: { string: string | bool | number | null }