As we all know, the etcd cluster is easy to scale up and down, as each instance is equal. We want to bring this capability to vineyard. A possible way is to start the vineyard and etcd together one by one. Also, no matter if any one of vineyard and etcd processes hangs up, the other process will also actively exit.
Details
Add some flags for vineyardd to start a new etcd member.
Each etcd process is the child process of the vineyardd process. They can communicate via signals, once the etcd process quit, it will send a sigterm to make the parent process (vineyardd) exit.
Use the etcdctl to add or remove etcd members when a new etcd instance join or quit.
Describe your problem
Backgraound
As we all know, the etcd cluster is easy to scale up and down, as each instance is equal. We want to bring this capability to vineyard. A possible way is to start the vineyard and etcd together one by one. Also, no matter if any one of vineyard and etcd processes hangs up, the other process will also actively exit.
Details
Additional context
Add any other context about the problem here.