name: string # REQUIRED
protocol: protocol
defaults: defaults
sources: { string: source } # key is a reusable alias
clowder: [ project | string ] | { string: group } # REQUIRED
project:
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 allowed
group: [ project | string ]
group:
path: string
groups: [ string ]
defaults: defaults
projects: [ project | string ] # REQUIRED
upstream:
name: string # REQUIRED
source: string | source
remote: string
defaults:
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_defaults
upstream_defaults:
source: string
remote: string
url: string # REQUIRED
protocol: protocol
Default sources available:
github:
url: github.com
gitlab:
url: gitlab.com
bitbucket:
url: bitbucket.org
protocol: 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 }