external-secrets.io_clusterexternalsecrets.yaml 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.13.0
  6. name: clusterexternalsecrets.external-secrets.io
  7. spec:
  8. group: external-secrets.io
  9. names:
  10. categories:
  11. - externalsecrets
  12. kind: ClusterExternalSecret
  13. listKind: ClusterExternalSecretList
  14. plural: clusterexternalsecrets
  15. shortNames:
  16. - ces
  17. singular: clusterexternalsecret
  18. scope: Cluster
  19. versions:
  20. - additionalPrinterColumns:
  21. - jsonPath: .spec.externalSecretSpec.secretStoreRef.name
  22. name: Store
  23. type: string
  24. - jsonPath: .spec.refreshTime
  25. name: Refresh Interval
  26. type: string
  27. - jsonPath: .status.conditions[?(@.type=="Ready")].status
  28. name: Ready
  29. type: string
  30. name: v1beta1
  31. schema:
  32. openAPIV3Schema:
  33. description: ClusterExternalSecret is the Schema for the clusterexternalsecrets
  34. API.
  35. properties:
  36. apiVersion:
  37. description: 'APIVersion defines the versioned schema of this representation
  38. of an object. Servers should convert recognized schemas to the latest
  39. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  40. type: string
  41. kind:
  42. description: 'Kind is a string value representing the REST resource this
  43. object represents. Servers may infer this from the endpoint the client
  44. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  45. type: string
  46. metadata:
  47. type: object
  48. spec:
  49. description: ClusterExternalSecretSpec defines the desired state of ClusterExternalSecret.
  50. properties:
  51. externalSecretMetadata:
  52. description: The metadata of the external secrets to be created
  53. properties:
  54. annotations:
  55. additionalProperties:
  56. type: string
  57. type: object
  58. labels:
  59. additionalProperties:
  60. type: string
  61. type: object
  62. type: object
  63. externalSecretName:
  64. description: The name of the external secrets to be created defaults
  65. to the name of the ClusterExternalSecret
  66. type: string
  67. externalSecretSpec:
  68. description: The spec for the ExternalSecrets to be created
  69. properties:
  70. data:
  71. description: Data defines the connection between the Kubernetes
  72. Secret keys and the Provider data
  73. items:
  74. description: ExternalSecretData defines the connection between
  75. the Kubernetes Secret key (spec.data.<key>) and the Provider
  76. data.
  77. properties:
  78. remoteRef:
  79. description: RemoteRef points to the remote secret and defines
  80. which secret (version/property/..) to fetch.
  81. properties:
  82. conversionStrategy:
  83. default: Default
  84. description: Used to define a conversion Strategy
  85. type: string
  86. decodingStrategy:
  87. default: None
  88. description: Used to define a decoding Strategy
  89. type: string
  90. key:
  91. description: Key is the key used in the Provider, mandatory
  92. type: string
  93. metadataPolicy:
  94. description: Policy for fetching tags/labels from provider
  95. secrets, possible options are Fetch, None. Defaults
  96. to None
  97. type: string
  98. property:
  99. description: Used to select a specific property of the
  100. Provider value (if a map), if supported
  101. type: string
  102. version:
  103. description: Used to select a specific version of the
  104. Provider value, if supported
  105. type: string
  106. required:
  107. - key
  108. type: object
  109. secretKey:
  110. description: SecretKey defines the key in which the controller
  111. stores the value. This is the key in the Kind=Secret
  112. type: string
  113. sourceRef:
  114. description: SourceRef allows you to override the source
  115. from which the value will pulled from.
  116. maxProperties: 1
  117. properties:
  118. generatorRef:
  119. description: GeneratorRef points to a generator custom
  120. resource in
  121. properties:
  122. apiVersion:
  123. default: generators.external-secrets.io/v1alpha1
  124. description: Specify the apiVersion of the generator
  125. resource
  126. type: string
  127. kind:
  128. description: Specify the Kind of the resource, e.g.
  129. Password, ACRAccessToken etc.
  130. type: string
  131. name:
  132. description: Specify the name of the generator resource
  133. type: string
  134. required:
  135. - kind
  136. - name
  137. type: object
  138. storeRef:
  139. description: SecretStoreRef defines which SecretStore
  140. to fetch the ExternalSecret data.
  141. properties:
  142. kind:
  143. description: Kind of the SecretStore resource (SecretStore
  144. or ClusterSecretStore) Defaults to `SecretStore`
  145. type: string
  146. name:
  147. description: Name of the SecretStore resource
  148. type: string
  149. required:
  150. - name
  151. type: object
  152. type: object
  153. required:
  154. - remoteRef
  155. - secretKey
  156. type: object
  157. type: array
  158. dataFrom:
  159. description: DataFrom is used to fetch all properties from a specific
  160. Provider data If multiple entries are specified, the Secret
  161. keys are merged in the specified order
  162. items:
  163. properties:
  164. extract:
  165. description: 'Used to extract multiple key/value pairs from
  166. one secret Note: Extract does not support sourceRef.Generator
  167. or sourceRef.GeneratorRef.'
  168. properties:
  169. conversionStrategy:
  170. default: Default
  171. description: Used to define a conversion Strategy
  172. type: string
  173. decodingStrategy:
  174. default: None
  175. description: Used to define a decoding Strategy
  176. type: string
  177. key:
  178. description: Key is the key used in the Provider, mandatory
  179. type: string
  180. metadataPolicy:
  181. description: Policy for fetching tags/labels from provider
  182. secrets, possible options are Fetch, None. Defaults
  183. to None
  184. type: string
  185. property:
  186. description: Used to select a specific property of the
  187. Provider value (if a map), if supported
  188. type: string
  189. version:
  190. description: Used to select a specific version of the
  191. Provider value, if supported
  192. type: string
  193. required:
  194. - key
  195. type: object
  196. find:
  197. description: 'Used to find secrets based on tags or regular
  198. expressions Note: Find does not support sourceRef.Generator
  199. or sourceRef.GeneratorRef.'
  200. properties:
  201. conversionStrategy:
  202. default: Default
  203. description: Used to define a conversion Strategy
  204. type: string
  205. decodingStrategy:
  206. default: None
  207. description: Used to define a decoding Strategy
  208. type: string
  209. name:
  210. description: Finds secrets based on the name.
  211. properties:
  212. regexp:
  213. description: Finds secrets base
  214. type: string
  215. type: object
  216. path:
  217. description: A root path to start the find operations.
  218. type: string
  219. tags:
  220. additionalProperties:
  221. type: string
  222. description: Find secrets based on tags.
  223. type: object
  224. type: object
  225. rewrite:
  226. description: Used to rewrite secret Keys after getting them
  227. from the secret Provider Multiple Rewrite operations can
  228. be provided. They are applied in a layered order (first
  229. to last)
  230. items:
  231. properties:
  232. regexp:
  233. description: Used to rewrite with regular expressions.
  234. The resulting key will be the output of a regexp.ReplaceAll
  235. operation.
  236. properties:
  237. source:
  238. description: Used to define the regular expression
  239. of a re.Compiler.
  240. type: string
  241. target:
  242. description: Used to define the target pattern
  243. of a ReplaceAll operation.
  244. type: string
  245. required:
  246. - source
  247. - target
  248. type: object
  249. transform:
  250. description: Used to apply string transformation on
  251. the secrets. The resulting key will be the output
  252. of the template applied by the operation.
  253. properties:
  254. template:
  255. description: Used to define the template to apply
  256. on the secret name. `.value ` will specify the
  257. secret name in the template.
  258. type: string
  259. required:
  260. - template
  261. type: object
  262. type: object
  263. type: array
  264. sourceRef:
  265. description: SourceRef points to a store or generator which
  266. contains secret values ready to use. Use this in combination
  267. with Extract or Find pull values out of a specific SecretStore.
  268. When sourceRef points to a generator Extract or Find is
  269. not supported. The generator returns a static map of values
  270. maxProperties: 1
  271. properties:
  272. generatorRef:
  273. description: GeneratorRef points to a generator custom
  274. resource in
  275. properties:
  276. apiVersion:
  277. default: generators.external-secrets.io/v1alpha1
  278. description: Specify the apiVersion of the generator
  279. resource
  280. type: string
  281. kind:
  282. description: Specify the Kind of the resource, e.g.
  283. Password, ACRAccessToken etc.
  284. type: string
  285. name:
  286. description: Specify the name of the generator resource
  287. type: string
  288. required:
  289. - kind
  290. - name
  291. type: object
  292. storeRef:
  293. description: SecretStoreRef defines which SecretStore
  294. to fetch the ExternalSecret data.
  295. properties:
  296. kind:
  297. description: Kind of the SecretStore resource (SecretStore
  298. or ClusterSecretStore) Defaults to `SecretStore`
  299. type: string
  300. name:
  301. description: Name of the SecretStore resource
  302. type: string
  303. required:
  304. - name
  305. type: object
  306. type: object
  307. type: object
  308. type: array
  309. refreshInterval:
  310. default: 1h
  311. description: RefreshInterval is the amount of time before the
  312. values are read again from the SecretStore provider Valid time
  313. units are "ns", "us" (or "µs"), "ms", "s", "m", "h" May be set
  314. to zero to fetch and create it once. Defaults to 1h.
  315. type: string
  316. secretStoreRef:
  317. description: SecretStoreRef defines which SecretStore to fetch
  318. the ExternalSecret data.
  319. properties:
  320. kind:
  321. description: Kind of the SecretStore resource (SecretStore
  322. or ClusterSecretStore) Defaults to `SecretStore`
  323. type: string
  324. name:
  325. description: Name of the SecretStore resource
  326. type: string
  327. required:
  328. - name
  329. type: object
  330. target:
  331. default:
  332. creationPolicy: Owner
  333. deletionPolicy: Retain
  334. description: ExternalSecretTarget defines the Kubernetes Secret
  335. to be created There can be only one target per ExternalSecret.
  336. properties:
  337. creationPolicy:
  338. default: Owner
  339. description: CreationPolicy defines rules on how to create
  340. the resulting Secret Defaults to 'Owner'
  341. enum:
  342. - Owner
  343. - Orphan
  344. - Merge
  345. - None
  346. type: string
  347. deletionPolicy:
  348. default: Retain
  349. description: DeletionPolicy defines rules on how to delete
  350. the resulting Secret Defaults to 'Retain'
  351. enum:
  352. - Delete
  353. - Merge
  354. - Retain
  355. type: string
  356. immutable:
  357. description: Immutable defines if the final secret will be
  358. immutable
  359. type: boolean
  360. name:
  361. description: Name defines the name of the Secret resource
  362. to be managed This field is immutable Defaults to the .metadata.name
  363. of the ExternalSecret resource
  364. type: string
  365. template:
  366. description: Template defines a blueprint for the created
  367. Secret resource.
  368. properties:
  369. data:
  370. additionalProperties:
  371. type: string
  372. type: object
  373. engineVersion:
  374. default: v2
  375. type: string
  376. mergePolicy:
  377. default: Replace
  378. type: string
  379. metadata:
  380. description: ExternalSecretTemplateMetadata defines metadata
  381. fields for the Secret blueprint.
  382. properties:
  383. annotations:
  384. additionalProperties:
  385. type: string
  386. type: object
  387. labels:
  388. additionalProperties:
  389. type: string
  390. type: object
  391. type: object
  392. templateFrom:
  393. items:
  394. properties:
  395. configMap:
  396. properties:
  397. items:
  398. items:
  399. properties:
  400. key:
  401. type: string
  402. templateAs:
  403. default: Values
  404. type: string
  405. required:
  406. - key
  407. type: object
  408. type: array
  409. name:
  410. type: string
  411. required:
  412. - items
  413. - name
  414. type: object
  415. literal:
  416. type: string
  417. secret:
  418. properties:
  419. items:
  420. items:
  421. properties:
  422. key:
  423. type: string
  424. templateAs:
  425. default: Values
  426. type: string
  427. required:
  428. - key
  429. type: object
  430. type: array
  431. name:
  432. type: string
  433. required:
  434. - items
  435. - name
  436. type: object
  437. target:
  438. default: Data
  439. type: string
  440. type: object
  441. type: array
  442. type:
  443. type: string
  444. type: object
  445. type: object
  446. type: object
  447. namespaceSelector:
  448. description: The labels to select by to find the Namespaces to create
  449. the ExternalSecrets in.
  450. properties:
  451. matchExpressions:
  452. description: matchExpressions is a list of label selector requirements.
  453. The requirements are ANDed.
  454. items:
  455. description: A label selector requirement is a selector that
  456. contains values, a key, and an operator that relates the key
  457. and values.
  458. properties:
  459. key:
  460. description: key is the label key that the selector applies
  461. to.
  462. type: string
  463. operator:
  464. description: operator represents a key's relationship to
  465. a set of values. Valid operators are In, NotIn, Exists
  466. and DoesNotExist.
  467. type: string
  468. values:
  469. description: values is an array of string values. If the
  470. operator is In or NotIn, the values array must be non-empty.
  471. If the operator is Exists or DoesNotExist, the values
  472. array must be empty. This array is replaced during a strategic
  473. merge patch.
  474. items:
  475. type: string
  476. type: array
  477. required:
  478. - key
  479. - operator
  480. type: object
  481. type: array
  482. matchLabels:
  483. additionalProperties:
  484. type: string
  485. description: matchLabels is a map of {key,value} pairs. A single
  486. {key,value} in the matchLabels map is equivalent to an element
  487. of matchExpressions, whose key field is "key", the operator
  488. is "In", and the values array contains only "value". The requirements
  489. are ANDed.
  490. type: object
  491. type: object
  492. x-kubernetes-map-type: atomic
  493. namespaces:
  494. description: Choose namespaces by name. This field is ORed with anything
  495. that NamespaceSelector ends up choosing.
  496. items:
  497. type: string
  498. type: array
  499. refreshTime:
  500. description: The time in which the controller should reconcile its
  501. objects and recheck namespaces for labels.
  502. type: string
  503. required:
  504. - externalSecretSpec
  505. type: object
  506. status:
  507. description: ClusterExternalSecretStatus defines the observed state of
  508. ClusterExternalSecret.
  509. properties:
  510. conditions:
  511. items:
  512. properties:
  513. message:
  514. type: string
  515. status:
  516. type: string
  517. type:
  518. type: string
  519. required:
  520. - status
  521. - type
  522. type: object
  523. type: array
  524. externalSecretName:
  525. description: ExternalSecretName is the name of the ExternalSecrets
  526. created by the ClusterExternalSecret
  527. type: string
  528. failedNamespaces:
  529. description: Failed namespaces are the namespaces that failed to apply
  530. an ExternalSecret
  531. items:
  532. description: ClusterExternalSecretNamespaceFailure represents a
  533. failed namespace deployment and it's reason.
  534. properties:
  535. namespace:
  536. description: Namespace is the namespace that failed when trying
  537. to apply an ExternalSecret
  538. type: string
  539. reason:
  540. description: Reason is why the ExternalSecret failed to apply
  541. to the namespace
  542. type: string
  543. required:
  544. - namespace
  545. type: object
  546. type: array
  547. provisionedNamespaces:
  548. description: ProvisionedNamespaces are the namespaces where the ClusterExternalSecret
  549. has secrets
  550. items:
  551. type: string
  552. type: array
  553. type: object
  554. type: object
  555. served: true
  556. storage: true
  557. subresources:
  558. status: {}