generators.external-secrets.io_webhooks.yaml 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.18.0
  6. labels:
  7. external-secrets.io/component: controller
  8. name: webhooks.generators.external-secrets.io
  9. spec:
  10. group: generators.external-secrets.io
  11. names:
  12. categories:
  13. - external-secrets
  14. - external-secrets-generators
  15. kind: Webhook
  16. listKind: WebhookList
  17. plural: webhooks
  18. singular: webhook
  19. scope: Namespaced
  20. versions:
  21. - name: v1alpha1
  22. schema:
  23. openAPIV3Schema:
  24. description: |-
  25. Webhook connects to a third party API server to handle the secrets generation
  26. configuration parameters in spec.
  27. You can specify the server, the token, and additional body parameters.
  28. See documentation for the full API specification for requests and responses.
  29. properties:
  30. apiVersion:
  31. description: |-
  32. APIVersion defines the versioned schema of this representation of an object.
  33. Servers should convert recognized schemas to the latest internal value, and
  34. may reject unrecognized values.
  35. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  36. type: string
  37. kind:
  38. description: |-
  39. Kind is a string value representing the REST resource this object represents.
  40. Servers may infer this from the endpoint the client submits requests to.
  41. Cannot be updated.
  42. In CamelCase.
  43. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  44. type: string
  45. metadata:
  46. type: object
  47. spec:
  48. description: WebhookSpec controls the behavior of the external generator.
  49. Any body parameters should be passed to the server through the parameters
  50. field.
  51. properties:
  52. auth:
  53. description: Auth specifies a authorization protocol. Only one protocol
  54. may be set.
  55. maxProperties: 1
  56. minProperties: 1
  57. properties:
  58. ntlm:
  59. description: NTLMProtocol configures the store to use NTLM for
  60. auth
  61. properties:
  62. passwordSecret:
  63. description: |-
  64. A reference to a specific 'key' within a Secret resource.
  65. In some instances, `key` is a required field.
  66. properties:
  67. key:
  68. description: |-
  69. A key in the referenced Secret.
  70. Some instances of this field may be defaulted, in others it may be required.
  71. maxLength: 253
  72. minLength: 1
  73. pattern: ^[-._a-zA-Z0-9]+$
  74. type: string
  75. name:
  76. description: The name of the Secret resource being referred
  77. to.
  78. maxLength: 253
  79. minLength: 1
  80. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  81. type: string
  82. namespace:
  83. description: |-
  84. The namespace of the Secret resource being referred to.
  85. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  86. maxLength: 63
  87. minLength: 1
  88. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  89. type: string
  90. type: object
  91. usernameSecret:
  92. description: |-
  93. A reference to a specific 'key' within a Secret resource.
  94. In some instances, `key` is a required field.
  95. properties:
  96. key:
  97. description: |-
  98. A key in the referenced Secret.
  99. Some instances of this field may be defaulted, in others it may be required.
  100. maxLength: 253
  101. minLength: 1
  102. pattern: ^[-._a-zA-Z0-9]+$
  103. type: string
  104. name:
  105. description: The name of the Secret resource being referred
  106. to.
  107. maxLength: 253
  108. minLength: 1
  109. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  110. type: string
  111. namespace:
  112. description: |-
  113. The namespace of the Secret resource being referred to.
  114. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  115. maxLength: 63
  116. minLength: 1
  117. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  118. type: string
  119. type: object
  120. required:
  121. - passwordSecret
  122. - usernameSecret
  123. type: object
  124. type: object
  125. body:
  126. description: Body
  127. type: string
  128. caBundle:
  129. description: |-
  130. PEM encoded CA bundle used to validate webhook server certificate. Only used
  131. if the Server URL is using HTTPS protocol. This parameter is ignored for
  132. plain HTTP protocol connection. If not set the system root certificates
  133. are used to validate the TLS connection.
  134. format: byte
  135. type: string
  136. caProvider:
  137. description: The provider for the CA bundle to use to validate webhook
  138. server certificate.
  139. properties:
  140. key:
  141. description: The key where the CA certificate can be found in
  142. the Secret or ConfigMap.
  143. maxLength: 253
  144. minLength: 1
  145. pattern: ^[-._a-zA-Z0-9]+$
  146. type: string
  147. name:
  148. description: The name of the object located at the provider type.
  149. maxLength: 253
  150. minLength: 1
  151. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  152. type: string
  153. namespace:
  154. description: The namespace the Provider type is in.
  155. maxLength: 63
  156. minLength: 1
  157. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  158. type: string
  159. type:
  160. description: The type of provider to use such as "Secret", or
  161. "ConfigMap".
  162. enum:
  163. - Secret
  164. - ConfigMap
  165. type: string
  166. required:
  167. - name
  168. - type
  169. type: object
  170. headers:
  171. additionalProperties:
  172. type: string
  173. description: Headers
  174. type: object
  175. method:
  176. description: Webhook Method
  177. type: string
  178. result:
  179. description: Result formatting
  180. properties:
  181. jsonPath:
  182. description: Json path of return value
  183. type: string
  184. type: object
  185. secrets:
  186. description: |-
  187. Secrets to fill in templates
  188. These secrets will be passed to the templating function as key value pairs under the given name
  189. items:
  190. properties:
  191. name:
  192. description: Name of this secret in templates
  193. type: string
  194. secretRef:
  195. description: Secret ref to fill in credentials
  196. properties:
  197. key:
  198. description: The key where the token is found.
  199. maxLength: 253
  200. minLength: 1
  201. pattern: ^[-._a-zA-Z0-9]+$
  202. type: string
  203. name:
  204. description: The name of the Secret resource being referred
  205. to.
  206. maxLength: 253
  207. minLength: 1
  208. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  209. type: string
  210. type: object
  211. required:
  212. - name
  213. - secretRef
  214. type: object
  215. type: array
  216. timeout:
  217. description: Timeout
  218. type: string
  219. url:
  220. description: Webhook url to call
  221. type: string
  222. required:
  223. - result
  224. - url
  225. type: object
  226. type: object
  227. served: true
  228. storage: true
  229. subresources:
  230. status: {}