external-secrets.io_externalsecrets.yaml 57 KB

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