-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathxrd-ekscluster.yaml
More file actions
86 lines (83 loc) · 3 KB
/
xrd-ekscluster.yaml
File metadata and controls
86 lines (83 loc) · 3 KB
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
apiVersion: apiextensions.crossplane.io/v1
kind: CompositeResourceDefinition
metadata:
# XRDs must be named 'x<plural>.<group>'
name: xeksclusters.eks.aws.crossplane.grazdev.io
spec:
# This XRD defines an XR in the 'crossplane.grazdev.io' API group.
# The XR or Claim must use this group together with the spec.versions[0].name as it's apiVersion, like this:
# 'crossplane.grazdev.io/v1alpha1'
group: eks.aws.crossplane.grazdev.io
# XR names should always be prefixed with an 'X'
names:
kind: XEKSCluster
plural: xeksclusters
# This type of XR offers a claim, which should have the same name without the 'X' prefix
claimNames:
kind: EKSCluster
plural: ekscluster
# default Composition when none is specified (must match metadata.name of a provided Composition)
# e.g. in composition.yaml
defaultCompositionRef:
name: aws-eks
versions:
- name: v1alpha1
served: true
referenceable: true
# OpenAPI schema (like the one used by Kubernetes CRDs). Determines what fields
# the XR (and claim) will have. Will be automatically extended by crossplane.
# See https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/
# for full CRD documentation and guide on how to write OpenAPI schemas
schema:
openAPIV3Schema:
type: object
properties:
# defining input parameters
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: EKS configuration parameters.
properties:
# Using subnetIds & securityGroupClusterIds from XNetworking to configure VPC
subnetIds:
type: array
items:
type: string
securityGroupClusterIds:
type: array
items:
type: string
region:
type: string
nodes:
type: object
description: EKS node configuration parameters.
properties:
count:
type: integer
description: Desired node count, from 1 to 10.
required:
- count
required:
- subnetIds
- securityGroupClusterIds
- region
- nodes
required:
- id
- parameters
# defining return values
status:
type: object
properties:
clusterStatus:
description: The status of the control plane
type: string
nodePoolStatus:
description: The status of the node pool
type: string