- use source API package instead of a text template - use controller-runtime client instead of kubectl
- generate host keys and SSH keys - prompt for deploy key setup - generate gitrepo source - wait for source to sync