external-secrets.io_externalsecrets.yaml 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.13.0
  6. name: externalsecrets.external-secrets.io
  7. spec:
  8. group: external-secrets.io
  9. names:
  10. categories:
  11. - externalsecrets
  12. kind: ExternalSecret
  13. listKind: ExternalSecretList
  14. plural: externalsecrets
  15. shortNames:
  16. - es
  17. singular: externalsecret
  18. scope: Namespaced
  19. versions:
  20. - additionalPrinterColumns:
  21. - jsonPath: .spec.secretStoreRef.name
  22. name: Store
  23. type: string
  24. - jsonPath: .spec.refreshInterval
  25. name: Refresh Interval
  26. type: string
  27. - jsonPath: .status.conditions[?(@.type=="Ready")].reason
  28. name: Status
  29. type: string
  30. deprecated: true
  31. name: v1alpha1
  32. schema:
  33. openAPIV3Schema:
  34. description: ExternalSecret is the Schema for the external-secrets 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: ExternalSecretSpec defines the desired state of ExternalSecret.
  50. properties:
  51. data:
  52. description: Data defines the connection between the Kubernetes Secret
  53. keys and the Provider data
  54. items:
  55. description: ExternalSecretData defines the connection between the
  56. Kubernetes Secret key (spec.data.<key>) and the Provider data.
  57. properties:
  58. remoteRef:
  59. description: ExternalSecretDataRemoteRef defines Provider data
  60. location.
  61. properties:
  62. conversionStrategy:
  63. default: Default
  64. description: Used to define a conversion Strategy
  65. enum:
  66. - Default
  67. - Unicode
  68. type: string
  69. key:
  70. description: Key is the key used in the Provider, mandatory
  71. type: string
  72. property:
  73. description: Used to select a specific property of the Provider
  74. value (if a map), if supported
  75. type: string
  76. version:
  77. description: Used to select a specific version of the Provider
  78. value, if supported
  79. type: string
  80. required:
  81. - key
  82. type: object
  83. secretKey:
  84. type: string
  85. required:
  86. - remoteRef
  87. - secretKey
  88. type: object
  89. type: array
  90. dataFrom:
  91. description: DataFrom is used to fetch all properties from a specific
  92. Provider data If multiple entries are specified, the Secret keys
  93. are merged in the specified order
  94. items:
  95. description: ExternalSecretDataRemoteRef defines Provider data location.
  96. properties:
  97. conversionStrategy:
  98. default: Default
  99. description: Used to define a conversion Strategy
  100. enum:
  101. - Default
  102. - Unicode
  103. type: string
  104. key:
  105. description: Key is the key used in the Provider, mandatory
  106. type: string
  107. property:
  108. description: Used to select a specific property of the Provider
  109. value (if a map), if supported
  110. type: string
  111. version:
  112. description: Used to select a specific version of the Provider
  113. value, if supported
  114. type: string
  115. required:
  116. - key
  117. type: object
  118. type: array
  119. refreshInterval:
  120. default: 1h
  121. description: RefreshInterval is the amount of time before the values
  122. are read again from the SecretStore provider Valid time units are
  123. "ns", "us" (or "µs"), "ms", "s", "m", "h" May be set to zero to
  124. fetch and create it once. Defaults to 1h.
  125. type: string
  126. secretStoreRef:
  127. description: SecretStoreRef defines which SecretStore to fetch the
  128. ExternalSecret data.
  129. properties:
  130. kind:
  131. description: Kind of the SecretStore resource (SecretStore or
  132. ClusterSecretStore) Defaults to `SecretStore`
  133. type: string
  134. name:
  135. description: Name of the SecretStore resource
  136. type: string
  137. required:
  138. - name
  139. type: object
  140. target:
  141. description: ExternalSecretTarget defines the Kubernetes Secret to
  142. be created There can be only one target per ExternalSecret.
  143. properties:
  144. creationPolicy:
  145. default: Owner
  146. description: CreationPolicy defines rules on how to create the
  147. resulting Secret Defaults to 'Owner'
  148. enum:
  149. - Owner
  150. - Merge
  151. - None
  152. type: string
  153. immutable:
  154. description: Immutable defines if the final secret will be immutable
  155. type: boolean
  156. name:
  157. description: Name defines the name of the Secret resource to be
  158. managed This field is immutable Defaults to the .metadata.name
  159. of the ExternalSecret resource
  160. type: string
  161. template:
  162. description: Template defines a blueprint for the created Secret
  163. resource.
  164. properties:
  165. data:
  166. additionalProperties:
  167. type: string
  168. type: object
  169. engineVersion:
  170. default: v1
  171. description: EngineVersion specifies the template engine version
  172. that should be used to compile/execute the template specified
  173. in .data and .templateFrom[].
  174. enum:
  175. - v1
  176. - v2
  177. type: string
  178. metadata:
  179. description: ExternalSecretTemplateMetadata defines metadata
  180. fields for the Secret blueprint.
  181. properties:
  182. annotations:
  183. additionalProperties:
  184. type: string
  185. type: object
  186. labels:
  187. additionalProperties:
  188. type: string
  189. type: object
  190. type: object
  191. templateFrom:
  192. items:
  193. maxProperties: 1
  194. minProperties: 1
  195. properties:
  196. configMap:
  197. properties:
  198. items:
  199. items:
  200. properties:
  201. key:
  202. type: string
  203. required:
  204. - key
  205. type: object
  206. type: array
  207. name:
  208. type: string
  209. required:
  210. - items
  211. - name
  212. type: object
  213. secret:
  214. properties:
  215. items:
  216. items:
  217. properties:
  218. key:
  219. type: string
  220. required:
  221. - key
  222. type: object
  223. type: array
  224. name:
  225. type: string
  226. required:
  227. - items
  228. - name
  229. type: object
  230. type: object
  231. type: array
  232. type:
  233. type: string
  234. type: object
  235. type: object
  236. required:
  237. - secretStoreRef
  238. - target
  239. type: object
  240. status:
  241. properties:
  242. binding:
  243. description: Binding represents a servicebinding.io Provisioned Service
  244. reference to the secret
  245. properties:
  246. name:
  247. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  248. TODO: Add other useful fields. apiVersion, kind, uid?'
  249. type: string
  250. type: object
  251. x-kubernetes-map-type: atomic
  252. conditions:
  253. items:
  254. properties:
  255. lastTransitionTime:
  256. format: date-time
  257. type: string
  258. message:
  259. type: string
  260. reason:
  261. type: string
  262. status:
  263. type: string
  264. type:
  265. type: string
  266. required:
  267. - status
  268. - type
  269. type: object
  270. type: array
  271. refreshTime:
  272. description: refreshTime is the time and date the external secret
  273. was fetched and the target secret updated
  274. format: date-time
  275. nullable: true
  276. type: string
  277. syncedResourceVersion:
  278. description: SyncedResourceVersion keeps track of the last synced
  279. version
  280. type: string
  281. type: object
  282. type: object
  283. served: true
  284. storage: false
  285. subresources:
  286. status: {}
  287. - additionalPrinterColumns:
  288. - jsonPath: .spec.secretStoreRef.name
  289. name: Store
  290. type: string
  291. - jsonPath: .spec.refreshInterval
  292. name: Refresh Interval
  293. type: string
  294. - jsonPath: .status.conditions[?(@.type=="Ready")].reason
  295. name: Status
  296. type: string
  297. - jsonPath: .status.conditions[?(@.type=="Ready")].status
  298. name: Ready
  299. type: string
  300. name: v1beta1
  301. schema:
  302. openAPIV3Schema:
  303. description: ExternalSecret is the Schema for the external-secrets API.
  304. properties:
  305. apiVersion:
  306. description: 'APIVersion defines the versioned schema of this representation
  307. of an object. Servers should convert recognized schemas to the latest
  308. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  309. type: string
  310. kind:
  311. description: 'Kind is a string value representing the REST resource this
  312. object represents. Servers may infer this from the endpoint the client
  313. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  314. type: string
  315. metadata:
  316. type: object
  317. spec:
  318. description: ExternalSecretSpec defines the desired state of ExternalSecret.
  319. properties:
  320. data:
  321. description: Data defines the connection between the Kubernetes Secret
  322. keys and the Provider data
  323. items:
  324. description: ExternalSecretData defines the connection between the
  325. Kubernetes Secret key (spec.data.<key>) and the Provider data.
  326. properties:
  327. remoteRef:
  328. description: RemoteRef points to the remote secret and defines
  329. which secret (version/property/..) to fetch.
  330. properties:
  331. conversionStrategy:
  332. default: Default
  333. description: Used to define a conversion Strategy
  334. enum:
  335. - Default
  336. - Unicode
  337. type: string
  338. decodingStrategy:
  339. default: None
  340. description: Used to define a decoding Strategy
  341. enum:
  342. - Auto
  343. - Base64
  344. - Base64URL
  345. - None
  346. type: string
  347. key:
  348. description: Key is the key used in the Provider, mandatory
  349. type: string
  350. metadataPolicy:
  351. default: None
  352. description: Policy for fetching tags/labels from provider
  353. secrets, possible options are Fetch, None. Defaults to
  354. None
  355. enum:
  356. - None
  357. - Fetch
  358. type: string
  359. property:
  360. description: Used to select a specific property of the Provider
  361. value (if a map), if supported
  362. type: string
  363. version:
  364. description: Used to select a specific version of the Provider
  365. value, if supported
  366. type: string
  367. required:
  368. - key
  369. type: object
  370. secretKey:
  371. description: SecretKey defines the key in which the controller
  372. stores the value. This is the key in the Kind=Secret
  373. type: string
  374. sourceRef:
  375. description: SourceRef allows you to override the source from
  376. which the value will pulled from.
  377. maxProperties: 1
  378. properties:
  379. generatorRef:
  380. description: "GeneratorRef points to a generator custom
  381. resource. \n Deprecated: The generatorRef is not implemented
  382. in .data[]. this will be removed with v1."
  383. properties:
  384. apiVersion:
  385. default: generators.external-secrets.io/v1alpha1
  386. description: Specify the apiVersion of the generator
  387. resource
  388. type: string
  389. kind:
  390. description: Specify the Kind of the resource, e.g.
  391. Password, ACRAccessToken etc.
  392. type: string
  393. name:
  394. description: Specify the name of the generator resource
  395. type: string
  396. required:
  397. - kind
  398. - name
  399. type: object
  400. storeRef:
  401. description: SecretStoreRef defines which SecretStore to
  402. fetch the ExternalSecret data.
  403. properties:
  404. kind:
  405. description: Kind of the SecretStore resource (SecretStore
  406. or ClusterSecretStore) Defaults to `SecretStore`
  407. type: string
  408. name:
  409. description: Name of the SecretStore resource
  410. type: string
  411. required:
  412. - name
  413. type: object
  414. type: object
  415. required:
  416. - remoteRef
  417. - secretKey
  418. type: object
  419. type: array
  420. dataFrom:
  421. description: DataFrom is used to fetch all properties from a specific
  422. Provider data If multiple entries are specified, the Secret keys
  423. are merged in the specified order
  424. items:
  425. properties:
  426. extract:
  427. description: 'Used to extract multiple key/value pairs from
  428. one secret Note: Extract does not support sourceRef.Generator
  429. or sourceRef.GeneratorRef.'
  430. properties:
  431. conversionStrategy:
  432. default: Default
  433. description: Used to define a conversion Strategy
  434. enum:
  435. - Default
  436. - Unicode
  437. type: string
  438. decodingStrategy:
  439. default: None
  440. description: Used to define a decoding Strategy
  441. enum:
  442. - Auto
  443. - Base64
  444. - Base64URL
  445. - None
  446. type: string
  447. key:
  448. description: Key is the key used in the Provider, mandatory
  449. type: string
  450. metadataPolicy:
  451. default: None
  452. description: Policy for fetching tags/labels from provider
  453. secrets, possible options are Fetch, None. Defaults to
  454. None
  455. enum:
  456. - None
  457. - Fetch
  458. type: string
  459. property:
  460. description: Used to select a specific property of the Provider
  461. value (if a map), if supported
  462. type: string
  463. version:
  464. description: Used to select a specific version of the Provider
  465. value, if supported
  466. type: string
  467. required:
  468. - key
  469. type: object
  470. find:
  471. description: 'Used to find secrets based on tags or regular
  472. expressions Note: Find does not support sourceRef.Generator
  473. or sourceRef.GeneratorRef.'
  474. properties:
  475. conversionStrategy:
  476. default: Default
  477. description: Used to define a conversion Strategy
  478. enum:
  479. - Default
  480. - Unicode
  481. type: string
  482. decodingStrategy:
  483. default: None
  484. description: Used to define a decoding Strategy
  485. enum:
  486. - Auto
  487. - Base64
  488. - Base64URL
  489. - None
  490. type: string
  491. name:
  492. description: Finds secrets based on the name.
  493. properties:
  494. regexp:
  495. description: Finds secrets base
  496. type: string
  497. type: object
  498. path:
  499. description: A root path to start the find operations.
  500. type: string
  501. tags:
  502. additionalProperties:
  503. type: string
  504. description: Find secrets based on tags.
  505. type: object
  506. type: object
  507. rewrite:
  508. description: Used to rewrite secret Keys after getting them
  509. from the secret Provider Multiple Rewrite operations can be
  510. provided. They are applied in a layered order (first to last)
  511. items:
  512. properties:
  513. regexp:
  514. description: Used to rewrite with regular expressions.
  515. The resulting key will be the output of a regexp.ReplaceAll
  516. operation.
  517. properties:
  518. source:
  519. description: Used to define the regular expression
  520. of a re.Compiler.
  521. type: string
  522. target:
  523. description: Used to define the target pattern of
  524. a ReplaceAll operation.
  525. type: string
  526. required:
  527. - source
  528. - target
  529. type: object
  530. transform:
  531. description: Used to apply string transformation on the
  532. secrets. The resulting key will be the output of the
  533. template applied by the operation.
  534. properties:
  535. template:
  536. description: Used to define the template to apply
  537. on the secret name. `.value ` will specify the secret
  538. name in the template.
  539. type: string
  540. required:
  541. - template
  542. type: object
  543. type: object
  544. type: array
  545. sourceRef:
  546. description: SourceRef points to a store or generator which
  547. contains secret values ready to use. Use this in combination
  548. with Extract or Find pull values out of a specific SecretStore.
  549. When sourceRef points to a generator Extract or Find is not
  550. supported. The generator returns a static map of values
  551. maxProperties: 1
  552. properties:
  553. generatorRef:
  554. description: GeneratorRef points to a generator custom resource.
  555. properties:
  556. apiVersion:
  557. default: generators.external-secrets.io/v1alpha1
  558. description: Specify the apiVersion of the generator
  559. resource
  560. type: string
  561. kind:
  562. description: Specify the Kind of the resource, e.g.
  563. Password, ACRAccessToken etc.
  564. type: string
  565. name:
  566. description: Specify the name of the generator resource
  567. type: string
  568. required:
  569. - kind
  570. - name
  571. type: object
  572. storeRef:
  573. description: SecretStoreRef defines which SecretStore to
  574. fetch the ExternalSecret data.
  575. properties:
  576. kind:
  577. description: Kind of the SecretStore resource (SecretStore
  578. or ClusterSecretStore) Defaults to `SecretStore`
  579. type: string
  580. name:
  581. description: Name of the SecretStore resource
  582. type: string
  583. required:
  584. - name
  585. type: object
  586. type: object
  587. type: object
  588. type: array
  589. refreshInterval:
  590. default: 1h
  591. description: RefreshInterval is the amount of time before the values
  592. are read again from the SecretStore provider Valid time units are
  593. "ns", "us" (or "µs"), "ms", "s", "m", "h" May be set to zero to
  594. fetch and create it once. Defaults to 1h.
  595. type: string
  596. secretStoreRef:
  597. description: SecretStoreRef defines which SecretStore to fetch the
  598. ExternalSecret data.
  599. properties:
  600. kind:
  601. description: Kind of the SecretStore resource (SecretStore or
  602. ClusterSecretStore) Defaults to `SecretStore`
  603. type: string
  604. name:
  605. description: Name of the SecretStore resource
  606. type: string
  607. required:
  608. - name
  609. type: object
  610. target:
  611. default:
  612. creationPolicy: Owner
  613. deletionPolicy: Retain
  614. description: ExternalSecretTarget defines the Kubernetes Secret to
  615. be created There can be only one target per ExternalSecret.
  616. properties:
  617. creationPolicy:
  618. default: Owner
  619. description: CreationPolicy defines rules on how to create the
  620. resulting Secret Defaults to 'Owner'
  621. enum:
  622. - Owner
  623. - Orphan
  624. - Merge
  625. - None
  626. type: string
  627. deletionPolicy:
  628. default: Retain
  629. description: DeletionPolicy defines rules on how to delete the
  630. resulting Secret Defaults to 'Retain'
  631. enum:
  632. - Delete
  633. - Merge
  634. - Retain
  635. type: string
  636. immutable:
  637. description: Immutable defines if the final secret will be immutable
  638. type: boolean
  639. name:
  640. description: Name defines the name of the Secret resource to be
  641. managed This field is immutable Defaults to the .metadata.name
  642. of the ExternalSecret resource
  643. type: string
  644. template:
  645. description: Template defines a blueprint for the created Secret
  646. resource.
  647. properties:
  648. data:
  649. additionalProperties:
  650. type: string
  651. type: object
  652. engineVersion:
  653. default: v2
  654. description: EngineVersion specifies the template engine version
  655. that should be used to compile/execute the template specified
  656. in .data and .templateFrom[].
  657. enum:
  658. - v1
  659. - v2
  660. type: string
  661. mergePolicy:
  662. default: Replace
  663. enum:
  664. - Replace
  665. - Merge
  666. type: string
  667. metadata:
  668. description: ExternalSecretTemplateMetadata defines metadata
  669. fields for the Secret blueprint.
  670. properties:
  671. annotations:
  672. additionalProperties:
  673. type: string
  674. type: object
  675. labels:
  676. additionalProperties:
  677. type: string
  678. type: object
  679. type: object
  680. templateFrom:
  681. items:
  682. properties:
  683. configMap:
  684. properties:
  685. items:
  686. items:
  687. properties:
  688. key:
  689. type: string
  690. templateAs:
  691. default: Values
  692. enum:
  693. - Values
  694. - KeysAndValues
  695. type: string
  696. required:
  697. - key
  698. type: object
  699. type: array
  700. name:
  701. type: string
  702. required:
  703. - items
  704. - name
  705. type: object
  706. literal:
  707. type: string
  708. secret:
  709. properties:
  710. items:
  711. items:
  712. properties:
  713. key:
  714. type: string
  715. templateAs:
  716. default: Values
  717. enum:
  718. - Values
  719. - KeysAndValues
  720. type: string
  721. required:
  722. - key
  723. type: object
  724. type: array
  725. name:
  726. type: string
  727. required:
  728. - items
  729. - name
  730. type: object
  731. target:
  732. default: Data
  733. enum:
  734. - Data
  735. - Annotations
  736. - Labels
  737. type: string
  738. type: object
  739. type: array
  740. type:
  741. type: string
  742. type: object
  743. type: object
  744. type: object
  745. status:
  746. properties:
  747. binding:
  748. description: Binding represents a servicebinding.io Provisioned Service
  749. reference to the secret
  750. properties:
  751. name:
  752. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  753. TODO: Add other useful fields. apiVersion, kind, uid?'
  754. type: string
  755. type: object
  756. x-kubernetes-map-type: atomic
  757. conditions:
  758. items:
  759. properties:
  760. lastTransitionTime:
  761. format: date-time
  762. type: string
  763. message:
  764. type: string
  765. reason:
  766. type: string
  767. status:
  768. type: string
  769. type:
  770. type: string
  771. required:
  772. - status
  773. - type
  774. type: object
  775. type: array
  776. refreshTime:
  777. description: refreshTime is the time and date the external secret
  778. was fetched and the target secret updated
  779. format: date-time
  780. nullable: true
  781. type: string
  782. syncedResourceVersion:
  783. description: SyncedResourceVersion keeps track of the last synced
  784. version
  785. type: string
  786. type: object
  787. type: object
  788. served: true
  789. storage: true
  790. subresources:
  791. status: {}