Skip to content

Commit 908f9d5

Browse files
authored
Merge pull request #893 from negz/v2-preview-setup
Bootstrap Crossplane v2.0-preview documentation
2 parents 51d0e98 + 592c9bc commit 908f9d5

File tree

55 files changed

+33525
-3
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+33525
-3
lines changed

content/contribute/infrastructure.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ Expand the tab below to see an annotated `tree` output of the website repository
389389
│   │   │   ├── mermaid.html # Styling and JavaScript for mermaid diagrams
390390
│   │   │   ├── meta-common.html # <meta> tags used on all pages
391391
│   │   │   ├── ms-clarity.html # Microsoft Clarity tags
392-
│   │   │   ├── old-version-alert.html # Alert box for versions that aren't the latest
392+
│   │   │   ├── not-latest-version-alert.html # Alert box for versions that aren't the latest
393393
│   │   │   ├── redirect.html # HTML meta redirect
394394
│   │   │   ├── release-notes.html # Release note summary page generator
395395
│   │   │   ├── rollworks.html # Rollworks analytics tags

content/v2.0-preview/_index.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
title: "Overview"
3+
weight: -1
4+
cascade:
5+
version: "2.0-preview"
6+
---
7+
8+
{{< img src="/media/banner.png" alt="Crossplane Popsicle Truck" size="large" >}}
9+
10+
<br />
11+
12+
Crossplane is an open source Kubernetes extension that transforms your Kubernetes
13+
cluster into a **universal control plane**.
14+
15+
Crossplane lets you manage anything, anywhere, all through standard Kubernetes
16+
APIs. Crossplane can even let you
17+
[order a pizza](https://blog.crossplane.io/providers-101-ordering-pizza-with-kubernetes-and-crossplane/)
18+
directly from Kubernetes. If it has an API, Crossplane can connect to it.
19+
20+
With Crossplane, platform teams can create new abstractions and custom
21+
APIs with the full power of Kubernetes policies, namespaces, role based access
22+
controls and more. Crossplane brings all your non-Kubernetes resources under
23+
one roof.
24+
25+
Custom APIs, created by platform teams, allow security and compliance
26+
enforcement across resources or clouds, without exposing any complexity to the
27+
developers. A single API call can create multiple resources, in multiple clouds
28+
and use Kubernetes as the control plane for everything.
29+
30+
{{< hint "tip" >}}
31+
**What's a control plane?**
32+
<!-- vale Google.WordList = NO -->
33+
Control planes create and manage the lifecycle of resources. Control planes
34+
constantly _check_ that the intended resources exist, _report_ when the intended
35+
state doesn't match reality and _act_ to make things right.
36+
37+
Crossplane extends the Kubernetes control plane to be a **universal control
38+
plane** to check, report and act on any resource, anywhere.
39+
<!-- vale Google.WordList = YES -->
40+
{{< /hint >}}
41+
42+
43+
# Get started
44+
* [Install Crossplane]({{<ref "software/install">}}) in your Kubernetes cluster
45+
* Learn more about how Crossplane works in the
46+
[Crossplane introduction]({{<ref "getting-started/introduction" >}})
47+
* Join the [Crossplane Slack](https://slack.crossplane.io/) and start a
48+
conversation with a community of over 7,000 operators.
49+
50+
51+
Crossplane is a [Cloud Native Compute Foundation](https://www.cncf.io/) project.

content/v2.0-preview/api/_index.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
title: API Reference
3+
weight: 400
4+
description: "API details for Crossplane's core types"
5+
cascade:
6+
product: crds
7+
---
8+
9+
The Crossplane API describes the types and parameters for the core Crossplane
10+
components.
11+
12+
For details on the components read the [Concepts]({{<ref "../concepts/">}})
13+
section.

content/v2.0-preview/api/crds/apiextensions.crossplane.io_compositeresourcedefinitions.yaml

Lines changed: 574 additions & 0 deletions
Large diffs are not rendered by default.

content/v2.0-preview/api/crds/apiextensions.crossplane.io_compositionrevisions.yaml

Lines changed: 2268 additions & 0 deletions
Large diffs are not rendered by default.

content/v2.0-preview/api/crds/apiextensions.crossplane.io_compositions.yaml

Lines changed: 1075 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
---
2+
apiVersion: apiextensions.k8s.io/v1
3+
kind: CustomResourceDefinition
4+
metadata:
5+
annotations:
6+
controller-gen.kubebuilder.io/version: v0.16.5
7+
name: environmentconfigs.apiextensions.crossplane.io
8+
spec:
9+
group: apiextensions.crossplane.io
10+
names:
11+
categories:
12+
- crossplane
13+
kind: EnvironmentConfig
14+
listKind: EnvironmentConfigList
15+
plural: environmentconfigs
16+
shortNames:
17+
- envcfg
18+
singular: environmentconfig
19+
scope: Cluster
20+
versions:
21+
- additionalPrinterColumns:
22+
- jsonPath: .metadata.creationTimestamp
23+
name: AGE
24+
type: date
25+
name: v1alpha1
26+
schema:
27+
openAPIV3Schema:
28+
description: |-
29+
An EnvironmentConfig contains user-defined unstructured values for
30+
use in a Composition.
31+
32+
Read the Crossplane documentation for
33+
[more information about EnvironmentConfigs](https://docs.crossplane.io/latest/concepts/environment-configs).
34+
properties:
35+
apiVersion:
36+
description: |-
37+
APIVersion defines the versioned schema of this representation of an object.
38+
Servers should convert recognized schemas to the latest internal value, and
39+
may reject unrecognized values.
40+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
41+
type: string
42+
data:
43+
additionalProperties:
44+
x-kubernetes-preserve-unknown-fields: true
45+
description: |-
46+
The data of this EnvironmentConfig.
47+
This may contain any kind of structure that can be serialized into JSON.
48+
type: object
49+
kind:
50+
description: |-
51+
Kind is a string value representing the REST resource this object represents.
52+
Servers may infer this from the endpoint the client submits requests to.
53+
Cannot be updated.
54+
In CamelCase.
55+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
56+
type: string
57+
metadata:
58+
type: object
59+
type: object
60+
served: true
61+
storage: false
62+
subresources: {}
63+
- additionalPrinterColumns:
64+
- jsonPath: .metadata.creationTimestamp
65+
name: AGE
66+
type: date
67+
name: v1beta1
68+
schema:
69+
openAPIV3Schema:
70+
description: |-
71+
An EnvironmentConfig contains user-defined unstructured values for
72+
use in a Composition.
73+
74+
Read the Crossplane documentation for
75+
[more information about EnvironmentConfigs](https://docs.crossplane.io/latest/concepts/environment-configs).
76+
properties:
77+
apiVersion:
78+
description: |-
79+
APIVersion defines the versioned schema of this representation of an object.
80+
Servers should convert recognized schemas to the latest internal value, and
81+
may reject unrecognized values.
82+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
83+
type: string
84+
data:
85+
additionalProperties:
86+
x-kubernetes-preserve-unknown-fields: true
87+
description: |-
88+
The data of this EnvironmentConfig.
89+
This may contain any kind of structure that can be serialized into JSON.
90+
type: object
91+
kind:
92+
description: |-
93+
Kind is a string value representing the REST resource this object represents.
94+
Servers may infer this from the endpoint the client submits requests to.
95+
Cannot be updated.
96+
In CamelCase.
97+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
98+
type: string
99+
metadata:
100+
type: object
101+
type: object
102+
served: true
103+
storage: true
104+
subresources: {}
Lines changed: 215 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,215 @@
1+
---
2+
apiVersion: apiextensions.k8s.io/v1
3+
kind: CustomResourceDefinition
4+
metadata:
5+
annotations:
6+
controller-gen.kubebuilder.io/version: v0.16.5
7+
name: usages.apiextensions.crossplane.io
8+
spec:
9+
group: apiextensions.crossplane.io
10+
names:
11+
categories:
12+
- crossplane
13+
kind: Usage
14+
listKind: UsageList
15+
plural: usages
16+
singular: usage
17+
scope: Cluster
18+
versions:
19+
- additionalPrinterColumns:
20+
- jsonPath: .metadata.annotations.crossplane\.io/usage-details
21+
name: DETAILS
22+
type: string
23+
- jsonPath: .status.conditions[?(@.type=='Ready')].status
24+
name: READY
25+
type: string
26+
- jsonPath: .metadata.creationTimestamp
27+
name: AGE
28+
type: date
29+
name: v1alpha1
30+
schema:
31+
openAPIV3Schema:
32+
description: |-
33+
A Usage defines a deletion blocking relationship between two resources.
34+
35+
Usages prevent accidental deletion of a single resource or deletion of
36+
resources with dependent resources.
37+
38+
Read the Crossplane documentation for
39+
[more information about Compositions](https://docs.crossplane.io/latest/concepts/usages).
40+
properties:
41+
apiVersion:
42+
description: |-
43+
APIVersion defines the versioned schema of this representation of an object.
44+
Servers should convert recognized schemas to the latest internal value, and
45+
may reject unrecognized values.
46+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
47+
type: string
48+
kind:
49+
description: |-
50+
Kind is a string value representing the REST resource this object represents.
51+
Servers may infer this from the endpoint the client submits requests to.
52+
Cannot be updated.
53+
In CamelCase.
54+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
55+
type: string
56+
metadata:
57+
type: object
58+
spec:
59+
description: UsageSpec defines the desired state of Usage.
60+
properties:
61+
by:
62+
description: By is the resource that is "using the other resource".
63+
properties:
64+
apiVersion:
65+
description: API version of the referent.
66+
type: string
67+
kind:
68+
description: |-
69+
Kind of the referent.
70+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
71+
type: string
72+
resourceRef:
73+
description: Reference to the resource.
74+
properties:
75+
name:
76+
description: Name of the referent.
77+
type: string
78+
required:
79+
- name
80+
type: object
81+
resourceSelector:
82+
description: |-
83+
Selector to the resource.
84+
This field will be ignored if ResourceRef is set.
85+
properties:
86+
matchControllerRef:
87+
description: |-
88+
MatchControllerRef ensures an object with the same controller reference
89+
as the selecting object is selected.
90+
type: boolean
91+
matchLabels:
92+
additionalProperties:
93+
type: string
94+
description: MatchLabels ensures an object with matching labels
95+
is selected.
96+
type: object
97+
type: object
98+
type: object
99+
x-kubernetes-validations:
100+
- message: either a resource reference or a resource selector should
101+
be set.
102+
rule: has(self.resourceRef) || has(self.resourceSelector)
103+
of:
104+
description: Of is the resource that is "being used".
105+
properties:
106+
apiVersion:
107+
description: API version of the referent.
108+
type: string
109+
kind:
110+
description: |-
111+
Kind of the referent.
112+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
113+
type: string
114+
resourceRef:
115+
description: Reference to the resource.
116+
properties:
117+
name:
118+
description: Name of the referent.
119+
type: string
120+
required:
121+
- name
122+
type: object
123+
resourceSelector:
124+
description: |-
125+
Selector to the resource.
126+
This field will be ignored if ResourceRef is set.
127+
properties:
128+
matchControllerRef:
129+
description: |-
130+
MatchControllerRef ensures an object with the same controller reference
131+
as the selecting object is selected.
132+
type: boolean
133+
matchLabels:
134+
additionalProperties:
135+
type: string
136+
description: MatchLabels ensures an object with matching labels
137+
is selected.
138+
type: object
139+
type: object
140+
type: object
141+
x-kubernetes-validations:
142+
- message: either a resource reference or a resource selector should
143+
be set.
144+
rule: has(self.resourceRef) || has(self.resourceSelector)
145+
reason:
146+
description: Reason is the reason for blocking deletion of the resource.
147+
type: string
148+
replayDeletion:
149+
description: ReplayDeletion will trigger a deletion on the used resource
150+
during the deletion of the usage itself, if it was attempted to
151+
be deleted at least once.
152+
type: boolean
153+
required:
154+
- of
155+
type: object
156+
x-kubernetes-validations:
157+
- message: either "spec.by" or "spec.reason" must be specified.
158+
rule: has(self.by) || has(self.reason)
159+
status:
160+
description: UsageStatus defines the observed state of Usage.
161+
properties:
162+
conditions:
163+
description: Conditions of the resource.
164+
items:
165+
description: A Condition that may apply to a resource.
166+
properties:
167+
lastTransitionTime:
168+
description: |-
169+
LastTransitionTime is the last time this condition transitioned from one
170+
status to another.
171+
format: date-time
172+
type: string
173+
message:
174+
description: |-
175+
A Message containing details about this condition's last transition from
176+
one status to another, if any.
177+
type: string
178+
observedGeneration:
179+
description: |-
180+
ObservedGeneration represents the .metadata.generation that the condition was set based upon.
181+
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
182+
with respect to the current state of the instance.
183+
format: int64
184+
type: integer
185+
reason:
186+
description: A Reason for this condition's last transition from
187+
one status to another.
188+
type: string
189+
status:
190+
description: Status of this condition; is it currently True,
191+
False, or Unknown?
192+
type: string
193+
type:
194+
description: |-
195+
Type of this condition. At most one of each condition type may apply to
196+
a resource at any point in time.
197+
type: string
198+
required:
199+
- lastTransitionTime
200+
- reason
201+
- status
202+
- type
203+
type: object
204+
type: array
205+
x-kubernetes-list-map-keys:
206+
- type
207+
x-kubernetes-list-type: map
208+
type: object
209+
required:
210+
- spec
211+
type: object
212+
served: true
213+
storage: true
214+
subresources:
215+
status: {}

0 commit comments

Comments
 (0)