Skip to content

Commit bbc5586

Browse files
committed
fix: add testing files into repository
1 parent 71e43f7 commit bbc5586

17 files changed

+2414
-5
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
tmp
2-
external-crds
32

43
# Binaries for programs and plugins
54
*.exe

Taskfile.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,5 @@ tasks:
4949
cmds:
5050
- curl -s https://api.github.com/repos/openmcp-project/mcp-operator/contents/api/crds/manifests | jq -r '.[] | select(.type=="file") | .download_url' | xargs -n 1 curl -s -O -J
5151
- curl -s https://api.github.com/repos/openmcp-project/project-workspace-operator/contents/api/crds/manifests | jq -r '.[] | select(.type=="file") | .download_url' | xargs -n 1 curl -s -O -J
52-
dir: external-crds
52+
dir: hack/external-crds
5353
desc: "Download CRD files from mcp-operator GitHub repository"

hack/external-crds/core.openmcp.cloud_apiservers.yaml

Lines changed: 358 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 250 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,250 @@
1+
---
2+
apiVersion: apiextensions.k8s.io/v1
3+
kind: CustomResourceDefinition
4+
metadata:
5+
annotations:
6+
controller-gen.kubebuilder.io/version: v0.18.0
7+
name: authentications.core.openmcp.cloud
8+
spec:
9+
group: core.openmcp.cloud
10+
names:
11+
kind: Authentication
12+
listKind: AuthenticationList
13+
plural: authentications
14+
shortNames:
15+
- auth
16+
singular: authentication
17+
scope: Namespaced
18+
versions:
19+
- additionalPrinterColumns:
20+
- jsonPath: .status.conditions[?(@.type=="AuthenticationReconciliation")].status
21+
name: Successfully_Reconciled
22+
type: string
23+
- jsonPath: .metadata.deletionTimestamp
24+
name: Deleted
25+
type: date
26+
- jsonPath: .metadata.creationTimestamp
27+
name: Age
28+
type: date
29+
name: v1alpha1
30+
schema:
31+
openAPIV3Schema:
32+
description: Authentication is the Schema for the authentication API
33+
properties:
34+
apiVersion:
35+
description: |-
36+
APIVersion defines the versioned schema of this representation of an object.
37+
Servers should convert recognized schemas to the latest internal value, and
38+
may reject unrecognized values.
39+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
40+
type: string
41+
kind:
42+
description: |-
43+
Kind is a string value representing the REST resource this object represents.
44+
Servers may infer this from the endpoint the client submits requests to.
45+
Cannot be updated.
46+
In CamelCase.
47+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
48+
type: string
49+
metadata:
50+
type: object
51+
spec:
52+
description: AuthenticationSpec contains the specification for the authentication
53+
component
54+
properties:
55+
enableSystemIdentityProvider:
56+
type: boolean
57+
identityProviders:
58+
items:
59+
description: IdentityProvider contains the configuration for an
60+
OpenID Connect identity provider
61+
properties:
62+
caBundle:
63+
description: |-
64+
CABundle: When set, the OpenID server's certificate will be verified by one of the authorities in the bundle.
65+
Otherwise, the host's root CA set will be used.
66+
type: string
67+
clientConfig:
68+
description: ClientAuthentication contains configuration for
69+
OIDC clients
70+
properties:
71+
clientSecret:
72+
description: |-
73+
ClientSecret is a references to a secret containing the client secret.
74+
The client secret will be added to the generated kubeconfig with the "--oidc-client-secret" flag.
75+
properties:
76+
key:
77+
description: Key is the key inside the secret.
78+
type: string
79+
name:
80+
description: Name is the secret name.
81+
type: string
82+
required:
83+
- key
84+
- name
85+
type: object
86+
extraConfig:
87+
additionalProperties:
88+
description: SingleOrMultiStringValue is a type that can
89+
hold either a single string value or a list of string
90+
values.
91+
properties:
92+
value:
93+
description: Value is a single string value.
94+
type: string
95+
values:
96+
description: Values is a list of string values.
97+
items:
98+
type: string
99+
type: array
100+
type: object
101+
description: |-
102+
ExtraConfig is added to the client configuration in the kubeconfig.
103+
Can either be a single string value, a list of string values or no value.
104+
Must not contain any of the following keys:
105+
- "client-id"
106+
- "client-secret"
107+
- "issuer-url"
108+
type: object
109+
type: object
110+
clientID:
111+
description: ClientID is the client ID of the identity provider.
112+
type: string
113+
groupsClaim:
114+
description: GroupsClaim is the claim that contains the groups.
115+
type: string
116+
issuerURL:
117+
description: IssuerURL is the issuer URL of the identity provider.
118+
type: string
119+
name:
120+
description: |-
121+
Name is the name of the identity provider.
122+
The name must be unique among all identity providers.
123+
The name must only contain lowercase letters.
124+
The length must not exceed 63 characters.
125+
maxLength: 63
126+
pattern: ^[a-z]+$
127+
type: string
128+
requiredClaims:
129+
additionalProperties:
130+
type: string
131+
description: RequiredClaims is a map of required claims. If
132+
set, the identity provider must provide these claims in the
133+
ID token.
134+
type: object
135+
signingAlgs:
136+
description: SigningAlgs is the list of allowed JOSE asymmetric
137+
signing algorithms.
138+
items:
139+
type: string
140+
type: array
141+
usernameClaim:
142+
description: UsernameClaim is the claim that contains the username.
143+
type: string
144+
required:
145+
- clientID
146+
- issuerURL
147+
- name
148+
- usernameClaim
149+
type: object
150+
type: array
151+
type: object
152+
status:
153+
description: AuthenticationStatus contains the status of the authentication
154+
component
155+
properties:
156+
access:
157+
description: |-
158+
UserAccess reference the secret containing the kubeconfig
159+
for the APIServer which is to be used by the customer.
160+
properties:
161+
key:
162+
description: Key is the key inside the secret.
163+
type: string
164+
name:
165+
description: Name is the object's name.
166+
type: string
167+
namespace:
168+
description: Namespace is the object's namespace.
169+
type: string
170+
required:
171+
- key
172+
- name
173+
- namespace
174+
type: object
175+
conditions:
176+
description: |-
177+
Conditions contains the conditions of the component.
178+
For each component, this is expected to contain at least one condition per top-level node that component has in the ManagedControlPlane's spec.
179+
This condition is expected to be named "<node>Healthy" and to describe the general availability of the functionality configured by that top-level node.
180+
items:
181+
properties:
182+
lastTransitionTime:
183+
description: LastTransitionTime specifies the time when this
184+
condition's status last changed.
185+
format: date-time
186+
type: string
187+
message:
188+
description: |-
189+
Message contains further details regarding the condition.
190+
It is meant for human users, Reason should be used for programmatic evaluation instead.
191+
It is optional, but should be filled at least when Status is not "True".
192+
type: string
193+
reason:
194+
description: |-
195+
Reason is expected to contain a CamelCased string that provides further information regarding the condition.
196+
It should have a fixed value set (like an enum) to be machine-readable. The value set depends on the condition type.
197+
It is optional, but should be filled at least when Status is not "True".
198+
type: string
199+
status:
200+
description: Status is the status of the condition.
201+
type: string
202+
type:
203+
description: |-
204+
Type is the type of the condition.
205+
This is a unique identifier and each type of condition is expected to be managed by exactly one component controller.
206+
type: string
207+
required:
208+
- status
209+
- type
210+
type: object
211+
type: array
212+
observedGenerations:
213+
description: |-
214+
ObservedGenerations contains information about the observed generations of a component.
215+
This information is required to determine whether a component's controller has already processed some changes or not.
216+
properties:
217+
internalConfiguration:
218+
description: |-
219+
InternalConfiguration contains the last generation of the InternalConfiguration belonging to the owning v1alpha1.ManagedControlPlane that has been seen by the controller.
220+
Note that the component's controller does not read the InternalConfiguration itself, but fetches this information from a label which is populated by the v1alpha1.ManagedControlPlane controller.
221+
This refers to metadata.generation of the InternalConfiguration belonging to the owning v1alpha1.ManagedControlPlane, if any.
222+
If the resource does not have a label containing the generation of the corresponding InternalConfiguration, this means that no InternalConfiguration exists for
223+
the owning v1alpha1.ManagedControlPlane. In that case, the value of this field is expected to be -1.
224+
format: int64
225+
type: integer
226+
managedControlPlane:
227+
description: |-
228+
ManagedControlPlane contains the last generation of the owning v1alpha1.ManagedControlPlane that has been by the controller.
229+
Note that the component's controller does not read the ManagedControlPlane resource itself, but fetches this information from a label which is populated by the v1alpha1.ManagedControlPlane controller.
230+
This refers to metadata.generation of the owning v1alpha1.ManagedControlPlane resource.
231+
This value is probably identical to the one in 'Resource', unless something else than the v1alpha1.ManagedControlPlane controller touched the spec of this resource.
232+
format: int64
233+
type: integer
234+
resource:
235+
description: |-
236+
Resource contains the last generation of this resource that has been handled by the controller.
237+
This refers to metadata.generation of this resource.
238+
format: int64
239+
type: integer
240+
required:
241+
- internalConfiguration
242+
- managedControlPlane
243+
- resource
244+
type: object
245+
type: object
246+
type: object
247+
served: true
248+
storage: true
249+
subresources:
250+
status: {}

0 commit comments

Comments
 (0)