管理Git repositories和SSH keys
为了允许tsuru使用者使用git push来部署,tsuru管理员需要安装和配置Gandalf(install and configure Gandalf)。
- 当在tsuru中创建一个新的用户,相应的用户会在Gandalf中创建。
- 当在tsuru中创建一个app,app的新的仓库会在Gandalf中创建。在拥有app的team中所有的用户会被授权来访问仓库。
- 当删除一个app,相应的仓库会被从Gandalf中删除。
- 当向tsuru中的team增加用户时,在Gandalf中相应的用户会接入匹配team接入的应用的所有仓库。
- 当从tsuru中的team删除用户时,因为他的离开,在Gandalf中相应的用户会失去接入那些他接入过的仓库。(此处翻译不当)
- 当从tsuru中的应用删除应用,team中的所有用户会失去接入到仓库,除非他们在另外的可以接入到应用的team。
当用户执行git push时,如果用户host和Gandalfhost碰巧有通信,Gandalf会通知tsuru使用git hook的新部署。
为了可以向Git server发送git push请求,用户需要有在Gandalf中注册的key。当Gandalf被启用时,tsuru会使用三个命令来管理SSH public keys:
- tsuru key-add
- tsuru key-remove
- tsuru key-list
三个命令中的每个都有相应的API,tsuru的其他客户端也可以通过API管理keys。
把Gandalf到已经存在的tsuru集群
在没有Gandalf 的老的tsuru集群场景中,注册在tsuru中的用户和应用在新创建的Gandalf server中不可用,或者两种server可能不能同步。