external-secrets.io_externalsecrets.yaml 59 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.19.0
  6. labels:
  7. external-secrets.io/component: controller
  8. name: externalsecrets.external-secrets.io
  9. spec:
  10. group: external-secrets.io
  11. names:
  12. categories:
  13. - external-secrets
  14. kind: ExternalSecret
  15. listKind: ExternalSecretList
  16. plural: externalsecrets
  17. shortNames:
  18. - es
  19. singular: externalsecret
  20. scope: Namespaced
  21. versions:
  22. - additionalPrinterColumns:
  23. - jsonPath: .spec.secretStoreRef.kind
  24. name: StoreType
  25. type: string
  26. - jsonPath: .spec.secretStoreRef.name
  27. name: Store
  28. type: string
  29. - jsonPath: .spec.refreshInterval
  30. name: Refresh Interval
  31. type: string
  32. - jsonPath: .status.conditions[?(@.type=="Ready")].reason
  33. name: Status
  34. type: string
  35. - jsonPath: .status.conditions[?(@.type=="Ready")].status
  36. name: Ready
  37. type: string
  38. name: v1
  39. schema:
  40. openAPIV3Schema:
  41. description: ExternalSecret is the Schema for the external-secrets API.
  42. properties:
  43. apiVersion:
  44. description: |-
  45. APIVersion defines the versioned schema of this representation of an object.
  46. Servers should convert recognized schemas to the latest internal value, and
  47. may reject unrecognized values.
  48. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  49. type: string
  50. kind:
  51. description: |-
  52. Kind is a string value representing the REST resource this object represents.
  53. Servers may infer this from the endpoint the client submits requests to.
  54. Cannot be updated.
  55. In CamelCase.
  56. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  57. type: string
  58. metadata:
  59. type: object
  60. spec:
  61. description: ExternalSecretSpec defines the desired state of ExternalSecret.
  62. properties:
  63. data:
  64. description: Data defines the connection between the Kubernetes Secret
  65. keys and the Provider data
  66. items:
  67. description: ExternalSecretData defines the connection between the
  68. Kubernetes Secret key (spec.data.<key>) and the Provider data.
  69. properties:
  70. remoteRef:
  71. description: |-
  72. RemoteRef points to the remote secret and defines
  73. which secret (version/property/..) to fetch.
  74. properties:
  75. conversionStrategy:
  76. default: Default
  77. description: Used to define a conversion Strategy
  78. enum:
  79. - Default
  80. - Unicode
  81. type: string
  82. decodingStrategy:
  83. default: None
  84. description: Used to define a decoding Strategy
  85. enum:
  86. - Auto
  87. - Base64
  88. - Base64URL
  89. - None
  90. type: string
  91. key:
  92. description: Key is the key used in the Provider, mandatory
  93. type: string
  94. metadataPolicy:
  95. default: None
  96. description: Policy for fetching tags/labels from provider
  97. secrets, possible options are Fetch, None. Defaults to
  98. None
  99. enum:
  100. - None
  101. - Fetch
  102. type: string
  103. property:
  104. description: Used to select a specific property of the Provider
  105. value (if a map), if supported
  106. type: string
  107. version:
  108. description: Used to select a specific version of the Provider
  109. value, if supported
  110. type: string
  111. required:
  112. - key
  113. type: object
  114. secretKey:
  115. description: The key in the Kubernetes Secret to store the value.
  116. maxLength: 253
  117. minLength: 1
  118. pattern: ^[-._a-zA-Z0-9]+$
  119. type: string
  120. sourceRef:
  121. description: |-
  122. SourceRef allows you to override the source
  123. from which the value will be pulled.
  124. maxProperties: 1
  125. minProperties: 1
  126. properties:
  127. generatorRef:
  128. description: |-
  129. GeneratorRef points to a generator custom resource.
  130. Deprecated: The generatorRef is not implemented in .data[].
  131. this will be removed with v1.
  132. properties:
  133. apiVersion:
  134. default: generators.external-secrets.io/v1alpha1
  135. description: Specify the apiVersion of the generator
  136. resource
  137. type: string
  138. kind:
  139. description: Specify the Kind of the generator resource
  140. enum:
  141. - ACRAccessToken
  142. - ClusterGenerator
  143. - CloudsmithAccessToken
  144. - ECRAuthorizationToken
  145. - Fake
  146. - GCRAccessToken
  147. - GithubAccessToken
  148. - QuayAccessToken
  149. - Password
  150. - SSHKey
  151. - STSSessionToken
  152. - UUID
  153. - VaultDynamicSecret
  154. - Webhook
  155. - Grafana
  156. - MFA
  157. type: string
  158. name:
  159. description: Specify the name of the generator resource
  160. maxLength: 253
  161. minLength: 1
  162. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  163. type: string
  164. required:
  165. - kind
  166. - name
  167. type: object
  168. storeRef:
  169. description: SecretStoreRef defines which SecretStore to
  170. fetch the ExternalSecret data.
  171. properties:
  172. kind:
  173. description: |-
  174. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  175. Defaults to `SecretStore`
  176. enum:
  177. - SecretStore
  178. - ClusterSecretStore
  179. type: string
  180. name:
  181. description: Name of the SecretStore resource
  182. maxLength: 253
  183. minLength: 1
  184. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  185. type: string
  186. type: object
  187. type: object
  188. required:
  189. - remoteRef
  190. - secretKey
  191. type: object
  192. type: array
  193. dataFrom:
  194. description: |-
  195. DataFrom is used to fetch all properties from a specific Provider data
  196. If multiple entries are specified, the Secret keys are merged in the specified order
  197. items:
  198. properties:
  199. extract:
  200. description: |-
  201. Used to extract multiple key/value pairs from one secret
  202. Note: Extract does not support sourceRef.Generator or sourceRef.GeneratorRef.
  203. properties:
  204. conversionStrategy:
  205. default: Default
  206. description: Used to define a conversion Strategy
  207. enum:
  208. - Default
  209. - Unicode
  210. type: string
  211. decodingStrategy:
  212. default: None
  213. description: Used to define a decoding Strategy
  214. enum:
  215. - Auto
  216. - Base64
  217. - Base64URL
  218. - None
  219. type: string
  220. key:
  221. description: Key is the key used in the Provider, mandatory
  222. type: string
  223. metadataPolicy:
  224. default: None
  225. description: Policy for fetching tags/labels from provider
  226. secrets, possible options are Fetch, None. Defaults to
  227. None
  228. enum:
  229. - None
  230. - Fetch
  231. type: string
  232. property:
  233. description: Used to select a specific property of the Provider
  234. value (if a map), if supported
  235. type: string
  236. version:
  237. description: Used to select a specific version of the Provider
  238. value, if supported
  239. type: string
  240. required:
  241. - key
  242. type: object
  243. find:
  244. description: |-
  245. Used to find secrets based on tags or regular expressions
  246. Note: Find does not support sourceRef.Generator or sourceRef.GeneratorRef.
  247. properties:
  248. conversionStrategy:
  249. default: Default
  250. description: Used to define a conversion Strategy
  251. enum:
  252. - Default
  253. - Unicode
  254. type: string
  255. decodingStrategy:
  256. default: None
  257. description: Used to define a decoding Strategy
  258. enum:
  259. - Auto
  260. - Base64
  261. - Base64URL
  262. - None
  263. type: string
  264. name:
  265. description: Finds secrets based on the name.
  266. properties:
  267. regexp:
  268. description: Finds secrets base
  269. type: string
  270. type: object
  271. path:
  272. description: A root path to start the find operations.
  273. type: string
  274. tags:
  275. additionalProperties:
  276. type: string
  277. description: Find secrets based on tags.
  278. type: object
  279. type: object
  280. rewrite:
  281. description: |-
  282. Used to rewrite secret Keys after getting them from the secret Provider
  283. Multiple Rewrite operations can be provided. They are applied in a layered order (first to last)
  284. items:
  285. maxProperties: 1
  286. minProperties: 1
  287. properties:
  288. merge:
  289. description: |-
  290. Used to merge key/values in one single Secret
  291. The resulting key will contain all values from the specified secrets
  292. properties:
  293. conflictPolicy:
  294. default: Error
  295. description: Used to define the policy to use in conflict
  296. resolution.
  297. type: string
  298. into:
  299. default: ""
  300. description: |-
  301. Used to define the target key of the merge operation.
  302. Required if strategy is JSON. Ignored otherwise.
  303. type: string
  304. priority:
  305. description: Used to define key priority in conflict
  306. resolution.
  307. items:
  308. type: string
  309. type: array
  310. strategy:
  311. default: Extract
  312. description: Used to define the strategy to use in
  313. the merge operation.
  314. type: string
  315. type: object
  316. regexp:
  317. description: |-
  318. Used to rewrite with regular expressions.
  319. The resulting key will be the output of a regexp.ReplaceAll operation.
  320. properties:
  321. source:
  322. description: Used to define the regular expression
  323. of a re.Compiler.
  324. type: string
  325. target:
  326. description: Used to define the target pattern of
  327. a ReplaceAll operation.
  328. type: string
  329. required:
  330. - source
  331. - target
  332. type: object
  333. transform:
  334. description: |-
  335. Used to apply string transformation on the secrets.
  336. The resulting key will be the output of the template applied by the operation.
  337. properties:
  338. template:
  339. description: |-
  340. Used to define the template to apply on the secret name.
  341. `.value ` will specify the secret name in the template.
  342. type: string
  343. required:
  344. - template
  345. type: object
  346. type: object
  347. type: array
  348. sourceRef:
  349. description: |-
  350. SourceRef points to a store or generator
  351. which contains secret values ready to use.
  352. Use this in combination with Extract or Find pull values out of
  353. a specific SecretStore.
  354. When sourceRef points to a generator Extract or Find is not supported.
  355. The generator returns a static map of values
  356. maxProperties: 1
  357. minProperties: 1
  358. properties:
  359. generatorRef:
  360. description: GeneratorRef points to a generator custom resource.
  361. properties:
  362. apiVersion:
  363. default: generators.external-secrets.io/v1alpha1
  364. description: Specify the apiVersion of the generator
  365. resource
  366. type: string
  367. kind:
  368. description: Specify the Kind of the generator resource
  369. enum:
  370. - ACRAccessToken
  371. - ClusterGenerator
  372. - CloudsmithAccessToken
  373. - ECRAuthorizationToken
  374. - Fake
  375. - GCRAccessToken
  376. - GithubAccessToken
  377. - QuayAccessToken
  378. - Password
  379. - SSHKey
  380. - STSSessionToken
  381. - UUID
  382. - VaultDynamicSecret
  383. - Webhook
  384. - Grafana
  385. - MFA
  386. type: string
  387. name:
  388. description: Specify the name of the generator resource
  389. maxLength: 253
  390. minLength: 1
  391. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  392. type: string
  393. required:
  394. - kind
  395. - name
  396. type: object
  397. storeRef:
  398. description: SecretStoreRef defines which SecretStore to
  399. fetch the ExternalSecret data.
  400. properties:
  401. kind:
  402. description: |-
  403. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  404. Defaults to `SecretStore`
  405. enum:
  406. - SecretStore
  407. - ClusterSecretStore
  408. type: string
  409. name:
  410. description: Name of the SecretStore resource
  411. maxLength: 253
  412. minLength: 1
  413. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  414. type: string
  415. type: object
  416. type: object
  417. type: object
  418. type: array
  419. refreshInterval:
  420. default: 1h
  421. description: |-
  422. RefreshInterval is the amount of time before the values are read again from the SecretStore provider,
  423. specified as Golang Duration strings.
  424. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h"
  425. Example values: "1h", "2h30m", "10s"
  426. May be set to zero to fetch and create it once. Defaults to 1h.
  427. type: string
  428. refreshPolicy:
  429. description: |-
  430. RefreshPolicy determines how the ExternalSecret should be refreshed:
  431. - CreatedOnce: Creates the Secret only if it does not exist and does not update it thereafter
  432. - Periodic: Synchronizes the Secret from the external source at regular intervals specified by refreshInterval.
  433. No periodic updates occur if refreshInterval is 0.
  434. - OnChange: Only synchronizes the Secret when the ExternalSecret's metadata or specification changes
  435. enum:
  436. - CreatedOnce
  437. - Periodic
  438. - OnChange
  439. type: string
  440. secretStoreRef:
  441. description: SecretStoreRef defines which SecretStore to fetch the
  442. ExternalSecret data.
  443. properties:
  444. kind:
  445. description: |-
  446. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  447. Defaults to `SecretStore`
  448. enum:
  449. - SecretStore
  450. - ClusterSecretStore
  451. type: string
  452. name:
  453. description: Name of the SecretStore resource
  454. maxLength: 253
  455. minLength: 1
  456. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  457. type: string
  458. type: object
  459. target:
  460. default:
  461. creationPolicy: Owner
  462. deletionPolicy: Retain
  463. description: |-
  464. ExternalSecretTarget defines the Kubernetes Secret to be created
  465. There can be only one target per ExternalSecret.
  466. properties:
  467. creationPolicy:
  468. default: Owner
  469. description: |-
  470. CreationPolicy defines rules on how to create the resulting Secret.
  471. Defaults to "Owner"
  472. enum:
  473. - Owner
  474. - Orphan
  475. - Merge
  476. - None
  477. type: string
  478. deletionPolicy:
  479. default: Retain
  480. description: |-
  481. DeletionPolicy defines rules on how to delete the resulting Secret.
  482. Defaults to "Retain"
  483. enum:
  484. - Delete
  485. - Merge
  486. - Retain
  487. type: string
  488. immutable:
  489. description: Immutable defines if the final secret will be immutable
  490. type: boolean
  491. name:
  492. description: |-
  493. The name of the Secret resource to be managed.
  494. Defaults to the .metadata.name of the ExternalSecret resource
  495. maxLength: 253
  496. minLength: 1
  497. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  498. type: string
  499. template:
  500. description: Template defines a blueprint for the created Secret
  501. resource.
  502. properties:
  503. data:
  504. additionalProperties:
  505. type: string
  506. type: object
  507. engineVersion:
  508. default: v2
  509. description: |-
  510. EngineVersion specifies the template engine version
  511. that should be used to compile/execute the
  512. template specified in .data and .templateFrom[].
  513. enum:
  514. - v2
  515. type: string
  516. mergePolicy:
  517. default: Replace
  518. enum:
  519. - Replace
  520. - Merge
  521. type: string
  522. metadata:
  523. description: ExternalSecretTemplateMetadata defines metadata
  524. fields for the Secret blueprint.
  525. properties:
  526. annotations:
  527. additionalProperties:
  528. type: string
  529. type: object
  530. finalizers:
  531. items:
  532. type: string
  533. type: array
  534. labels:
  535. additionalProperties:
  536. type: string
  537. type: object
  538. type: object
  539. templateFrom:
  540. items:
  541. properties:
  542. configMap:
  543. properties:
  544. items:
  545. description: A list of keys in the ConfigMap/Secret
  546. to use as templates for Secret data
  547. items:
  548. properties:
  549. key:
  550. description: A key in the ConfigMap/Secret
  551. maxLength: 253
  552. minLength: 1
  553. pattern: ^[-._a-zA-Z0-9]+$
  554. type: string
  555. templateAs:
  556. default: Values
  557. enum:
  558. - Values
  559. - KeysAndValues
  560. type: string
  561. required:
  562. - key
  563. type: object
  564. type: array
  565. name:
  566. description: The name of the ConfigMap/Secret resource
  567. maxLength: 253
  568. minLength: 1
  569. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  570. type: string
  571. required:
  572. - items
  573. - name
  574. type: object
  575. literal:
  576. type: string
  577. secret:
  578. properties:
  579. items:
  580. description: A list of keys in the ConfigMap/Secret
  581. to use as templates for Secret data
  582. items:
  583. properties:
  584. key:
  585. description: A key in the ConfigMap/Secret
  586. maxLength: 253
  587. minLength: 1
  588. pattern: ^[-._a-zA-Z0-9]+$
  589. type: string
  590. templateAs:
  591. default: Values
  592. enum:
  593. - Values
  594. - KeysAndValues
  595. type: string
  596. required:
  597. - key
  598. type: object
  599. type: array
  600. name:
  601. description: The name of the ConfigMap/Secret resource
  602. maxLength: 253
  603. minLength: 1
  604. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  605. type: string
  606. required:
  607. - items
  608. - name
  609. type: object
  610. target:
  611. default: Data
  612. enum:
  613. - Data
  614. - Annotations
  615. - Labels
  616. type: string
  617. type: object
  618. type: array
  619. type:
  620. type: string
  621. type: object
  622. type: object
  623. type: object
  624. status:
  625. properties:
  626. binding:
  627. description: Binding represents a servicebinding.io Provisioned Service
  628. reference to the secret
  629. properties:
  630. name:
  631. default: ""
  632. description: |-
  633. Name of the referent.
  634. This field is effectively required, but due to backwards compatibility is
  635. allowed to be empty. Instances of this type with an empty value here are
  636. almost certainly wrong.
  637. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  638. type: string
  639. type: object
  640. x-kubernetes-map-type: atomic
  641. conditions:
  642. items:
  643. properties:
  644. lastTransitionTime:
  645. format: date-time
  646. type: string
  647. message:
  648. type: string
  649. reason:
  650. type: string
  651. status:
  652. type: string
  653. type:
  654. type: string
  655. required:
  656. - status
  657. - type
  658. type: object
  659. type: array
  660. refreshTime:
  661. description: |-
  662. refreshTime is the time and date the external secret was fetched and
  663. the target secret updated
  664. format: date-time
  665. nullable: true
  666. type: string
  667. syncedResourceVersion:
  668. description: SyncedResourceVersion keeps track of the last synced
  669. version
  670. type: string
  671. type: object
  672. type: object
  673. selectableFields:
  674. - jsonPath: .spec.secretStoreRef.name
  675. - jsonPath: .spec.secretStoreRef.kind
  676. - jsonPath: .spec.target.name
  677. - jsonPath: .spec.refreshInterval
  678. served: true
  679. storage: true
  680. subresources:
  681. status: {}
  682. - additionalPrinterColumns:
  683. - jsonPath: .spec.secretStoreRef.kind
  684. name: StoreType
  685. type: string
  686. - jsonPath: .spec.secretStoreRef.name
  687. name: Store
  688. type: string
  689. - jsonPath: .spec.refreshInterval
  690. name: Refresh Interval
  691. type: string
  692. - jsonPath: .status.conditions[?(@.type=="Ready")].reason
  693. name: Status
  694. type: string
  695. - jsonPath: .status.conditions[?(@.type=="Ready")].status
  696. name: Ready
  697. type: string
  698. deprecated: true
  699. name: v1beta1
  700. schema:
  701. openAPIV3Schema:
  702. description: ExternalSecret is the Schema for the external-secrets API.
  703. properties:
  704. apiVersion:
  705. description: |-
  706. APIVersion defines the versioned schema of this representation of an object.
  707. Servers should convert recognized schemas to the latest internal value, and
  708. may reject unrecognized values.
  709. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  710. type: string
  711. kind:
  712. description: |-
  713. Kind is a string value representing the REST resource this object represents.
  714. Servers may infer this from the endpoint the client submits requests to.
  715. Cannot be updated.
  716. In CamelCase.
  717. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  718. type: string
  719. metadata:
  720. type: object
  721. spec:
  722. description: ExternalSecretSpec defines the desired state of ExternalSecret.
  723. properties:
  724. data:
  725. description: Data defines the connection between the Kubernetes Secret
  726. keys and the Provider data
  727. items:
  728. description: ExternalSecretData defines the connection between the
  729. Kubernetes Secret key (spec.data.<key>) and the Provider data.
  730. properties:
  731. remoteRef:
  732. description: |-
  733. RemoteRef points to the remote secret and defines
  734. which secret (version/property/..) to fetch.
  735. properties:
  736. conversionStrategy:
  737. default: Default
  738. description: Used to define a conversion Strategy
  739. enum:
  740. - Default
  741. - Unicode
  742. type: string
  743. decodingStrategy:
  744. default: None
  745. description: Used to define a decoding Strategy
  746. enum:
  747. - Auto
  748. - Base64
  749. - Base64URL
  750. - None
  751. type: string
  752. key:
  753. description: Key is the key used in the Provider, mandatory
  754. type: string
  755. metadataPolicy:
  756. default: None
  757. description: Policy for fetching tags/labels from provider
  758. secrets, possible options are Fetch, None. Defaults to
  759. None
  760. enum:
  761. - None
  762. - Fetch
  763. type: string
  764. property:
  765. description: Used to select a specific property of the Provider
  766. value (if a map), if supported
  767. type: string
  768. version:
  769. description: Used to select a specific version of the Provider
  770. value, if supported
  771. type: string
  772. required:
  773. - key
  774. type: object
  775. secretKey:
  776. description: The key in the Kubernetes Secret to store the value.
  777. maxLength: 253
  778. minLength: 1
  779. pattern: ^[-._a-zA-Z0-9]+$
  780. type: string
  781. sourceRef:
  782. description: |-
  783. SourceRef allows you to override the source
  784. from which the value will be pulled.
  785. maxProperties: 1
  786. minProperties: 1
  787. properties:
  788. generatorRef:
  789. description: |-
  790. GeneratorRef points to a generator custom resource.
  791. Deprecated: The generatorRef is not implemented in .data[].
  792. this will be removed with v1.
  793. properties:
  794. apiVersion:
  795. default: generators.external-secrets.io/v1alpha1
  796. description: Specify the apiVersion of the generator
  797. resource
  798. type: string
  799. kind:
  800. description: Specify the Kind of the generator resource
  801. enum:
  802. - ACRAccessToken
  803. - ClusterGenerator
  804. - ECRAuthorizationToken
  805. - Fake
  806. - GCRAccessToken
  807. - GithubAccessToken
  808. - QuayAccessToken
  809. - Password
  810. - SSHKey
  811. - STSSessionToken
  812. - UUID
  813. - VaultDynamicSecret
  814. - Webhook
  815. - Grafana
  816. type: string
  817. name:
  818. description: Specify the name of the generator resource
  819. maxLength: 253
  820. minLength: 1
  821. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  822. type: string
  823. required:
  824. - kind
  825. - name
  826. type: object
  827. storeRef:
  828. description: SecretStoreRef defines which SecretStore to
  829. fetch the ExternalSecret data.
  830. properties:
  831. kind:
  832. description: |-
  833. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  834. Defaults to `SecretStore`
  835. enum:
  836. - SecretStore
  837. - ClusterSecretStore
  838. type: string
  839. name:
  840. description: Name of the SecretStore resource
  841. maxLength: 253
  842. minLength: 1
  843. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  844. type: string
  845. type: object
  846. type: object
  847. required:
  848. - remoteRef
  849. - secretKey
  850. type: object
  851. type: array
  852. dataFrom:
  853. description: |-
  854. DataFrom is used to fetch all properties from a specific Provider data
  855. If multiple entries are specified, the Secret keys are merged in the specified order
  856. items:
  857. properties:
  858. extract:
  859. description: |-
  860. Used to extract multiple key/value pairs from one secret
  861. Note: Extract does not support sourceRef.Generator or sourceRef.GeneratorRef.
  862. properties:
  863. conversionStrategy:
  864. default: Default
  865. description: Used to define a conversion Strategy
  866. enum:
  867. - Default
  868. - Unicode
  869. type: string
  870. decodingStrategy:
  871. default: None
  872. description: Used to define a decoding Strategy
  873. enum:
  874. - Auto
  875. - Base64
  876. - Base64URL
  877. - None
  878. type: string
  879. key:
  880. description: Key is the key used in the Provider, mandatory
  881. type: string
  882. metadataPolicy:
  883. default: None
  884. description: Policy for fetching tags/labels from provider
  885. secrets, possible options are Fetch, None. Defaults to
  886. None
  887. enum:
  888. - None
  889. - Fetch
  890. type: string
  891. property:
  892. description: Used to select a specific property of the Provider
  893. value (if a map), if supported
  894. type: string
  895. version:
  896. description: Used to select a specific version of the Provider
  897. value, if supported
  898. type: string
  899. required:
  900. - key
  901. type: object
  902. find:
  903. description: |-
  904. Used to find secrets based on tags or regular expressions
  905. Note: Find does not support sourceRef.Generator or sourceRef.GeneratorRef.
  906. properties:
  907. conversionStrategy:
  908. default: Default
  909. description: Used to define a conversion Strategy
  910. enum:
  911. - Default
  912. - Unicode
  913. type: string
  914. decodingStrategy:
  915. default: None
  916. description: Used to define a decoding Strategy
  917. enum:
  918. - Auto
  919. - Base64
  920. - Base64URL
  921. - None
  922. type: string
  923. name:
  924. description: Finds secrets based on the name.
  925. properties:
  926. regexp:
  927. description: Finds secrets base
  928. type: string
  929. type: object
  930. path:
  931. description: A root path to start the find operations.
  932. type: string
  933. tags:
  934. additionalProperties:
  935. type: string
  936. description: Find secrets based on tags.
  937. type: object
  938. type: object
  939. rewrite:
  940. description: |-
  941. Used to rewrite secret Keys after getting them from the secret Provider
  942. Multiple Rewrite operations can be provided. They are applied in a layered order (first to last)
  943. items:
  944. maxProperties: 1
  945. minProperties: 1
  946. properties:
  947. regexp:
  948. description: |-
  949. Used to rewrite with regular expressions.
  950. The resulting key will be the output of a regexp.ReplaceAll operation.
  951. properties:
  952. source:
  953. description: Used to define the regular expression
  954. of a re.Compiler.
  955. type: string
  956. target:
  957. description: Used to define the target pattern of
  958. a ReplaceAll operation.
  959. type: string
  960. required:
  961. - source
  962. - target
  963. type: object
  964. transform:
  965. description: |-
  966. Used to apply string transformation on the secrets.
  967. The resulting key will be the output of the template applied by the operation.
  968. properties:
  969. template:
  970. description: |-
  971. Used to define the template to apply on the secret name.
  972. `.value ` will specify the secret name in the template.
  973. type: string
  974. required:
  975. - template
  976. type: object
  977. type: object
  978. type: array
  979. sourceRef:
  980. description: |-
  981. SourceRef points to a store or generator
  982. which contains secret values ready to use.
  983. Use this in combination with Extract or Find pull values out of
  984. a specific SecretStore.
  985. When sourceRef points to a generator Extract or Find is not supported.
  986. The generator returns a static map of values
  987. maxProperties: 1
  988. minProperties: 1
  989. properties:
  990. generatorRef:
  991. description: GeneratorRef points to a generator custom resource.
  992. properties:
  993. apiVersion:
  994. default: generators.external-secrets.io/v1alpha1
  995. description: Specify the apiVersion of the generator
  996. resource
  997. type: string
  998. kind:
  999. description: Specify the Kind of the generator resource
  1000. enum:
  1001. - ACRAccessToken
  1002. - ClusterGenerator
  1003. - ECRAuthorizationToken
  1004. - Fake
  1005. - GCRAccessToken
  1006. - GithubAccessToken
  1007. - QuayAccessToken
  1008. - Password
  1009. - SSHKey
  1010. - STSSessionToken
  1011. - UUID
  1012. - VaultDynamicSecret
  1013. - Webhook
  1014. - Grafana
  1015. type: string
  1016. name:
  1017. description: Specify the name of the generator resource
  1018. maxLength: 253
  1019. minLength: 1
  1020. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1021. type: string
  1022. required:
  1023. - kind
  1024. - name
  1025. type: object
  1026. storeRef:
  1027. description: SecretStoreRef defines which SecretStore to
  1028. fetch the ExternalSecret data.
  1029. properties:
  1030. kind:
  1031. description: |-
  1032. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  1033. Defaults to `SecretStore`
  1034. enum:
  1035. - SecretStore
  1036. - ClusterSecretStore
  1037. type: string
  1038. name:
  1039. description: Name of the SecretStore resource
  1040. maxLength: 253
  1041. minLength: 1
  1042. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1043. type: string
  1044. type: object
  1045. type: object
  1046. type: object
  1047. type: array
  1048. refreshInterval:
  1049. default: 1h
  1050. description: |-
  1051. RefreshInterval is the amount of time before the values are read again from the SecretStore provider,
  1052. specified as Golang Duration strings.
  1053. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h"
  1054. Example values: "1h", "2h30m", "10s"
  1055. May be set to zero to fetch and create it once. Defaults to 1h.
  1056. type: string
  1057. refreshPolicy:
  1058. description: |-
  1059. RefreshPolicy determines how the ExternalSecret should be refreshed:
  1060. - CreatedOnce: Creates the Secret only if it does not exist and does not update it thereafter
  1061. - Periodic: Synchronizes the Secret from the external source at regular intervals specified by refreshInterval.
  1062. No periodic updates occur if refreshInterval is 0.
  1063. - OnChange: Only synchronizes the Secret when the ExternalSecret's metadata or specification changes
  1064. enum:
  1065. - CreatedOnce
  1066. - Periodic
  1067. - OnChange
  1068. type: string
  1069. secretStoreRef:
  1070. description: SecretStoreRef defines which SecretStore to fetch the
  1071. ExternalSecret data.
  1072. properties:
  1073. kind:
  1074. description: |-
  1075. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  1076. Defaults to `SecretStore`
  1077. enum:
  1078. - SecretStore
  1079. - ClusterSecretStore
  1080. type: string
  1081. name:
  1082. description: Name of the SecretStore resource
  1083. maxLength: 253
  1084. minLength: 1
  1085. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1086. type: string
  1087. type: object
  1088. target:
  1089. default:
  1090. creationPolicy: Owner
  1091. deletionPolicy: Retain
  1092. description: |-
  1093. ExternalSecretTarget defines the Kubernetes Secret to be created
  1094. There can be only one target per ExternalSecret.
  1095. properties:
  1096. creationPolicy:
  1097. default: Owner
  1098. description: |-
  1099. CreationPolicy defines rules on how to create the resulting Secret.
  1100. Defaults to "Owner"
  1101. enum:
  1102. - Owner
  1103. - Orphan
  1104. - Merge
  1105. - None
  1106. type: string
  1107. deletionPolicy:
  1108. default: Retain
  1109. description: |-
  1110. DeletionPolicy defines rules on how to delete the resulting Secret.
  1111. Defaults to "Retain"
  1112. enum:
  1113. - Delete
  1114. - Merge
  1115. - Retain
  1116. type: string
  1117. immutable:
  1118. description: Immutable defines if the final secret will be immutable
  1119. type: boolean
  1120. name:
  1121. description: |-
  1122. The name of the Secret resource to be managed.
  1123. Defaults to the .metadata.name of the ExternalSecret resource
  1124. maxLength: 253
  1125. minLength: 1
  1126. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1127. type: string
  1128. template:
  1129. description: Template defines a blueprint for the created Secret
  1130. resource.
  1131. properties:
  1132. data:
  1133. additionalProperties:
  1134. type: string
  1135. type: object
  1136. engineVersion:
  1137. default: v2
  1138. description: |-
  1139. EngineVersion specifies the template engine version
  1140. that should be used to compile/execute the
  1141. template specified in .data and .templateFrom[].
  1142. enum:
  1143. - v2
  1144. type: string
  1145. mergePolicy:
  1146. default: Replace
  1147. enum:
  1148. - Replace
  1149. - Merge
  1150. type: string
  1151. metadata:
  1152. description: ExternalSecretTemplateMetadata defines metadata
  1153. fields for the Secret blueprint.
  1154. properties:
  1155. annotations:
  1156. additionalProperties:
  1157. type: string
  1158. type: object
  1159. labels:
  1160. additionalProperties:
  1161. type: string
  1162. type: object
  1163. type: object
  1164. templateFrom:
  1165. items:
  1166. properties:
  1167. configMap:
  1168. properties:
  1169. items:
  1170. description: A list of keys in the ConfigMap/Secret
  1171. to use as templates for Secret data
  1172. items:
  1173. properties:
  1174. key:
  1175. description: A key in the ConfigMap/Secret
  1176. maxLength: 253
  1177. minLength: 1
  1178. pattern: ^[-._a-zA-Z0-9]+$
  1179. type: string
  1180. templateAs:
  1181. default: Values
  1182. enum:
  1183. - Values
  1184. - KeysAndValues
  1185. type: string
  1186. required:
  1187. - key
  1188. type: object
  1189. type: array
  1190. name:
  1191. description: The name of the ConfigMap/Secret resource
  1192. maxLength: 253
  1193. minLength: 1
  1194. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1195. type: string
  1196. required:
  1197. - items
  1198. - name
  1199. type: object
  1200. literal:
  1201. type: string
  1202. secret:
  1203. properties:
  1204. items:
  1205. description: A list of keys in the ConfigMap/Secret
  1206. to use as templates for Secret data
  1207. items:
  1208. properties:
  1209. key:
  1210. description: A key in the ConfigMap/Secret
  1211. maxLength: 253
  1212. minLength: 1
  1213. pattern: ^[-._a-zA-Z0-9]+$
  1214. type: string
  1215. templateAs:
  1216. default: Values
  1217. enum:
  1218. - Values
  1219. - KeysAndValues
  1220. type: string
  1221. required:
  1222. - key
  1223. type: object
  1224. type: array
  1225. name:
  1226. description: The name of the ConfigMap/Secret resource
  1227. maxLength: 253
  1228. minLength: 1
  1229. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1230. type: string
  1231. required:
  1232. - items
  1233. - name
  1234. type: object
  1235. target:
  1236. default: Data
  1237. enum:
  1238. - Data
  1239. - Annotations
  1240. - Labels
  1241. type: string
  1242. type: object
  1243. type: array
  1244. type:
  1245. type: string
  1246. type: object
  1247. type: object
  1248. type: object
  1249. status:
  1250. properties:
  1251. binding:
  1252. description: Binding represents a servicebinding.io Provisioned Service
  1253. reference to the secret
  1254. properties:
  1255. name:
  1256. default: ""
  1257. description: |-
  1258. Name of the referent.
  1259. This field is effectively required, but due to backwards compatibility is
  1260. allowed to be empty. Instances of this type with an empty value here are
  1261. almost certainly wrong.
  1262. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1263. type: string
  1264. type: object
  1265. x-kubernetes-map-type: atomic
  1266. conditions:
  1267. items:
  1268. properties:
  1269. lastTransitionTime:
  1270. format: date-time
  1271. type: string
  1272. message:
  1273. type: string
  1274. reason:
  1275. type: string
  1276. status:
  1277. type: string
  1278. type:
  1279. type: string
  1280. required:
  1281. - status
  1282. - type
  1283. type: object
  1284. type: array
  1285. refreshTime:
  1286. description: |-
  1287. refreshTime is the time and date the external secret was fetched and
  1288. the target secret updated
  1289. format: date-time
  1290. nullable: true
  1291. type: string
  1292. syncedResourceVersion:
  1293. description: SyncedResourceVersion keeps track of the last synced
  1294. version
  1295. type: string
  1296. type: object
  1297. type: object
  1298. served: false
  1299. storage: false
  1300. subresources:
  1301. status: {}