-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmassdriver.yaml
142 lines (131 loc) · 2.86 KB
/
massdriver.yaml
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
schema: draft-07
name: "k8s-token"
description: "Generates a Kubernetes service account token with the specified permissions"
source_url: github.com/massdriver-cloud/k8s-token
access: private
type: infrastructure
steps:
- path: chart
provisioner: helm
config:
namespace: .params.namespace
- path: artifact
provisioner: opentofu
params:
examples:
- __name: Admin
rules:
- apiGroups:
- "*"
resources:
- "*"
verbs:
- get
- list
- watch
- create
- delete
- update
- patch
- __name: Read-only
rules:
- apiGroups:
- "*"
resources:
- "*"
verbs:
- get
- list
- watch
- __name: Debugging
rules:
- apiGroups:
- "*"
resources:
- "pods"
- "pods/log"
- "pods/portforward"
verbs:
- get
- list
- create
required:
- namespace
- rules
properties:
namespace:
type: string
title: Namespace
description: Namespace to deploy into
default: "default"
$md.immutable: true
rules:
type: array
title: Rules
description: List of rules to apply to the service account
minItems: 1
items:
type: object
required:
- apiGroups
- resources
- verbs
properties:
apiGroups:
type: array
title: API Groups
description: List of API groups to apply the rule to
minItems: 1
default: ["*"]
uniqueItems: true
items:
type: string
resources:
type: array
title: Resources
description: List of resources to apply the rule to
default: ["*"]
minItems: 1
uniqueItems: true
items:
type: string
verbs:
type: array
title: Verbs
description: List of verbs to apply to the rule
default: ["get"]
minItems: 1
uniqueItems: true
items:
type: string
enum:
- get
- list
- watch
- create
- delete
- update
- patch
connections:
required:
- kubernetes_cluster
properties:
kubernetes_cluster:
$ref: massdriver/kubernetes-cluster
artifacts:
required:
- token
properties:
token:
$ref: massdriver/kubernetes-cluster
ui:
ui:order:
- "namespace"
- "rules"
rules:
ui:order:
- apiGroups
- resources
- verbs
verbs:
ui:widget: "checkboxes"