external-secrets.io_externalsecrets.yaml 58 KB

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