-
Notifications
You must be signed in to change notification settings - Fork 0
/
cmd.go
71 lines (55 loc) · 3.46 KB
/
cmd.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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
Copyright 2023 The Firefly Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package cmd
import (
"io"
"github.com/lithammer/dedent"
"github.com/spf13/cobra"
)
// NewFireflyadmCommand creates the `firelflyadm` command.
func NewFireflyadmCommand(in io.Reader, out, err io.Writer) *cobra.Command {
cmds := &cobra.Command{
Use: "fireflyadm",
Short: "fireflyadm: easily bootstrap a secure Firefly platform.",
Long: dedent.Dedent(`
┌──────────────────────────────────────────────────────────┐
│ FIREFLYADM │
│ Easily bootstrap a secure Firefly platform │
│ │
│ Please give us feedback at: │
│ https://github.com/carlory/firefly/issues │
└──────────────────────────────────────────────────────────┘
Example usage:
Create a Firefly platform on a Kubernetes cluster with one
control-plane (which controls all the clusters), and one
worker cluster (where your actual workloads, like Pods and
Deployments run).
┌──────────────────────────────────────────────────────────┐
│ On the first cluster: │
├──────────────────────────────────────────────────────────┤
│ control-plane# fireflyadm init │
└──────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────┐
│ On the second cluster: │
├──────────────────────────────────────────────────────────┤
│ worker# fireflyadm join <arguments-returned-from-init> │
└──────────────────────────────────────────────────────────┘
You can then repeat the second step on as many other clusters as you like.
`),
SilenceErrors: true,
SilenceUsage: true,
}
cmds.ResetFlags()
cmds.AddCommand(newCmdInit(out, nil))
return cmds
}