forked from rancher/rancher
-
Notifications
You must be signed in to change notification settings - Fork 0
/
templates.go
61 lines (51 loc) · 1.06 KB
/
templates.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
package kubeconfig
import "html/template"
const (
tokenTemplateText = `apiVersion: v1
kind: Config
clusters:
{{- range .Nodes}}
- name: "{{.ClusterName}}"
cluster:
server: "{{.Server}}"
{{- if ne .Cert "" }}
certificate-authority-data: "{{.Cert}}"
{{- end }}
{{- end}}
users:
- name: "{{.User}}"
user:
token: "{{.Token}}"
contexts:
{{- range .Nodes}}
- name: "{{.ClusterName}}"
context:
user: "{{.User}}"
cluster: "{{.ClusterName}}"
{{- end}}
current-context: "{{.ClusterName}}"
`
basicTemplateText = `apiVersion: v1
kind: Config
clusters:
- name: "{{.ClusterName}}"
cluster:
server: "https://{{.Host}}"
api-version: v1
users:
- name: "{{.User}}"
user:
username: "{{.Username}}"
password: "{{.Password}}"
contexts:
- name: "{{.ClusterName}}"
context:
user: "{{.User}}"
cluster: "{{.ClusterName}}"
current-context: "{{.ClusterName}}"
`
)
var (
basicTemplate = template.Must(template.New("basicTemplate").Parse(basicTemplateText))
tokenTemplate = template.Must(template.New("tokenTemplate").Parse(tokenTemplateText))
)