-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcodesync.yaml
More file actions
42 lines (39 loc) · 1.76 KB
/
Copy pathcodesync.yaml
File metadata and controls
42 lines (39 loc) · 1.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# codesync.yaml — config for the `codesync` CLI.
#
# Connection details live here (no ~/.ssh/config needed). Each system holds its
# host/user and a POINTER to your SSH key — a path; the key itself never leaves
# disk, it's just handed to ssh as `-i`. Each system nests named locations
# (local/remote directory pairs).
#
# Run: codesync <system> <location> # push (local -> remote), the default
# codesync push <system> <location> # explicit push
# codesync pull <system> <location> # remote -> local
#
# exclude / rsync_flags may be set in defaults, per-system, or per-location
# (most specific wins). YAML anchors (&name) / aliases (*name) are resolved
# natively — e.g. define a key path once and reuse it across systems.
defaults:
exclude: [".git", "__pycache__", "node_modules", "*.ckpt", "*.pyc"]
rsync_flags: ["-az", "--delete"]
systems:
perlmutter: # system id — `codesync perlmutter <location>`
host: perlmutter-p1.nersc.gov # IP or hostname
user: myuser
key: &nersc_key ~/.ssh/id_nersc # pointer to your private key (-> ssh -i); anchored...
# port: 22 # optional (-> ssh -p)
locations:
my_repo:
local: ~/code/myproj # ~ is expanded; the dir's CONTENTS are synced
remote: code/myproj # remote dir, relative to your home on the system
scratch:
local: ~/code/myproj # same local dir, different remote
remote: scratch/myproj
rsync_flags: ["-az"] # location-level override: no --delete here
workstation:
host: 192.168.1.50
user: iris
key: *nersc_key # ...reused here via an alias
locations:
site:
local: ~/projects/site
remote: srv/site