external-secrets.io_externalsecrets.yaml 58 KB

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