k8sync
Watch and sync local files to kubernetes pods using watchman and rsync.
Heavily inspired by ksync.
Work In Progress
WARNING: Only meant to be used in development clusters - anyone with access to the DaemonSet pods have write access to all overlay2 filesystems, on all cluster nodes.
Getting started
Install k8sync
npm -g install @trym-testing/k8sync
Configure k8sync for project
Create a k8sync.yaml
in your project root.
namespace: mynamespace
daemonSetNamespace: kube-system
sync:
api:
localPath: api
containerPath: /src
podSelector:
labelSelector: 'app=myapp-api'
excludeDirs:
- node_modules
webapp-poller:
localPath: webapp
containerPath: /src
podSelector:
labelSelector: 'app=myapp-webapp'
excludeDirs:
- node_modules
Install cluster-side components
k8sync cluster:init
Watch and sync local files to cluster
k8sync sync
Retart containers while retaining synced files
k8sync restart api
Remove cluster-side components
k8sync cluster:clean