external-secrets.io_externalsecrets.yaml 59 KB

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