blob: e8418355d3f999b5a705c7a8b0be08035df55455 [file] [log] [blame]
Jan Malkiewicz741fb0b2020-11-18 11:31:06 +01001# ============LICENSE_START=======================================================
2# Copyright (c) 2020 Nokia
3# ================================================================================
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15# ============LICENSE_END=========================================================
16
17apiVersion: apiextensions.k8s.io/v1
18kind: CustomResourceDefinition
19metadata:
20 name: cmpv2issuers.certmanager.onap.org
21spec:
22 group: certmanager.onap.org
23 names:
24 kind: CMPv2Issuer
25 listKind: CMPv2IssuerList
26 plural: cmpv2issuers
27 singular: cmpv2issuer
28 scope: Namespaced
29 versions:
30 - name: v1
31 served: true
32 storage: true
33 schema:
34 openAPIV3Schema:
35 description: CMPv2Issuer is the Schema for the cmpv2issuers API
36 properties:
37 apiVersion:
38 description: 'APIVersion defines the versioned schema of this representation
39 of an object. Servers should convert recognized schemas to the latest
40 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/cmpv2api-conventions.md#resources'
41 type: string
42 kind:
43 description: 'Kind is a string value representing the REST resource this
44 object represents. Servers may infer this from the endpoint the client
45 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/cmpv2api-conventions.md#types-kinds'
46 type: string
47 metadata:
48 type: object
49 spec:
50 description: CMPv2IssuerSpec defines the desired state of CMPv2Issuer
51 properties:
52 url:
53 description: URL to CertService API.
54 type: string
55 healthEndpoint:
56 description: Path of health check endpoint.
57 type: string
58 certEndpoint:
Piotr Marcinkiewicz31dceea2021-06-29 16:15:49 +020059 description: Path of cerfificate signing endpoint.
60 type: string
61 updateEndpoint:
62 description: Path of certificate update endpoint.
Jan Malkiewicz741fb0b2020-11-18 11:31:06 +010063 type: string
64 caName:
65 description: Name of the external CA server configured on CertService API side.
66 type: string
67 certSecretRef:
68 description: Reference to K8s secret which contains certificate, private key and CA certificate
69 needed to connect to CertService API (which requires client certificate authentication)
70 properties:
71 name:
72 description: The name of K8s secret to select certificates from. Secret must be in the same
73 namespace as CMPv2Issuer.
74 type: string
75 keyRef:
76 description: The key of the secret to select private key from. Must be a
77 valid secret key.
78 type: string
79 certRef:
80 description: The key of the secret to select cert from. Must be a
81 valid secret key.
82 type: string
83 cacertRef:
84 description: The key of the secret to select cacert from. Must be a
85 valid secret key.
86 type: string
87 required:
88 - name
89 - keyRef
90 - certRef
91 - cacertRef
92 type: object
93 required:
94 - url
95 - healthEndpoint
96 - certEndpoint
97 - caName
98 - certSecretRef
99 type: object
100 status:
101 description: CMPv2IssuerStatus defines the observed state of CMPv2Issuer
102 properties:
103 conditions:
104 items:
105 description: CMPv2IssuerCondition contains condition information for
106 the certservice issuer.
107 properties:
108 lastTransitionTime:
109 description: LastTransitionTime is the timestamp corresponding
110 to the last status change of this condition.
111 format: date-time
112 type: string
113 message:
114 description: Message is a human readable description of the details
115 of the last transition, complementing reason.
116 type: string
117 reason:
118 description: Reason is a brief machine readable explanation for
119 the condition's last transition.
120 type: string
121 status:
122 allOf:
123 - enum:
124 - "True"
125 - "False"
126 - Unknown
127 description: Status of the condition, one of ('True', 'False',
128 'Unknown').
129 type: string
130 type:
131 description: Type of the condition, currently ('Ready').
132 enum:
133 - Ready
134 type: string
135 required:
136 - status
137 - type
138 type: object
139 type: array
140 type: object
141 type: object