forked from upbound/platform-ref-multi-k8s
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdefinition.yaml
171 lines (171 loc) · 5.71 KB
/
definition.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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
apiVersion: apiextensions.crossplane.io/v1
kind: CompositeResourceDefinition
metadata:
name: compositeclusters.multik8s.platformref.crossplane.io
annotations:
upbound.io/ui-schema: |-
---
configSections:
- title: Cluster Info
description: Information about this cluster
items:
- name: id
controlType: singleInput
type: string
path: ".spec.id"
title: Cluster ID
description: Cluster ID that other objects will use to refer to this cluster
default: multik8s-cluster
validation:
- required: true
customError: Cluster ID is required.
- name: provider
controlType: singleSelect
path: ".spec.compositionSelector.matchLabels[provider]"
title: Cloud Provider
description: Select which cloud provider this cluster should be created in.
default: AWS
enum:
- AWS
- GCP
validation:
- required: true
customError: Cloud provider is required.
- name: writeSecretRef
controlType: singleInput
type: string
path: ".spec.writeConnectionSecretToRef.name"
title: Connection Secret Ref
description: name of the secret to write to this namespace
default: cluster-conn
validation:
- required: true
- title: Cluster Nodes
description: Enter information to size your cluster
items:
- name: clusterNodeCount
controlType: singleInput
type: integer
path: ".spec.parameters.nodes.count"
title: Node Count
description: Number of nodes in the cluster
default: 1
validation:
- minimum: 1
- maximum: 100
- required: true
customError: Node count is required.
- name: clusterNodeSize
controlType: singleSelect
path: ".spec.parameters.nodes.size"
title: Node Size
description: Desired node count, from 1 to 100.
default: small
enum:
- small
- medium
- large
validation:
- required: true
customError: Node size is required.
- title: Cluster Networking
description: Select a network fabric for your cluster
items:
- name: networkRef
controlType: singleInput
type: string
path: ".spec.parameters.networkRef.id"
title: Network Ref
description: Network fabric to connect the database to
default: multik8s-network
validation:
- required: true
customError: Network ref is required.
- title: Cluster Services
description: Configure cluster services and operators
items:
- name: promVersion
controlType: singleInput
type: string
path: ".spec.parameters.services.operators.prometheus.version"
title: Prometheus Chart Version
description: The version of kube-prometheus-stack chart to install
default: 10.1.0
validation:
- required: false
spec:
claimNames:
kind: Cluster
plural: clusters
connectionSecretKeys:
- kubeconfig
group: multik8s.platformref.crossplane.io
names:
kind: CompositeCluster
plural: compositeclusters
versions:
- name: v1alpha1
served: true
referenceable: true
schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
properties:
id:
type: string
description: ID of this Cluster that other objects will use to refer to it.
parameters:
type: object
description: Cluster configuration parameters.
properties:
nodes:
type: object
description: Cluster node configuration parameters.
properties:
count:
type: integer
description: Desired node count, from 1 to 100.
size:
type: string
description: Size of node.
enum:
- small
- medium
- large
required:
- count
- size
services:
type: object
description: Services configuration parameters.
properties:
operators:
type: object
description: Configuration for operators.
properties:
prometheus:
type: object
description: Configuration for the Prometheus operator.
properties:
version:
type: string
description: Prometheus operator version to run.
networkRef:
type: object
description: "A reference to the Network object that this cluster should be
connected to."
properties:
id:
type: string
description: ID of the Network object this ref points to.
required:
- id
required:
- nodes
- networkRef
required:
- id
- parameters