external-secrets.io_externalsecrets.yaml 32 KB

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