external-secrets.io_externalsecrets.yaml 57 KB

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