# .josh-sync.yml — Multi-target configuration example # Place this at the root of your monorepo. josh: # Your josh-proxy instance URL (no trailing slash) proxy_url: "https://josh.example.com" # Repo path as josh sees it (org/repo on your Gitea/GitHub) monorepo_path: "org/monorepo" targets: - name: "billing" subfolder: "services/billing" josh_filter: ":/services/billing" subrepo_url: "https://gitea.example.com/ext/billing.git" subrepo_auth: "https" branches: main: main develop: develop forward_only: [] - name: "auth" subfolder: "services/auth" josh_filter: ":/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" josh_filter: ":/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"