external-secrets.io_externalsecrets.yaml 59 KB

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