/
update.go
46 lines (37 loc) · 1.52 KB
/
update.go
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
43
44
45
46
/*
go-swarm is a Go library and ccommand-line tool for managing the creation
and maintenance of Docker Swarm cluster.
Copyright (C) 2021 Sovereign Cloud Australia Pty Ltd
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package main
import (
"github.com/spf13/cobra"
"github.com/aucloud/go-swarm/internal"
)
func init() {
RootCmd.AddCommand(updateCmd)
}
var updateCmd = &cobra.Command{
Use: "update",
Aliases: []string{},
Short: "Updates an existing Swarm Cluster",
Long: `This command uses a Clusterfile that describes the number of
and types of nodes that should exist in the Swarm Cluster. If there are
nodes that are missing from the cluster that should be new managers or
workers, they are added. Any that should be removed are drained and
removed from the cluster gracefully.`,
Args: cobra.ExactArgs(1),
Run: func(cmd *cobra.Command, args []string) {
internal.Update(manager, args)
},
}