external-secrets.io_clusterexternalsecrets.yaml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.9.2
  6. creationTimestamp: null
  7. name: clusterexternalsecrets.external-secrets.io
  8. spec:
  9. group: external-secrets.io
  10. names:
  11. categories:
  12. - externalsecrets
  13. kind: ClusterExternalSecret
  14. listKind: ClusterExternalSecretList
  15. plural: clusterexternalsecrets
  16. shortNames:
  17. - ces
  18. singular: clusterexternalsecret
  19. scope: Cluster
  20. versions:
  21. - additionalPrinterColumns:
  22. - jsonPath: .spec.secretStoreRef.name
  23. name: Store
  24. type: string
  25. - jsonPath: .spec.refreshInterval
  26. name: Refresh Interval
  27. type: string
  28. - jsonPath: .status.conditions[?(@.type=="Ready")].reason
  29. name: Status
  30. type: string
  31. - jsonPath: .status.conditions[?(@.type=="Ready")].status
  32. name: Ready
  33. type: string
  34. name: v1beta1
  35. schema:
  36. openAPIV3Schema:
  37. description: ClusterExternalSecret is the Schema for the clusterexternalsecrets
  38. API.
  39. properties:
  40. apiVersion:
  41. description: 'APIVersion defines the versioned schema of this representation
  42. of an object. Servers should convert recognized schemas to the latest
  43. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  44. type: string
  45. kind:
  46. description: 'Kind is a string value representing the REST resource this
  47. object represents. Servers may infer this from the endpoint the client
  48. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  49. type: string
  50. metadata:
  51. type: object
  52. spec:
  53. description: ClusterExternalSecretSpec defines the desired state of ClusterExternalSecret.
  54. properties:
  55. externalSecretName:
  56. description: The name of the external secrets to be created defaults
  57. to the name of the ClusterExternalSecret
  58. type: string
  59. externalSecretSpec:
  60. description: The spec for the ExternalSecrets to be created
  61. properties:
  62. data:
  63. description: Data defines the connection between the Kubernetes
  64. Secret keys and the Provider data
  65. items:
  66. description: ExternalSecretData defines the connection between
  67. the Kubernetes Secret key (spec.data.<key>) and the Provider
  68. data.
  69. properties:
  70. remoteRef:
  71. description: ExternalSecretDataRemoteRef defines Provider
  72. data location.
  73. properties:
  74. conversionStrategy:
  75. default: Default
  76. description: Used to define a conversion Strategy
  77. type: string
  78. decodingStrategy:
  79. default: None
  80. description: Used to define a conversion Strategy
  81. type: string
  82. key:
  83. description: Key is the key used in the Provider, mandatory
  84. type: string
  85. metadataPolicy:
  86. description: Policy for fetching tags/labels from provider
  87. secrets, possible options are Fetch, None. Defaults
  88. to None
  89. type: string
  90. property:
  91. description: Used to select a specific property of the
  92. Provider value (if a map), if supported
  93. type: string
  94. version:
  95. description: Used to select a specific version of the
  96. Provider value, if supported
  97. type: string
  98. required:
  99. - key
  100. type: object
  101. secretKey:
  102. type: string
  103. required:
  104. - remoteRef
  105. - secretKey
  106. type: object
  107. type: array
  108. dataFrom:
  109. description: DataFrom is used to fetch all properties from a specific
  110. Provider data If multiple entries are specified, the Secret
  111. keys are merged in the specified order
  112. items:
  113. maxProperties: 1
  114. minProperties: 1
  115. properties:
  116. extract:
  117. description: Used to extract multiple key/value pairs from
  118. one secret
  119. properties:
  120. conversionStrategy:
  121. default: Default
  122. description: Used to define a conversion Strategy
  123. type: string
  124. decodingStrategy:
  125. default: None
  126. description: Used to define a conversion Strategy
  127. type: string
  128. key:
  129. description: Key is the key used in the Provider, mandatory
  130. type: string
  131. metadataPolicy:
  132. description: Policy for fetching tags/labels from provider
  133. secrets, possible options are Fetch, None. Defaults
  134. to None
  135. type: string
  136. property:
  137. description: Used to select a specific property of the
  138. Provider value (if a map), if supported
  139. type: string
  140. version:
  141. description: Used to select a specific version of the
  142. Provider value, if supported
  143. type: string
  144. required:
  145. - key
  146. type: object
  147. find:
  148. description: Used to find secrets based on tags or regular
  149. expressions
  150. properties:
  151. conversionStrategy:
  152. default: Default
  153. description: Used to define a conversion Strategy
  154. type: string
  155. decodingStrategy:
  156. default: None
  157. description: Used to define a conversion Strategy
  158. type: string
  159. name:
  160. description: Finds secrets based on the name.
  161. properties:
  162. regexp:
  163. description: Finds secrets base
  164. type: string
  165. type: object
  166. path:
  167. description: A root path to start the find operations.
  168. type: string
  169. tags:
  170. additionalProperties:
  171. type: string
  172. description: Find secrets based on tags.
  173. type: object
  174. type: object
  175. type: object
  176. type: array
  177. refreshInterval:
  178. default: 1h
  179. description: RefreshInterval is the amount of time before the
  180. values are read again from the SecretStore provider Valid time
  181. units are "ns", "us" (or "µs"), "ms", "s", "m", "h" May be set
  182. to zero to fetch and create it once. Defaults to 1h.
  183. type: string
  184. secretStoreRef:
  185. description: SecretStoreRef defines which SecretStore to fetch
  186. the ExternalSecret data.
  187. properties:
  188. kind:
  189. description: Kind of the SecretStore resource (SecretStore
  190. or ClusterSecretStore) Defaults to `SecretStore`
  191. type: string
  192. name:
  193. description: Name of the SecretStore resource
  194. type: string
  195. required:
  196. - name
  197. type: object
  198. target:
  199. description: ExternalSecretTarget defines the Kubernetes Secret
  200. to be created There can be only one target per ExternalSecret.
  201. properties:
  202. creationPolicy:
  203. default: Owner
  204. description: CreationPolicy defines rules on how to create
  205. the resulting Secret Defaults to 'Owner'
  206. enum:
  207. - Owner
  208. - Orphan
  209. - Merge
  210. - None
  211. type: string
  212. deletionPolicy:
  213. default: Retain
  214. description: DeletionPolicy defines rules on how to delete
  215. the resulting Secret Defaults to 'Retain'
  216. enum:
  217. - Delete
  218. - Merge
  219. - Retain
  220. type: string
  221. immutable:
  222. description: Immutable defines if the final secret will be
  223. immutable
  224. type: boolean
  225. name:
  226. description: Name defines the name of the Secret resource
  227. to be managed This field is immutable Defaults to the .metadata.name
  228. of the ExternalSecret resource
  229. type: string
  230. template:
  231. description: Template defines a blueprint for the created
  232. Secret resource.
  233. properties:
  234. data:
  235. additionalProperties:
  236. type: string
  237. type: object
  238. engineVersion:
  239. default: v2
  240. type: string
  241. metadata:
  242. description: ExternalSecretTemplateMetadata defines metadata
  243. fields for the Secret blueprint.
  244. properties:
  245. annotations:
  246. additionalProperties:
  247. type: string
  248. type: object
  249. labels:
  250. additionalProperties:
  251. type: string
  252. type: object
  253. type: object
  254. templateFrom:
  255. items:
  256. maxProperties: 1
  257. minProperties: 1
  258. properties:
  259. configMap:
  260. properties:
  261. items:
  262. items:
  263. properties:
  264. key:
  265. type: string
  266. required:
  267. - key
  268. type: object
  269. type: array
  270. name:
  271. type: string
  272. required:
  273. - items
  274. - name
  275. type: object
  276. secret:
  277. properties:
  278. items:
  279. items:
  280. properties:
  281. key:
  282. type: string
  283. required:
  284. - key
  285. type: object
  286. type: array
  287. name:
  288. type: string
  289. required:
  290. - items
  291. - name
  292. type: object
  293. type: object
  294. type: array
  295. type:
  296. type: string
  297. type: object
  298. type: object
  299. required:
  300. - secretStoreRef
  301. type: object
  302. namespaceSelector:
  303. description: The labels to select by to find the Namespaces to create
  304. the ExternalSecrets in.
  305. properties:
  306. matchExpressions:
  307. description: matchExpressions is a list of label selector requirements.
  308. The requirements are ANDed.
  309. items:
  310. description: A label selector requirement is a selector that
  311. contains values, a key, and an operator that relates the key
  312. and values.
  313. properties:
  314. key:
  315. description: key is the label key that the selector applies
  316. to.
  317. type: string
  318. operator:
  319. description: operator represents a key's relationship to
  320. a set of values. Valid operators are In, NotIn, Exists
  321. and DoesNotExist.
  322. type: string
  323. values:
  324. description: values is an array of string values. If the
  325. operator is In or NotIn, the values array must be non-empty.
  326. If the operator is Exists or DoesNotExist, the values
  327. array must be empty. This array is replaced during a strategic
  328. merge patch.
  329. items:
  330. type: string
  331. type: array
  332. required:
  333. - key
  334. - operator
  335. type: object
  336. type: array
  337. matchLabels:
  338. additionalProperties:
  339. type: string
  340. description: matchLabels is a map of {key,value} pairs. A single
  341. {key,value} in the matchLabels map is equivalent to an element
  342. of matchExpressions, whose key field is "key", the operator
  343. is "In", and the values array contains only "value". The requirements
  344. are ANDed.
  345. type: object
  346. type: object
  347. x-kubernetes-map-type: atomic
  348. refreshTime:
  349. description: The time in which the controller should reconcile it's
  350. objects and recheck namespaces for labels.
  351. type: string
  352. required:
  353. - externalSecretSpec
  354. - namespaceSelector
  355. type: object
  356. status:
  357. description: ClusterExternalSecretStatus defines the observed state of
  358. ClusterExternalSecret.
  359. properties:
  360. conditions:
  361. items:
  362. properties:
  363. message:
  364. type: string
  365. status:
  366. type: string
  367. type:
  368. type: string
  369. required:
  370. - status
  371. - type
  372. type: object
  373. type: array
  374. failedNamespaces:
  375. description: Failed namespaces are the namespaces that failed to apply
  376. an ExternalSecret
  377. items:
  378. description: ClusterExternalSecretNamespaceFailure represents a
  379. failed namespace deployment and it's reason.
  380. properties:
  381. namespace:
  382. description: Namespace is the namespace that failed when trying
  383. to apply an ExternalSecret
  384. type: string
  385. reason:
  386. description: Reason is why the ExternalSecret failed to apply
  387. to the namespace
  388. type: string
  389. required:
  390. - namespace
  391. type: object
  392. type: array
  393. provisionedNamespaces:
  394. description: ProvisionedNamespaces are the namespaces where the ClusterExternalSecret
  395. has secrets
  396. items:
  397. type: string
  398. type: array
  399. type: object
  400. type: object
  401. served: true
  402. storage: true
  403. subresources:
  404. status: {}