-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathcompositions.k
74 lines (69 loc) · 2.14 KB
/
compositions.k
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
import file
schema composition:
_cluster: str
_provider: str
_source: str
_clusterApiVersion: str
_clusterKind: str
apiVersion = "apiextensions.crossplane.io/v1"
kind = "Composition"
metadata = {
labels = {
cluster = _cluster
provider = _provider
}
name = "cluster-" + _provider
}
spec = {
compositeTypeRef = {
apiVersion = "devopstoolkitseries.com/v1alpha1"
kind = "CompositeCluster"
}
mode = "Pipeline"
pipeline = [
{
step = _provider
functionRef.name = "crossplane-contrib-function-kcl"
input = {
apiVersion = "krm.kcl.dev/v1alpha1"
kind = "KCLRun"
spec.source = _source
}
}, {
step = "apps"
functionRef.name = "crossplane-contrib-function-kcl"
input = {
apiVersion = "krm.kcl.dev/v1alpha1"
kind = "KCLRun"
spec.source = file.read("kcl/apps.k").replace("CLUSTER_API_VERSION", _clusterApiVersion).replace("CLUSTER_KIND", _clusterKind)
}
}, {
step = "automatically-detect-ready-composed-resources"
functionRef.name = "crossplane-contrib-function-auto-ready"
}
]
writeConnectionSecretsToNamespace = "crossplane-system"
}
[
composition {
_cluster = "gke"
_provider = "google"
_clusterApiVersion = "container.gcp.upbound.io/v1beta2"
_clusterKind = "Cluster"
_source = file.read("kcl/google.k")
}
composition {
_cluster = "aks"
_provider = "azure"
_clusterApiVersion = "containerservice.azure.upbound.io/v1beta1"
_clusterKind = "KubernetesCluster"
_source = file.read("kcl/azure.k")
}
composition {
_cluster = "eks"
_provider = "aws"
_clusterApiVersion = "eks.aws.upbound.io/v1beta1"
_clusterKind = "Cluster"
_source = file.read("kcl/aws.k")
}
]