56 lines
1.9 KiB
YAML
56 lines
1.9 KiB
YAML
|
|
# .josh-sync.yml — Multi-target configuration example
|
||
|
|
# Place this at the root of your monorepo.
|
||
|
|
|
||
|
|
# Required since v2.0.0. Bump alongside the josh-sync major version when
|
||
|
|
# breaking config changes ship.
|
||
|
|
schema_version: 2
|
||
|
|
|
||
|
|
josh:
|
||
|
|
# Your josh-proxy instance URL (no trailing slash)
|
||
|
|
proxy_url: "https://josh.example.com"
|
||
|
|
# Repo path as josh-proxy sees it (org/repo)
|
||
|
|
monorepo_path: "org/monorepo"
|
||
|
|
# Monorepo git clone URL — git@host:org/repo.git (SSH) or https://host/org/repo.git.
|
||
|
|
# The gitea host is derived from this URL (used for the PR API and direct clones).
|
||
|
|
# The monorepo and any subrepo may live on different gitea hosts.
|
||
|
|
monorepo_url: "git@gitea.example.com:org/monorepo.git"
|
||
|
|
# Optional. Default "https". Use "ssh" to clone the monorepo via SSH (no token
|
||
|
|
# needed for the clone — PR creation still requires GITEA_TOKEN).
|
||
|
|
monorepo_auth: "ssh"
|
||
|
|
|
||
|
|
targets:
|
||
|
|
- name: "billing"
|
||
|
|
subfolder: "services/billing"
|
||
|
|
# josh_filter auto-derived as ":/services/billing" if omitted
|
||
|
|
subrepo_url: "https://gitea.example.com/ext/billing.git"
|
||
|
|
subrepo_auth: "https"
|
||
|
|
branches:
|
||
|
|
main: main
|
||
|
|
develop: develop
|
||
|
|
forward_only: []
|
||
|
|
exclude: # files excluded from subrepo (optional)
|
||
|
|
- ".monorepo/" # directory at subfolder root
|
||
|
|
- "**/internal/" # directory at any depth
|
||
|
|
|
||
|
|
- name: "auth"
|
||
|
|
subfolder: "services/auth"
|
||
|
|
subrepo_url: "git@gitea.example.com:ext/auth.git"
|
||
|
|
subrepo_auth: "ssh"
|
||
|
|
# Per-target credential override (reads from $AUTH_SSH_KEY instead of $SUBREPO_SSH_KEY)
|
||
|
|
subrepo_ssh_key_var: "AUTH_SSH_KEY"
|
||
|
|
branches:
|
||
|
|
main: main
|
||
|
|
forward_only: []
|
||
|
|
|
||
|
|
- name: "shared-lib"
|
||
|
|
subfolder: "libs/shared"
|
||
|
|
subrepo_url: "https://gitea.example.com/ext/shared-lib.git"
|
||
|
|
branches:
|
||
|
|
main: main
|
||
|
|
forward_only: [main] # one-way: mono → subrepo only
|
||
|
|
|
||
|
|
bot:
|
||
|
|
name: "josh-sync-bot"
|
||
|
|
email: "josh-sync-bot@example.com"
|
||
|
|
trailer: "Josh-Sync-Origin"
|