external-secrets.io_externalsecrets.yaml 59 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301
  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. - 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. finalizers:
  529. items:
  530. type: string
  531. type: array
  532. labels:
  533. additionalProperties:
  534. type: string
  535. type: object
  536. type: object
  537. templateFrom:
  538. items:
  539. properties:
  540. configMap:
  541. properties:
  542. items:
  543. description: A list of keys in the ConfigMap/Secret
  544. to use as templates for Secret data
  545. items:
  546. properties:
  547. key:
  548. description: A key in the ConfigMap/Secret
  549. maxLength: 253
  550. minLength: 1
  551. pattern: ^[-._a-zA-Z0-9]+$
  552. type: string
  553. templateAs:
  554. default: Values
  555. enum:
  556. - Values
  557. - KeysAndValues
  558. type: string
  559. required:
  560. - key
  561. type: object
  562. type: array
  563. name:
  564. description: The name of the ConfigMap/Secret resource
  565. maxLength: 253
  566. minLength: 1
  567. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  568. type: string
  569. required:
  570. - items
  571. - name
  572. type: object
  573. literal:
  574. type: string
  575. secret:
  576. properties:
  577. items:
  578. description: A list of keys in the ConfigMap/Secret
  579. to use as templates for Secret data
  580. items:
  581. properties:
  582. key:
  583. description: A key in the ConfigMap/Secret
  584. maxLength: 253
  585. minLength: 1
  586. pattern: ^[-._a-zA-Z0-9]+$
  587. type: string
  588. templateAs:
  589. default: Values
  590. enum:
  591. - Values
  592. - KeysAndValues
  593. type: string
  594. required:
  595. - key
  596. type: object
  597. type: array
  598. name:
  599. description: The name of the ConfigMap/Secret resource
  600. maxLength: 253
  601. minLength: 1
  602. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  603. type: string
  604. required:
  605. - items
  606. - name
  607. type: object
  608. target:
  609. default: Data
  610. enum:
  611. - Data
  612. - Annotations
  613. - Labels
  614. type: string
  615. type: object
  616. type: array
  617. type:
  618. type: string
  619. type: object
  620. type: object
  621. type: object
  622. status:
  623. properties:
  624. binding:
  625. description: Binding represents a servicebinding.io Provisioned Service
  626. reference to the secret
  627. properties:
  628. name:
  629. default: ""
  630. description: |-
  631. Name of the referent.
  632. This field is effectively required, but due to backwards compatibility is
  633. allowed to be empty. Instances of this type with an empty value here are
  634. almost certainly wrong.
  635. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  636. type: string
  637. type: object
  638. x-kubernetes-map-type: atomic
  639. conditions:
  640. items:
  641. properties:
  642. lastTransitionTime:
  643. format: date-time
  644. type: string
  645. message:
  646. type: string
  647. reason:
  648. type: string
  649. status:
  650. type: string
  651. type:
  652. type: string
  653. required:
  654. - status
  655. - type
  656. type: object
  657. type: array
  658. refreshTime:
  659. description: |-
  660. refreshTime is the time and date the external secret was fetched and
  661. the target secret updated
  662. format: date-time
  663. nullable: true
  664. type: string
  665. syncedResourceVersion:
  666. description: SyncedResourceVersion keeps track of the last synced
  667. version
  668. type: string
  669. type: object
  670. type: object
  671. selectableFields:
  672. - jsonPath: .spec.secretStoreRef.name
  673. - jsonPath: .spec.secretStoreRef.kind
  674. - jsonPath: .spec.target.name
  675. - jsonPath: .spec.refreshInterval
  676. served: true
  677. storage: true
  678. subresources:
  679. status: {}
  680. - additionalPrinterColumns:
  681. - jsonPath: .spec.secretStoreRef.kind
  682. name: StoreType
  683. type: string
  684. - jsonPath: .spec.secretStoreRef.name
  685. name: Store
  686. type: string
  687. - jsonPath: .spec.refreshInterval
  688. name: Refresh Interval
  689. type: string
  690. - jsonPath: .status.conditions[?(@.type=="Ready")].reason
  691. name: Status
  692. type: string
  693. - jsonPath: .status.conditions[?(@.type=="Ready")].status
  694. name: Ready
  695. type: string
  696. deprecated: true
  697. name: v1beta1
  698. schema:
  699. openAPIV3Schema:
  700. description: ExternalSecret is the Schema for the external-secrets API.
  701. properties:
  702. apiVersion:
  703. description: |-
  704. APIVersion defines the versioned schema of this representation of an object.
  705. Servers should convert recognized schemas to the latest internal value, and
  706. may reject unrecognized values.
  707. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  708. type: string
  709. kind:
  710. description: |-
  711. Kind is a string value representing the REST resource this object represents.
  712. Servers may infer this from the endpoint the client submits requests to.
  713. Cannot be updated.
  714. In CamelCase.
  715. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  716. type: string
  717. metadata:
  718. type: object
  719. spec:
  720. description: ExternalSecretSpec defines the desired state of ExternalSecret.
  721. properties:
  722. data:
  723. description: Data defines the connection between the Kubernetes Secret
  724. keys and the Provider data
  725. items:
  726. description: ExternalSecretData defines the connection between the
  727. Kubernetes Secret key (spec.data.<key>) and the Provider data.
  728. properties:
  729. remoteRef:
  730. description: |-
  731. RemoteRef points to the remote secret and defines
  732. which secret (version/property/..) to fetch.
  733. properties:
  734. conversionStrategy:
  735. default: Default
  736. description: Used to define a conversion Strategy
  737. enum:
  738. - Default
  739. - Unicode
  740. type: string
  741. decodingStrategy:
  742. default: None
  743. description: Used to define a decoding Strategy
  744. enum:
  745. - Auto
  746. - Base64
  747. - Base64URL
  748. - None
  749. type: string
  750. key:
  751. description: Key is the key used in the Provider, mandatory
  752. type: string
  753. metadataPolicy:
  754. default: None
  755. description: Policy for fetching tags/labels from provider
  756. secrets, possible options are Fetch, None. Defaults to
  757. None
  758. enum:
  759. - None
  760. - Fetch
  761. type: string
  762. property:
  763. description: Used to select a specific property of the Provider
  764. value (if a map), if supported
  765. type: string
  766. version:
  767. description: Used to select a specific version of the Provider
  768. value, if supported
  769. type: string
  770. required:
  771. - key
  772. type: object
  773. secretKey:
  774. description: The key in the Kubernetes Secret to store the value.
  775. maxLength: 253
  776. minLength: 1
  777. pattern: ^[-._a-zA-Z0-9]+$
  778. type: string
  779. sourceRef:
  780. description: |-
  781. SourceRef allows you to override the source
  782. from which the value will be pulled.
  783. maxProperties: 1
  784. minProperties: 1
  785. properties:
  786. generatorRef:
  787. description: |-
  788. GeneratorRef points to a generator custom resource.
  789. Deprecated: The generatorRef is not implemented in .data[].
  790. this will be removed with v1.
  791. properties:
  792. apiVersion:
  793. default: generators.external-secrets.io/v1alpha1
  794. description: Specify the apiVersion of the generator
  795. resource
  796. type: string
  797. kind:
  798. description: Specify the Kind of the generator resource
  799. enum:
  800. - ACRAccessToken
  801. - ClusterGenerator
  802. - ECRAuthorizationToken
  803. - Fake
  804. - GCRAccessToken
  805. - GithubAccessToken
  806. - QuayAccessToken
  807. - Password
  808. - SSHKey
  809. - STSSessionToken
  810. - UUID
  811. - VaultDynamicSecret
  812. - Webhook
  813. - Grafana
  814. type: string
  815. name:
  816. description: Specify the name of the generator resource
  817. maxLength: 253
  818. minLength: 1
  819. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  820. type: string
  821. required:
  822. - kind
  823. - name
  824. type: object
  825. storeRef:
  826. description: SecretStoreRef defines which SecretStore to
  827. fetch the ExternalSecret data.
  828. properties:
  829. kind:
  830. description: |-
  831. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  832. Defaults to `SecretStore`
  833. enum:
  834. - SecretStore
  835. - ClusterSecretStore
  836. type: string
  837. name:
  838. description: Name of the SecretStore resource
  839. maxLength: 253
  840. minLength: 1
  841. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  842. type: string
  843. type: object
  844. type: object
  845. required:
  846. - remoteRef
  847. - secretKey
  848. type: object
  849. type: array
  850. dataFrom:
  851. description: |-
  852. DataFrom is used to fetch all properties from a specific Provider data
  853. If multiple entries are specified, the Secret keys are merged in the specified order
  854. items:
  855. properties:
  856. extract:
  857. description: |-
  858. Used to extract multiple key/value pairs from one secret
  859. Note: Extract does not support sourceRef.Generator or sourceRef.GeneratorRef.
  860. properties:
  861. conversionStrategy:
  862. default: Default
  863. description: Used to define a conversion Strategy
  864. enum:
  865. - Default
  866. - Unicode
  867. type: string
  868. decodingStrategy:
  869. default: None
  870. description: Used to define a decoding Strategy
  871. enum:
  872. - Auto
  873. - Base64
  874. - Base64URL
  875. - None
  876. type: string
  877. key:
  878. description: Key is the key used in the Provider, mandatory
  879. type: string
  880. metadataPolicy:
  881. default: None
  882. description: Policy for fetching tags/labels from provider
  883. secrets, possible options are Fetch, None. Defaults to
  884. None
  885. enum:
  886. - None
  887. - Fetch
  888. type: string
  889. property:
  890. description: Used to select a specific property of the Provider
  891. value (if a map), if supported
  892. type: string
  893. version:
  894. description: Used to select a specific version of the Provider
  895. value, if supported
  896. type: string
  897. required:
  898. - key
  899. type: object
  900. find:
  901. description: |-
  902. Used to find secrets based on tags or regular expressions
  903. Note: Find does not support sourceRef.Generator or sourceRef.GeneratorRef.
  904. properties:
  905. conversionStrategy:
  906. default: Default
  907. description: Used to define a conversion Strategy
  908. enum:
  909. - Default
  910. - Unicode
  911. type: string
  912. decodingStrategy:
  913. default: None
  914. description: Used to define a decoding Strategy
  915. enum:
  916. - Auto
  917. - Base64
  918. - Base64URL
  919. - None
  920. type: string
  921. name:
  922. description: Finds secrets based on the name.
  923. properties:
  924. regexp:
  925. description: Finds secrets base
  926. type: string
  927. type: object
  928. path:
  929. description: A root path to start the find operations.
  930. type: string
  931. tags:
  932. additionalProperties:
  933. type: string
  934. description: Find secrets based on tags.
  935. type: object
  936. type: object
  937. rewrite:
  938. description: |-
  939. Used to rewrite secret Keys after getting them from the secret Provider
  940. Multiple Rewrite operations can be provided. They are applied in a layered order (first to last)
  941. items:
  942. maxProperties: 1
  943. minProperties: 1
  944. properties:
  945. regexp:
  946. description: |-
  947. Used to rewrite with regular expressions.
  948. The resulting key will be the output of a regexp.ReplaceAll operation.
  949. properties:
  950. source:
  951. description: Used to define the regular expression
  952. of a re.Compiler.
  953. type: string
  954. target:
  955. description: Used to define the target pattern of
  956. a ReplaceAll operation.
  957. type: string
  958. required:
  959. - source
  960. - target
  961. type: object
  962. transform:
  963. description: |-
  964. Used to apply string transformation on the secrets.
  965. The resulting key will be the output of the template applied by the operation.
  966. properties:
  967. template:
  968. description: |-
  969. Used to define the template to apply on the secret name.
  970. `.value ` will specify the secret name in the template.
  971. type: string
  972. required:
  973. - template
  974. type: object
  975. type: object
  976. type: array
  977. sourceRef:
  978. description: |-
  979. SourceRef points to a store or generator
  980. which contains secret values ready to use.
  981. Use this in combination with Extract or Find pull values out of
  982. a specific SecretStore.
  983. When sourceRef points to a generator Extract or Find is not supported.
  984. The generator returns a static map of values
  985. maxProperties: 1
  986. minProperties: 1
  987. properties:
  988. generatorRef:
  989. description: GeneratorRef points to a generator custom resource.
  990. properties:
  991. apiVersion:
  992. default: generators.external-secrets.io/v1alpha1
  993. description: Specify the apiVersion of the generator
  994. resource
  995. type: string
  996. kind:
  997. description: Specify the Kind of the generator resource
  998. enum:
  999. - ACRAccessToken
  1000. - ClusterGenerator
  1001. - ECRAuthorizationToken
  1002. - Fake
  1003. - GCRAccessToken
  1004. - GithubAccessToken
  1005. - QuayAccessToken
  1006. - Password
  1007. - SSHKey
  1008. - STSSessionToken
  1009. - UUID
  1010. - VaultDynamicSecret
  1011. - Webhook
  1012. - Grafana
  1013. type: string
  1014. name:
  1015. description: Specify the name of the generator resource
  1016. maxLength: 253
  1017. minLength: 1
  1018. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1019. type: string
  1020. required:
  1021. - kind
  1022. - name
  1023. type: object
  1024. storeRef:
  1025. description: SecretStoreRef defines which SecretStore to
  1026. fetch the ExternalSecret data.
  1027. properties:
  1028. kind:
  1029. description: |-
  1030. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  1031. Defaults to `SecretStore`
  1032. enum:
  1033. - SecretStore
  1034. - ClusterSecretStore
  1035. type: string
  1036. name:
  1037. description: Name of the SecretStore resource
  1038. maxLength: 253
  1039. minLength: 1
  1040. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1041. type: string
  1042. type: object
  1043. type: object
  1044. type: object
  1045. type: array
  1046. refreshInterval:
  1047. default: 1h
  1048. description: |-
  1049. RefreshInterval is the amount of time before the values are read again from the SecretStore provider,
  1050. specified as Golang Duration strings.
  1051. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h"
  1052. Example values: "1h", "2h30m", "10s"
  1053. May be set to zero to fetch and create it once. Defaults to 1h.
  1054. type: string
  1055. refreshPolicy:
  1056. description: |-
  1057. RefreshPolicy determines how the ExternalSecret should be refreshed:
  1058. - CreatedOnce: Creates the Secret only if it does not exist and does not update it thereafter
  1059. - Periodic: Synchronizes the Secret from the external source at regular intervals specified by refreshInterval.
  1060. No periodic updates occur if refreshInterval is 0.
  1061. - OnChange: Only synchronizes the Secret when the ExternalSecret's metadata or specification changes
  1062. enum:
  1063. - CreatedOnce
  1064. - Periodic
  1065. - OnChange
  1066. type: string
  1067. secretStoreRef:
  1068. description: SecretStoreRef defines which SecretStore to fetch the
  1069. ExternalSecret data.
  1070. properties:
  1071. kind:
  1072. description: |-
  1073. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  1074. Defaults to `SecretStore`
  1075. enum:
  1076. - SecretStore
  1077. - ClusterSecretStore
  1078. type: string
  1079. name:
  1080. description: Name of the SecretStore resource
  1081. maxLength: 253
  1082. minLength: 1
  1083. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1084. type: string
  1085. type: object
  1086. target:
  1087. default:
  1088. creationPolicy: Owner
  1089. deletionPolicy: Retain
  1090. description: |-
  1091. ExternalSecretTarget defines the Kubernetes Secret to be created
  1092. There can be only one target per ExternalSecret.
  1093. properties:
  1094. creationPolicy:
  1095. default: Owner
  1096. description: |-
  1097. CreationPolicy defines rules on how to create the resulting Secret.
  1098. Defaults to "Owner"
  1099. enum:
  1100. - Owner
  1101. - Orphan
  1102. - Merge
  1103. - None
  1104. type: string
  1105. deletionPolicy:
  1106. default: Retain
  1107. description: |-
  1108. DeletionPolicy defines rules on how to delete the resulting Secret.
  1109. Defaults to "Retain"
  1110. enum:
  1111. - Delete
  1112. - Merge
  1113. - Retain
  1114. type: string
  1115. immutable:
  1116. description: Immutable defines if the final secret will be immutable
  1117. type: boolean
  1118. name:
  1119. description: |-
  1120. The name of the Secret resource to be managed.
  1121. Defaults to the .metadata.name of the ExternalSecret resource
  1122. maxLength: 253
  1123. minLength: 1
  1124. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1125. type: string
  1126. template:
  1127. description: Template defines a blueprint for the created Secret
  1128. resource.
  1129. properties:
  1130. data:
  1131. additionalProperties:
  1132. type: string
  1133. type: object
  1134. engineVersion:
  1135. default: v2
  1136. description: |-
  1137. EngineVersion specifies the template engine version
  1138. that should be used to compile/execute the
  1139. template specified in .data and .templateFrom[].
  1140. enum:
  1141. - v2
  1142. type: string
  1143. mergePolicy:
  1144. default: Replace
  1145. enum:
  1146. - Replace
  1147. - Merge
  1148. type: string
  1149. metadata:
  1150. description: ExternalSecretTemplateMetadata defines metadata
  1151. fields for the Secret blueprint.
  1152. properties:
  1153. annotations:
  1154. additionalProperties:
  1155. type: string
  1156. type: object
  1157. labels:
  1158. additionalProperties:
  1159. type: string
  1160. type: object
  1161. type: object
  1162. templateFrom:
  1163. items:
  1164. properties:
  1165. configMap:
  1166. properties:
  1167. items:
  1168. description: A list of keys in the ConfigMap/Secret
  1169. to use as templates for Secret data
  1170. items:
  1171. properties:
  1172. key:
  1173. description: A key in the ConfigMap/Secret
  1174. maxLength: 253
  1175. minLength: 1
  1176. pattern: ^[-._a-zA-Z0-9]+$
  1177. type: string
  1178. templateAs:
  1179. default: Values
  1180. enum:
  1181. - Values
  1182. - KeysAndValues
  1183. type: string
  1184. required:
  1185. - key
  1186. type: object
  1187. type: array
  1188. name:
  1189. description: The name of the ConfigMap/Secret resource
  1190. maxLength: 253
  1191. minLength: 1
  1192. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1193. type: string
  1194. required:
  1195. - items
  1196. - name
  1197. type: object
  1198. literal:
  1199. type: string
  1200. secret:
  1201. properties:
  1202. items:
  1203. description: A list of keys in the ConfigMap/Secret
  1204. to use as templates for Secret data
  1205. items:
  1206. properties:
  1207. key:
  1208. description: A key in the ConfigMap/Secret
  1209. maxLength: 253
  1210. minLength: 1
  1211. pattern: ^[-._a-zA-Z0-9]+$
  1212. type: string
  1213. templateAs:
  1214. default: Values
  1215. enum:
  1216. - Values
  1217. - KeysAndValues
  1218. type: string
  1219. required:
  1220. - key
  1221. type: object
  1222. type: array
  1223. name:
  1224. description: The name of the ConfigMap/Secret resource
  1225. maxLength: 253
  1226. minLength: 1
  1227. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1228. type: string
  1229. required:
  1230. - items
  1231. - name
  1232. type: object
  1233. target:
  1234. default: Data
  1235. enum:
  1236. - Data
  1237. - Annotations
  1238. - Labels
  1239. type: string
  1240. type: object
  1241. type: array
  1242. type:
  1243. type: string
  1244. type: object
  1245. type: object
  1246. type: object
  1247. status:
  1248. properties:
  1249. binding:
  1250. description: Binding represents a servicebinding.io Provisioned Service
  1251. reference to the secret
  1252. properties:
  1253. name:
  1254. default: ""
  1255. description: |-
  1256. Name of the referent.
  1257. This field is effectively required, but due to backwards compatibility is
  1258. allowed to be empty. Instances of this type with an empty value here are
  1259. almost certainly wrong.
  1260. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  1261. type: string
  1262. type: object
  1263. x-kubernetes-map-type: atomic
  1264. conditions:
  1265. items:
  1266. properties:
  1267. lastTransitionTime:
  1268. format: date-time
  1269. type: string
  1270. message:
  1271. type: string
  1272. reason:
  1273. type: string
  1274. status:
  1275. type: string
  1276. type:
  1277. type: string
  1278. required:
  1279. - status
  1280. - type
  1281. type: object
  1282. type: array
  1283. refreshTime:
  1284. description: |-
  1285. refreshTime is the time and date the external secret was fetched and
  1286. the target secret updated
  1287. format: date-time
  1288. nullable: true
  1289. type: string
  1290. syncedResourceVersion:
  1291. description: SyncedResourceVersion keeps track of the last synced
  1292. version
  1293. type: string
  1294. type: object
  1295. type: object
  1296. served: false
  1297. storage: false
  1298. subresources:
  1299. status: {}