-
Notifications
You must be signed in to change notification settings - Fork 0
/
plugin.yml
156 lines (143 loc) · 3.44 KB
/
plugin.yml
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
name: K8s Deploy Plugin
description: Deploys applications to a kubernetes cluster. Requires the agent to have kubectl and a valid config for your cluster
author: https://github.com/agworld
requirements:
- kubectl
- helm
configuration:
properties:
action:
type: string
enum:
- updateImage
- promoteImage
- runJob
- helmDeploy
# helmDeploy options
chart:
type: string
release:
type: string
tag:
type: string
namespace:
type: string
default: default
values:
type: string
# updateImage options
deployments:
type: array
items:
type: object
properties:
name: string
label: string
namespace: string
patches:
type: array
items:
type: object
properties:
op: string
path: string
value: string
containers:
type: array
items:
type: object
properties:
image:
type: string
containerName:
type: string
required:
- image
- containerName
# updateCronJob options
cronjobs:
type: array
items:
type: object
properties:
name: string
namespace: string
patches:
type: array
items:
type: object
properties:
op: string
path: string
value: string
containers:
type: array
items:
type: object
properties:
image:
type: string
containerName:
type: string
required:
- image
- containerName
# promoteImage options
sourceImage:
description: "URL of the source repository i.e. www.mysourcerepo.com/myimage:latest"
type: object
properties:
image: string
repositoryUrl: string
region: string
destinationImages:
description: "URLs of the destination repositories i.e. www.mydestinationrepo.com/myimage:latest"
type: array
items:
type: object
properties:
image: string
repositoryUrl: string
region: string
# run job
jobTemplateUrl:
description: "The S3 url of the json template file i.e. s3://my-bucket-name/my_job_template.json "
type: string
jobImage:
description: "URL of the job image i.e. www.mydestinationrepo.com/myimage:latest"
type: string
jobNamespace:
description: "Kubernetes namespace where the job is to be created"
type: string
default: default
# common settings
timeout:
type: integer
default: 300
anyOf:
- properties:
action:
const: updateImage
required:
- deployments
- properties:
action:
const: promoteImage
required:
- sourceImage
- destinationImages
- properties:
action:
const: runJob
required:
- jobTemplateUrl
- jobImage
- properties:
action:
const: helmDeploy
required:
- release
- chart
- tag
- values
additionalProperties: false